問題タブ [browsermob-proxy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
732 参照

python - Selenium で browsermob-proxy を使用しようとすると、不適切な置換エラーが発生する

ubuntu システムで、python-selenium テストで「browsernmob-proxy」を使用しようとしています。こちらのドキュメントに従って、「browsermob-proxy」をインストールし、次の python コードを試しました。

しかし、これはすぐに次のエラーで失敗しました:

これを修正する方法はありますか?

私も使ってみました

代わりに、これは次のエラーで失敗しました:

補遺

  • おそらくbrowsermob-proxy、ポート 8088 または 8089 でチューニングすることはできたでしょう (正確にはわかりません) が、サンプル コードはまだ実行されません ....
0 投票する
2 に答える
309 参照

python - HTTP 応答で使用される base64 の種類は何ですか?

Browser Mob Proxy (browsermob-proxy Python パッケージを使用) を使用して、Selenium によって行われた HTTP 要求をキャッチしています。私の HAR ファイルには、次のように表示されます (Javascript ファイルである必要があります)。

ただし、を使用してデコードする場合textは、content

常に次のエラーが表示されます。

そのような文字列をデコードする適切な方法は何ですか?

追加するために編集

この問題は、rfc1341 の次の行から発生していると想定しています。「base64 データの CRLF シーケンスは、引用された印刷可能な改行に変換する必要がありますが、テキスト データを変換する場合のみ」というのは、デコードが画像で正常に機能するためです。

ただし、base64 データの CRLF シーケンスとは何か、およびその変換方法はまだ理解していません。

0 投票する
1 に答える
1181 参照

browsermob-proxy - browsermob-proxy にすべての応答本文を記録させるにはどうすればよいですか

browsermob-proxy とその har エクスポート機能に問題があります。一部の応答本文がログに記録されません (「テキスト」フィールド全体が欠落しています)

私のセットアップ (browsermob-proxy 2.1.4 を使用)

curl -X POST http://localhost:8080/proxy?port=9091

curl -X PUT "http://localhost:8080/proxy/9091/har?captureHeaders=true&captureCookies=true&captureContent=true"

いくつかの応答は問題ありません:

"response": { "status": 201, "statusText": "Created", "httpVersion": "HTTP/1.1", "cookies": [], "headers": [{ "name": "Cache-Control", "value": "max-age=0, no-cache, no-store" }, { "name": "Content-Type", "value": "application/json" }, { "name": "Date", "value": "Thu, 15 Feb 2018 13:07:39 GMT" }, { "name": "Location", "value": ... }, { "name": "Pragma", "value": "no-cache" }, { "name": "Render-Time", "value": "8" }, { "name": "Server", "value": "openresty" }, { "name": "Strict-Transport-Security", "value": "max-age=31536000; includeSubDomains" }, { "name": "transfer-encoding", "value": "chunked" }, { "name": "Connection", "value": "keep-alive" }], "content": { "size": 8607, "mimeType": "application/json", "text": "{ <actual json body> }", "comment": "" }, ...

しかし、そうでないものもあります (おそらく、それは特別なコンテンツ/MIME タイプですか? それとも、gzip コンテンツ エンコーディングですか?)

"response": { "status": 200, "statusText": "OK", "httpVersion": "HTTP/1.1", "cookies": [], "headers": [{ "name": "Cache-Control", "value": "max-age=0, no-cache, no-store" }, { "name": "Content-Encoding", "value": "gzip" }, { "name": "Content-Type", "value": "application/some.custom.type-v1+json" }, { "name": "Date", "value": "Thu, 15 Feb 2018 13:07:39 GMT" }, { "name": "Pragma", "value": "no-cache" }, { "name": "Render-Time", "value": "92" }, { "name": "Server", "value": "openresty" }, { "name": "Strict-Transport-Security", "value": "max-age=31536000; includeSubDomains" }, { "name": "Vary", "value": "Accept-Encoding" }, { "name": "Content-Length", "value": "1978" }, { "name": "Connection", "value": "keep-alive" }], "content": { "size": 7429, "mimeType": "application/some.custom.type-v1+json", "comment": "" < there's nothing else here!! > }, "redirectURL": "", "headersSize": 444, "bodySize": 1978, "comment": "" }, ...

そうそう、どちらのリクエストも https 経由であり、MITM を使用しています。