當前位置:編程學習大全網 - 網站源碼 - python3中使用urllib進行https請求

python3中使用urllib進行https請求

剛入門python學習網絡爬蟲基礎,我使用的python版本是python3.6.4,學習的教程參考 Python爬蟲入門教程

python3.6的版本已經沒有urllib2這個庫了,所以我也不需要糾結urllib和urllib2的區別和應用場景

參考這篇官方文檔 HOWTO Fetch Internet Resources Using The urllib Package 。關於http(s)請求壹般就get和post兩種方式較為常用,所以寫了以下兩個小demo,url鏈接隨便找的,具體場景具體變化,可參考註釋中的基本思路

POST請求:

GET請求:

註意,

使用ssl創建未經驗證的上下文,在urlopen中需傳入上下文參數

urllib.request.urlopen(full_url, context=context)

這是Python 升級到 2.7.9 之後引入的壹個新特性,所以在使用urlopen打開https鏈接會遇到如下報錯:

ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:777)

所以,當使用urllib.urlopen打開壹個 https 鏈接時,需要先驗證壹次 SSL 證書

context = ssl._create_unverified_context()

或者或者導入ssl時關閉證書驗證

ssl._create_default_https_context =ssl._create_unverified_context

  • 上一篇:淘寶店有上貨軟件嗎?
  • 下一篇:如何設置服務器iis上傳文件大小
  • copyright 2024編程學習大全網