關於python3.6上傳文件時報錯:HTTPSConnectionPool(host='***.org', port=443): Max retries exceeded wi...

第一個報錯:html

最近在練習post請求中上傳文件時遇到了一個奇葩事情,兩臺電腦上寫了如出一轍的代碼,一個運行正常,另外一個一片紅。python

最後瞭解了一下緣由以及解決辦法。先記錄下關鍵代碼:安全

files = {"files":(r"F:\test.txt","xixihaha")}        #直接將目標文件內容xixihaha經過文件test.txt進行上傳
r = requests.post(url,files=files)
print(r.headers)
#前邊的請求地址就不寫了。

代碼運行後報錯以下:post

requests.exceptions.SSLError: HTTPSConnectionPool(host='****.org', port=443): Max retries exceeded with url: /post (Caused by SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:833)'),))學習

截圖:url

 

報錯信息其實有不少,這是一關鍵信息。瞭解了一下 ,說是requests請求時證書認證失敗的問題。spa

又找解決的方法;code

加了一句這樣的東西:verify=Falsehtm

(加這個東西大概意思就是:將verify設置爲False,Requests忽略對SSL證書的驗證blog

而後代碼就變成了 :

files = {"files":(r"F:\test.txt","send sesss")} # 二、直接將目標文件內容xixihaha經過文件test.txt進行上傳。 r = requests.post(url,files=files,verify=False) print(r.headers) print(r.text)

而後再運行一下 ,成功了 。哈哈

 

第二個警告:

上邊的主要問題解決了 ,又冒出來了一個新的問題。

就是下邊的這個警告信息,以下:

InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings InsecureRequestWarning)

其實這東西是對我前邊設置了移除對SSL認證操做的警告。

 其解決辦法就是在前邊加上下邊兩句話,具體以下:

from requests.packages.urllib3.exceptions import InsecureRequestWarning requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

做用:禁用解除安全警告

而後那些鬼警告就不見了 。

有新問題,歡迎各位評論見,一塊兒解決、一塊兒學習、一塊兒進步。

相關文章
相關標籤/搜索