在urllib2中发出GET请求和欺骗用户代理的问题

时间:2010-07-31 23:30:18

标签: python urllib2

使用此代码,urllib2发出GET请求:

#!/usr/bin/python
import urllib2
req = urllib2.Request('http://www.google.fr')
req.add_header('User-Agent', '')
response = urllib2.urlopen(req)

使用这个(几乎相同),POST请求:

#!/usr/bin/python
import urllib2
headers = { 'User-Agent' : '' }
req = urllib2.Request('http://www.google.fr', '', headers)
response = urllib2.urlopen(req)

我的问题是:如何使用第二种代码样式发出GET请求?

文档(http://docs.python.org/release/2.6.5/library/urllib2.html)说明

  

标题应该是字典,并且   将被视为add_header()   用每个键和值调用   参数

是的,除了为了使用 headers 参数,您必须传递数据,并且在传递数据时,请求将成为POST。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:4)

使用:

req = urllib2.Request('http://www.google.fr', None, headers)

或:

req = urllib2.Request('http://www.google.fr', headers=headers)