SlideShare a Scribd company logo
12
Most read
13
Most read
14
Most read
金曜落としてごめんなさい
東海道らぐLT @ OSC 2018 Tokyo/Spring
はしもとまさ
自己紹介
はしもとまさ(もしくは鹿)
●
東海道らぐ@関東案内人
次回横浜オフは 3/24 ダヨ!
●
たま〜にちびぎーこ保護者会
(別名:日本openSUSEユーザ会)
●
おーぷん万葉で自然言語処理について学んでいたり…?
ところで・・・
土曜日のみ出展?
(急遽変更!??)
かな変換システム「Genji」の展示?
(今気づいたw)
早い話が・・・
相変わらず
仕事炎上中だった…
…と愚痴ってても仕方ないので、、、
本日のお題は
BrowserMob-Proxy のお話
Browsermob-Proxy とは
●
HTTPの通信ログであるHARファイルを吐かせるプロキシ
●
Selenium とも連携可能でテスト自動化にも使用可能
●
元々はJavaで動いている
けど、REST API を使用した Python ラッパー等もある
●
Apache License 2.0 な OSS
…それにしてもネットの情報は案外英語ばかりですね…
ところで HAR ってなに?
●
JSONで書かれた、HTTP 通信ログ
●
ステータスコードをみたりとか時間計測もできたり
●
HAR を取得するくらいならブラウザからでもできるよ〜
Firefox なら
「開発ツールを表示」して
「ネットワーク」を
選択した状態で右クリック
⇛「HAR形式ですべて保存」
を選択
BrowserMob-Proxy はこんなふうに動く
ブラウザー
BrowserMob-Proxy
HARファイル
Webサーバー
まぁプロキシですよね…
Python ではこんな感じでかける
from browsermobproxy import Server
server = Server("path/to/browsermob-proxy")
server.start()
proxy = server.create_proxy()
from selenium import webdriver
profile = webdriver.FirefoxProfile()
profile.set_proxy(proxy.selenium_proxy())
driver = webdriver.Firefox(firefox_profile=profile)
proxy.new_har("google")
driver.get("http://www.google.co.uk")
proxy.har # returns a HAR JSON blob
server.stop()
driver.quit()
1. プロキシサーバー起動
2. Selenium へプロキシ登録
3. HAR 取得
4. プロキシサーバー停止
どうでしょ?
意外に簡単そうでしょ?
…だがしかし!!
落とし穴あり!!!
落とし穴 ①
通信ログちゃんと見たければ
「captureHeaders = True」にすべし!!!
proxy.new_har("google", options={'captureHeaders': True})
HTTPヘッダーみなけりゃわからないこと多いですし…
落とし穴 ②
SSL通信を見たい場合は
ブラウザに BrowserMob-Proxy の証明書を登録すべし
ssl-support/ca-certifcate-rsa.cer を
ブラウザへ登録しましょう!!!
GoogleChrome だけかも・・・?
(他のブラウザは必要か否か未確認です。。。)
BrowserMob-Proxy に同梱されてます
落とし穴 ③
最後の最後にしてしょーもないお話…
「server.stop()」としているはずなのに
実はその後もプロセスが生きている!???
…少なくとも私の環境では毎回生きてた(笑)
ps 叩いて、生きてたら殺してあげましょう〜!
いじょ。
BrowserMob-Proxy の説明終わりっ!!

More Related Content

