我使用以下代码检索网页。
import requests
payload = {'name': temp} #I extract temp from another page.
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; rv:49.0) Gecko/20100101 Firefox/49.0','Accept': 'text/html, */*; q=0.01','Accept-Language': 'en-US,en;q=0.5', 'X-Requested-With': 'XMLHttpRequest' }
full_url = url.rstrip() + '/test/log?'
r = requests.get(full_url, params=payload, headers=headers, stream=True)
for line in r.iter_lines():
if line:
print line
但由于某些原因,http响应缺少标签内的文本 我发现如果我将请求发送给Burp,拦截它并等待3秒然后转发它,那么我得到包含标签内的文本的完整html页面.... 我仍然找不到原因。想法?
答案 0 :(得分:0)
来自请求文档:
默认情况下,当您发出请求时,响应的正文是 立即下载。您可以覆盖此行为并推迟 下载响应正文,直到您访问Response.content 属性与stream参数:
换句话说,请尝试删除stream=True
requests.get()
或
访问r.content
时,您将拥有所有内容,其中r
是回复。