我有以下python脚本,我想发送“假”标题信息,以便我的应用程序就像是Firefox一样。我怎么能这样做?
import urllib, urllib2, cookielib
username = '****'
password = '****'
login_user = urllib.urlencode({'password' : password, 'username' : username})
jar = cookielib.FileCookieJar("cookies")
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(jar))
response = opener.open("http://www.***.com")
response = opener.open("http://www.***.com/login.php")
response = opener.open("http://www.***.com/welcome.php", login_user)
答案 0 :(得分:6)
使用addheaders()
对象上的opener
功能。
在开始打开页面之前,只需在创建开场白之后添加这一行:
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
http://docs.python.org/library/urllib2.html(它位于本文档的底部)
答案 1 :(得分:5)
你必须得到更低级别才能做到这一点。
request = urllib2.Request('http://stackoverflow.com')
request.add_header('User-Agent', 'FIREFOX LOL')
opener = urllib2.build_opener()
data = opener.open(request).read()
print data
未经测试。
答案 2 :(得分:1)
FWIW,根据您想要模仿Firefox的精确程度,设置User-Agent可能还不够(尽管这对大多数情况来说可能已经足够)。为了使您的脚本看起来像“正常”的Web浏览,您可能需要设置适当的Referer并对页面内容的其余部分(Javascript / CSS / Images / Flash /等)发出其他请求。有些事情,但可能不适合您的特定情况。