PySe-016-Requests 訪問 HTTPS 網站報錯解決方法:SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)


在使用 requests 訪問htts請求:https:www.baidu.com 時,報錯信息如下:

 

請求代碼如下所示:

# encoding:utf-8

import requests

def baidu():
    r = requests.get('https://www.baidu.com')
    
    print(r.request.headers)
    print('\n\n')
    print(r.headers)
    print('\n\n')
    print(r.text)
    
if __name__ == '__main__':
    baidu()

 

SSL證書認證

requests是支持SSL證書認證的,同各個瀏覽器一樣,requests的SSL認證默認是開啟的。requests在請求時,若SSL證書驗證失敗,則會拋出SSLError。

可在requests請求時,通過 verify=False 參數關閉SSL認證,修改后的代碼如下所示:

# encoding:utf-8

import requests

def baidu():
    r = requests.get('https://www.baidu.com', verify=False)
    
    print(r.request.headers)
    print('\n\n')
    print(r.headers)
    print('\n\n')
    print(r.text)
    
if __name__ == '__main__':
    baidu()

 

修改后,再次請求,即可成功請求。如下所示。

 

 


免責聲明!

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



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