使用此代码,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。

任何帮助将不胜感激。

最佳答案

使用:

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


要么:

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

关于python - 在urllib2中发出GET请求并欺骗User-Agent时出现问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3380183/

10-12 22:01