簡體   English   中英

如何從 Browsermob-proxy 獲取標頭?

[英]How do i get headers from Browsermob-proxy?

我需要什么:session 的代理服務器日志文件,其中包括流量/響應的內容/文本 我所擁有的:工作 silenium webdriver 和 browsermobproxy 服務器日志(*但沒有標題。)。

browsermob-proxy 在 localhost:8080/proxy/8081 上工作

部分代碼:

bmp_path = "path-to-browsermob-proxy.bat"
server = Server(path=bmp_path)
server.start()
proxy_server = server.create_proxy()
proxy_server.new_har()
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--proxy-server={}'.format(proxy_server.proxy))
browser = webdriver.Chrome("path-to-chromedriver.exe",chrome_options=chrome_options)
browser.get('www.demowebsite.com')

打印時:

pprint(proxy_server.har)

{"log":{"version":"1.2","creator":{"name":"BrowserMob 代理","version":"2.1.4","comment":""},"pages": [{"id":"Page 0","startedDateTime":"2019-10-03T15:17:20.385+03:00","title":"Page 0","pageTimings":{"comment":" "},"comment":""}],"entries":[],"comment":""}}

到目前為止一切順利,現在事情就是這樣。

當我將任何參數添加到new_har 時,例如:

proxy_server.new_har(options={'captureHeaders': True})

或者:

proxy_server.new_har('test') # for ref param

始終從服務器獲得 500 響應:

r = requests.put('%s/proxy/%s/har' % (self.host, self.port), payload)

訪問 /proxy/8081/har 時出現問題。 原因:服務器錯誤

{JSONDecodeError}預期值:第 1 行第 1 列(字符 0)

好像我無法向代理服務器發出請求? 感謝幫助者

這可能不會完全奏效,我面臨着同樣類型的問題。 這就是我所做的:

rput = requests.put('http://localhost:8080/proxy/8082/har',headers={"Content-Type":"application/json"},data={"captureHeaders":True,"captureCookies":True,"captureContent":True})

看起來 Browsermob 代理不喜歡使用 params 參數。 相反,請嘗試使用數據發送您的請求。

請注意,我仍然無法獲得所有標題和 cookies,如果您知道的話,如果您告訴我,我將不勝感激:)

嘗試清除與代理實例關聯的 DNS 緩存

proxy_server.clear_dns_cache()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM