2011-10-27 93 views
0

如果我使用的urllib2使用這個打開的網址:urllib2的移動用戶代理

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 

任何想法將受到歡迎。

回答