1. 概念
User Agent使用者代理,是一個标志,供服務端識别用戶端的作業系統和浏覽器情況。
比如,如果想判斷通路網站的浏覽器是否是微信浏覽器,就可以判斷使用者代理,來實作網頁僅能從微信自帶浏覽器通路。
另外,如果使用urllib2預設的代理字元串,可能會被某些網站屏蔽(不想被通過代碼通路)。
2. 在python中設定代理
代碼如下:
#!/usr/bin/python2.7
# coding=UTF-8
import urllib2
#變量區域
url="http://www.baidu.com/"#待下載下傳的網址
#方法區域
def downloadWebsite(url,retry_time=5,user_agent="temp"):
print("start to download:"+url+",the retry time is:"+str(retry_time))
header={"User-Agent:":user_agent}
request=urllib2.Request(url,headers=header)
try:
result=urllib2.urlopen(url).read()
except urllib2.URLError as ex:
if retry_time==1:
return "download error,the reason is:"+ex.reason+",error code"+str(ex.code)
else:
return downloadWebsite(url,retry_time-1)
return result
result=downloadWebsite(url)
print(result)
3. 更多設定
下面是一個通過Firefox浏覽器檢視的請求頭情況,可見Linux和Firefox字樣。根據上面的代碼header={"User-Agent:":user_agent} request=urllib2.Request(url,headers=header),我們應該可以修改其他請求頭的資訊。