Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Urllib2移动用户代理_Python_Urllib2 - Fatal编程技术网

Python Urllib2移动用户代理

Python Urllib2移动用户代理,python,urllib2,Python,Urllib2,如果我使用Urllib2打开url,请使用以下命令: import urllib import urllib2 url = 'http://www.bbc.co.uk' user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)' values = {} headers = { 'User-Agent' : user_agent } data = urllib.urlencode(values) req = urllib2.Req

如果我使用Urllib2打开url,请使用以下命令:

import urllib
import urllib2

url = 'http://www.bbc.co.uk'
user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
values = {}
headers = { 'User-Agent' : user_agent }

data = urllib.urlencode(values)
req = urllib2.Request(url, data, headers)
response = urllib2.urlopen(req)
the_page = response.read()
一切正常

但是我想要移动版本,所以我将用户代理设置为:

user_agent = 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_2_1 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8G4 Safari/6533.18.5'
这就是我的iphone在进入测试页面并读取其标题时返回的内容

然而,如果我在用户代理设置为这个urllib的情况下运行上面的代码,我会发疯,并且似乎遵循一个不确定的302重定向循环,这在我访问iphone上的站点时不会发生

urllib2返回时显示了一堆调试信息,显示它遵循了很多302,最后:

urllib2.HTTPError: HTTP Error 301: The HTTP server returned a redirect error that would lead to an infinite loop.
The last 30x error message was:
Moved Permanently

任何想法都将受到感激。

您的问题是重新定向您请求的响应

请尝试此库以帮助您处理重定向URL:


带有请求的初始测试显示了很好的结果。但愿我几周前就知道这件事明天我会知道它是否能满足我的需要。非常感谢。