0

私は Python には慣れていますが、ブラウザーで使用されるすべてのプロトコルに精通しているわけではありません。セレンWebドライバーのプロキシをセットアップしようとはしていません。これが私が使用するコードです。

from browsermobproxy import Server, Client
server = Server('/Users/***/Downloads/browsermob-proxy-2.1.1/bin/browsermob-proxy')
server.start()
proxy = server.create_proxy()
profile  = webdriver.FirefoxProfile()
profile.set_proxy(proxy.selenium_proxy())
driver = webdriver.Firefox(firefox_profile=profile)
proxy.new_har("10.203.9.156") 
driver.get("http://10.203.9.156")
print json.dumps(proxy.har, indent =2) # returns a HAR JSON blob
server.stop()
driver.quit()

というエラーが表示されます

Unable to connect

これは、プロキシからの HAR です。

{
 "log": {
"comment": "", 
"creator": {
  "comment": "", 
  "version": "2.1.1", 
  "name": "BrowserMob Proxy"
}, 
"version": "1.2", 
"entries": [
  {
    "comment": "", 
    "serverIPAddress": "10.203.9.156", 
    "pageref": "10.203.9.156", 
    "startedDateTime": "2016-07-21T18:54:14.653-07:00", 
    "cache": {}, 
    "request": {
      "comment": "", 
      "cookies": [], 
      "url": "http://10.203.9.156/", 
      "queryString": [], 
      "headers": [], 
      "headersSize": 317, 
      "bodySize": 0, 
      "method": "GET", 
      "httpVersion": "HTTP/1.1"
    }, 
    "timings": {
      "comment": "", 
      "receive": 0, 
      "send": 0, 
      "ssl": -1, 
      "connect": 7, 
      "dns": 0, 
      "blocked": 0, 
      "wait": 4
    }, 
    "time": 12, 
    "response": {
      "status": 301, 
      "comment": "", 
      "cookies": [], 
      "statusText": "Moved Permanently", 
      "content": {
        "mimeType": "", 
        "comment": "", 
        "size": 0
      }, 
      "headers": [], 
      "headersSize": 160, 
      "redirectURL": "https://10.203.9.156/login.html", 
      "bodySize": 0, 
      "httpVersion": "HTTP/1.1"
    }
  }, 
  {
    "comment": "", 
    "serverIPAddress": "10.203.9.156", 
    "pageref": "10.203.9.156", 
    "startedDateTime": "2016-07-21T18:54:14.684-07:00", 
    "cache": {}, 
    "request": {
      "comment": "", 
      "cookies": [], 
      "url": "https://10.203.9.156", 
      "queryString": [], 
      "headers": [], 
      "headersSize": 0, 
      "bodySize": 0, 
      "method": "CONNECT", 
      "httpVersion": "HTTP/1.1"
    }, 
    "timings": {
      "comment": "", 
      "receive": 0, 
      "send": 0, 
      "ssl": -1, 
      "connect": 193, 
      "dns": 0, 
      "blocked": 0, 
      "wait": 0
    }, 
    "time": 194, 
    "response": {
      "status": 0, 
      "comment": "", 
      "cookies": [], 
      "_error": "Unable to connect to host", 
      "statusText": "", 
      "content": {
        "mimeType": "", 
        "comment": "", 
        "size": 0
      }, 
      "headers": [], 
      "headersSize": -1, 
      "redirectURL": "", 
      "bodySize": -1, 
      "httpVersion": "unknown"
    }
  }
], 
"pages": [
  {
    "pageTimings": {
      "comment": ""
    }, 
    "comment": "", 
    "title": "10.203.9.156", 
    "id": "10.203.9.156", 
    "startedDateTime": "2016-07-21T18:54:14.602-07:00"
  }
], 
"browser": {
  "comment": "", 
  "version": "46.0", 
  "name": "Firefox"
}
}
}

これらは、ip と google に対して得た 2 つの応答です。

10.203.9.156 Google COM

誰かがこれの理由とこれを修正する方法を説明できますか?

4

1 に答える 1

0

https://10.203.9.156/login.htmlによって提示された証明書がその IP アドレスに対して有効でないため、BMP がホストへの接続を拒否している可能性があります。組み込みモードとコマンドライン/スタンドアロン/REST API モードの両方で、trustAllServers証明書チェックを無効にするオプションがあります。Python ラッパーがそのオプションを公開しているかどうかはわかりません。Pyhton ラッパーのドキュメントを参照し、そうでない場合は PR を送信することをお勧めします。

于 2016-07-23T20:07:33.410 に答える