问题描述
我试图提取URL请求的响应头。当我使用firebug分析URL请求的响应输出时,它会返回:
I'm trying to extract the response header of a URL request. When I use firebug to analyze the response output of a URL request, it returns:
Content-Type text/html
然而,当我使用python代码时:
However when I use the python code:
urllib2.urlopen(URL).info()
结果输出返回:
Content-Type: video/x-flv
我对python和一般的web编程都很陌生;任何有用的见解,非常感谢。此外,如果需要更多信息,请让我知道。
I am new to python, and to web programming in general; any helpful insight is much appreciated. Also, if more info is needed please let me know.
感谢您阅读本文
推荐答案
尝试像Firefox那样请求。您可以在Firebug中看到请求标题,因此将它们添加到您的请求对象中:
Try to request as Firefox does. You can see the request headers in Firebug, so add them to your request object:
import urllib2
request = urllib2.Request('http://your.tld/...')
request.add_header('User-Agent', 'some fake agent string')
request.add_header('Referer', 'fake referrer')
...
response = urllib2.urlopen(request)
# check content type:
print response.info().getheader('Content-Type')
还有HTTPCookieProcessor,它可以让它变得更好,但我不认为大多数情况下你都需要它。看看python的文档:
There's also HTTPCookieProcessor which can make it better, but I don't think you'll need it in most cases. Have a look at python's documentation:
这篇关于Python urllib2响应头的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!