在urllib2中进行GET请求并伪造User-Agent的问题

1 投票
1 回答
560 浏览
提问于 2025-04-16 02:08

这段代码使用 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 参数,你必须传入 data,而一旦传入数据,请求就变成了 POST 请求。

任何帮助都将非常感谢。

1 个回答

4

使用:

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

或者:

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

撰写回答