我需要的是:包含流量/响应的内容/文本的会话的代理服务器日志文件。我所拥有的内容:工作的服务器日志(*但没有头!)
在本地主机上工作的代理: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){“日志”:{“版本”:“1.2”,“创建者”:{“名称”:“BrowserMob代理”,“版本”:“2.1.4”,“评论”:“}”,“页”:{“id”:“页0",”BrowserMob“标题:”页0",“pageTimings”:{“注释”:“},”注释:“}”,“条目”:[],“评论”:“}}
到目前为止还不错,事情是这样的。
当我在new_har中添加任何param时,比如:
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)访问/代理/8081/har的
问题。原因:服务器错误
{JSONDecodeError}期望值:第1列(char 0)
看来我不能向代理服务器提出请求了?谢谢你的帮助
发布于 2019-10-05 00:16:12
这可能不会完全起作用,我正面临着同样的问题。我就是这样做的:
rput = requests.put('http://localhost:8080/proxy/8082/har',headers={"Content-Type":"application/json"},data={"captureHeaders":True,"captureCookies":True,"captureContent":True})它看起来像是Browsermob不喜欢使用params参数。相反,尝试用数据发送请求。
请注意,我仍然无法得到所有的标题和cookie,如果您知道它,我会很感激如果您让我知道:)
发布于 2021-02-16 05:01:59
尝试清除与代理实例关联的DNS缓存。
proxy_server.clear_dns_cache()https://stackoverflow.com/questions/58219506
复制相似问题