小編給大家分享一下python訪問https的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
創(chuàng)新互聯(lián)技術(shù)團(tuán)隊(duì)十多年來致力于為客戶提供網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站、品牌網(wǎng)站制作、全網(wǎng)營(yíng)銷推廣、搜索引擎SEO優(yōu)化等服務(wù)。經(jīng)過多年發(fā)展,公司擁有經(jīng)驗(yàn)豐富的技術(shù)團(tuán)隊(duì),先后服務(wù)、推廣了上1000+網(wǎng)站,包括各類中小企業(yè)、企事單位、高校等機(jī)構(gòu)單位。
在爬蟲抓取網(wǎng)頁數(shù)據(jù)的時(shí)候,會(huì)直接利用http模塊來模擬瀏覽器訪問URL。在Python3中對(duì)Http模塊被封裝到http.client中了。
在http.client中有2個(gè)主要的類:HttpConnection和HttpsConnection。
HttpConnection主要處理Http協(xié)議的URL,HttpsConnection用來處理Https協(xié)議的URL。由于Https采用SSL對(duì)數(shù)據(jù)進(jìn)行加密,我們?cè)谂c服務(wù)器建立連接時(shí),需要制定我么的SSL協(xié)議,來獲取服務(wù)器的公開密鑰。簡(jiǎn)單代碼如下:
from http.client import HTTPSConnection import ssl myhost ="yourserver" ctx = ssl.SSLContext(ssl.PROTOCOL_SSLv23) #建立連接,獲取服務(wù)器的公開密鑰 conn = HTTPSConnection(host=myhost, context=ctx) #通過Http協(xié)議訪問,我們需要訪問的Https,并得到返回的代碼 #根據(jù)需要可以模擬https請(qǐng)求的header,cookie等 conn.request(method='GET', url='https://yourserver') res = conn.getresponse() print(res.read().decode('utf-8'))
看完了這篇文章,相信你對(duì)python訪問https的方法有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!