首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Browsermob获取标题?

如何从Browsermob获取标题?
EN

Stack Overflow用户
提问于 2019-10-03 12:50:09
回答 2查看 1.5K关注 0票数 0

我需要的是:包含流量/响应的内容/文本的会话的代理服务器日志文件。我所拥有的内容:工作的服务器日志(*但没有头!)

在本地主机上工作的代理:8080/proxy/8081

部分法典:

代码语言:javascript
复制
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')

印刷时:

代码语言:javascript
复制
pprint(proxy_server.har)

{“日志”:{“版本”:“1.2”,“创建者”:{“名称”:“BrowserMob代理”,“版本”:“2.1.4”,“评论”:“}”,“页”:{“id”:“页0",”BrowserMob“标题:”页0",“pageTimings”:{“注释”:“},”注释:“}”,“条目”:[],“评论”:“}}

到目前为止还不错,事情是这样的。

当我在new_har中添加任何param时,比如:

代码语言:javascript
复制
proxy_server.new_har(options={'captureHeaders': True})

或者:

代码语言:javascript
复制
proxy_server.new_har('test') # for ref param

请始终从服务器获得500个响应:

代码语言:javascript
复制
r = requests.put('%s/proxy/%s/har' % (self.host, self.port), payload)

访问/代理/8081/har的

问题。原因:服务器错误

{JSONDecodeError}期望值:第1列(char 0)

看来我不能向代理服务器提出请求了?谢谢你的帮助

EN

回答 2

Stack Overflow用户

发布于 2019-10-05 00:16:12

这可能不会完全起作用,我正面临着同样的问题。我就是这样做的:

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

它看起来像是Browsermob不喜欢使用params参数。相反,尝试用数据发送请求。

请注意,我仍然无法得到所有的标题和cookie,如果您知道它,我会很感激如果您让我知道:)

票数 1
EN

Stack Overflow用户

发布于 2021-02-16 05:01:59

尝试清除与代理实例关联的DNS缓存。

代码语言:javascript
复制
proxy_server.clear_dns_cache()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58219506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档