對於服務器的識別的條件,header之類的使用


根據上一節的內容的銜接

一:urllib.request的使用

headers的一些屬性

User-Agent : 有些服務器或 Proxy 會通過該值來判斷是否是瀏覽器發出的請求
Content-Type : 在使用 REST 接口時,服務器會檢查該值,用來確定 HTTP Body 中的內容該怎樣解析。
application/xml : 在 XML RPC,如 RESTful/SOAP 調用時使用
application/json : 在 JSON RPC 調用時使用
application/x-www-form-urlencoded : 瀏覽器提交 Web 表單時使用
在使用服務器提供的 RESTful 或 SOAP 服務時, Content-Type 設置錯誤會導致服務器拒絕服務

根據上面的情況,我們可以知道,user-Agent是身份,有些服務器會根據身份來是否得到響應,所以則需要設置User-Agent u

對於獲得header,可以使用fiddler來獲取

如圖所示:

url = 'http://www.server.com/login'

user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'  
values = {'username' : 'cqc',  'password' : 'XXXX' }  
headers = { 'User-Agent' : user_agent }  
data =urllib.parse.urlencode(values)  
request =urllib.request .Request(url, data, headers)  
response = urllib.request.urlopen(request)  
page = response.read()
二:requests的高級使用
設置header是一樣的作用
例子:
headers={'user-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36'}
html=requests.get('http://oa.gzcc.cn/index.php?m=content&c=index&a=show&catid=42&id=967',headers=headers)
效果十一樣的
因為selenium是本來就是使用服務器,所以這個不需要設置


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM