;
【经验分析】urllib2使用"User-Agent"设置UA会无效原因的分析
(1)如下代码,尝试使用"User-Agent"设置UA为"test",会失败:
服务端接收到的UA信息为"Python-urllib/2.7",而不是"test"。kaiyun开云
urllib2.build_opener().open(urllib2.Request(url='http://192.168.1.200:1234', data=None, headers={'User-Agent': 'test'}))
(2)将headers修改为{'User-agent': 'test'},成功。
如附图1所示。原因是什么呢?
可以在urllib2.py中找到答案:
(1)首先urllib2默认会在headers列表中添加一个“User-agent”,其值为"Python-urllib/%s" % __version__,如附图2所示。
(2)在do_open()中对headers进行了规范化处理(.title()),代码如下。kaiyun