PDF
Prophet入門【理論編】Facebookの時系列予測ツール
PDF
[AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計
PDF
使ってみて気づいた AGPL ライセンスの メリット・デメリット
PDF
【DL輪読会】GPT-4Technical Report
PPTX
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
PPTX
凡人の凡人による凡人のためのデザインパターン第一幕 Public
PDF
君はyarn.lockをコミットしているか?
PPTX
Boto3からの解放。python3の標準ライブラリのみでawsサービスを取り扱うには
Prophet入門【理論編】Facebookの時系列予測ツール
[AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計
使ってみて気づいた AGPL ライセンスの メリット・デメリット
【DL輪読会】GPT-4Technical Report
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
凡人の凡人による凡人のためのデザインパターン第一幕 Public
君はyarn.lockをコミットしているか?
Boto3からの解放。python3の標準ライブラリのみでawsサービスを取り扱うには

What's hot (20)

PDF
webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話
PDF
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
PPTX
GraphQLのsubscriptionで出来ること
PDF
Prophet入門【Python編】Facebookの時系列予測ツール
PDF
形態素解析
PDF
REST API のコツ
PDF
ソーシャルゲームのためのデータベース設計
PDF
開発速度が速い #とは(LayerX社内資料)
PPTX
関数型・オブジェクト指向 宗教戦争に疲れたなたに送るGo言語入門
ODP
Guide To AGPL
PPTX
Redmineでメトリクスを見える化する方法
PPTX
Redisの特徴と活用方法について
PDF
幾何を使った統計のはなし
PPTX
BigQuery Query Optimization クエリ高速化編
PDF
最近のディープラーニングのトレンド紹介_20200925
PPTX
Learning to summarize from human feedback
PPTX
10分でわかるOpenAPI V3
PDF
Autoware: ROSを用いた一般道自動運転向けソフトウェアプラットフォーム
PDF
画像認識の初歩、SIFT,SURF特徴量
PPTX
論文の書き方入門 2017
webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
GraphQLのsubscriptionで出来ること
Prophet入門【Python編】Facebookの時系列予測ツール
形態素解析
REST API のコツ
ソーシャルゲームのためのデータベース設計
開発速度が速い #とは(LayerX社内資料)
関数型・オブジェクト指向 宗教戦争に疲れたなたに送るGo言語入門
Guide To AGPL
Redmineでメトリクスを見える化する方法
Redisの特徴と活用方法について
幾何を使った統計のはなし
BigQuery Query Optimization クエリ高速化編
最近のディープラーニングのトレンド紹介_20200925
Learning to summarize from human feedback
10分でわかるOpenAPI V3
Autoware: ROSを用いた一般道自動運転向けソフトウェアプラットフォーム
画像認識の初歩、SIFT,SURF特徴量
論文の書き方入門 2017
Ad

Similar to BrowserMob-Proxyのお話 (10)

PDF
アヒルヤキを変換してみよう
PDF
CentOS6で起動画面をConohaさんにしてみた!
PDF
[参考情報]OSC広島のお知らせ
PDF
Ubuntuで起動画面を美雲あんずさんに変更してみた!
PDF
ホットな日本語入力技術のお勉強。〜 OSC 2016 Hamanako 編 〜
PDF
Prologで構文解析という昔話
PDF
20170805-osckyoto-lt-hiroshima
PDF
Nginxで日本語入力を遊んでみよう!
PDF
ホットな日本語技術の(ちょっとした)お勉強。
PDF
来週11/27(日) OSC広島のご紹介
アヒルヤキを変換してみよう
CentOS6で起動画面をConohaさんにしてみた!
[参考情報]OSC広島のお知らせ
Ubuntuで起動画面を美雲あんずさんに変更してみた!
ホットな日本語入力技術のお勉強。〜 OSC 2016 Hamanako 編 〜
Prologで構文解析という昔話
20170805-osckyoto-lt-hiroshima
Nginxで日本語入力を遊んでみよう!
ホットな日本語技術の(ちょっとした)お勉強。
来週11/27(日) OSC広島のご紹介
Ad

More from Masahiko Hashimoto (20)

PDF
OSSかな漢字変換『Egoistic Lily』の紹介&今後の展望
PDF
DNNを使用した新しいかな漢字変換『EgoisticLily』 その仕組みとは?
PDF
Dockerいろいろ使って思うこと
PDF
自作かな漢字変換「Genji」をつくったよ
PDF
DeepLearning入門以前
PDF
かな漢字変換ソフト「Genji」をつくってみた
PDF
あひるに焼かれた話と今後のおーぷん万葉について
PDF
おーぷん万葉プロジェクトとは
PDF
C++アプリをCmakeとEclipseで開発するお話
PDF
おーぷん万葉プロジェクトの進捗とIzumoのその後
PDF
京都発祥日本語入力「FreeWnn」は(今度こそ)どこまで賢くなれるか?
PDF
TrieとLOUDS??
PDF
C言語なWebSocketの遊び方。
PDF
続・Cannaをフォークしてみた
PDF
Cannaをフォークしてみた
PDF
秘伝:クラウドに開発環境をえいっ!と構築する方法
PDF
AzureとSUSE Studioのあつ~い関係
PDF
X window managerで遊んでみた
PDF
オープンソースで始める「超」VPN 構築術
PDF
自分色のLinuxホームサーバーを作ってみよう
OSSかな漢字変換『Egoistic Lily』の紹介&今後の展望
DNNを使用した新しいかな漢字変換『EgoisticLily』 その仕組みとは?
Dockerいろいろ使って思うこと
自作かな漢字変換「Genji」をつくったよ
DeepLearning入門以前
かな漢字変換ソフト「Genji」をつくってみた
あひるに焼かれた話と今後のおーぷん万葉について
おーぷん万葉プロジェクトとは
C++アプリをCmakeとEclipseで開発するお話
おーぷん万葉プロジェクトの進捗とIzumoのその後
京都発祥日本語入力「FreeWnn」は(今度こそ)どこまで賢くなれるか?
TrieとLOUDS??
C言語なWebSocketの遊び方。
続・Cannaをフォークしてみた
Cannaをフォークしてみた
秘伝:クラウドに開発環境をえいっ!と構築する方法
AzureとSUSE Studioのあつ~い関係
X window managerで遊んでみた
オープンソースで始める「超」VPN 構築術
自分色のLinuxホームサーバーを作ってみよう

BrowserMob-Proxyのお話