关于python3.6上传文件时报错:HTTPSConnectionPool(host='httpbin.org', port=443): Max retries exceeded w

Posted 小虎子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于python3.6上传文件时报错:HTTPSConnectionPool(host='httpbin.org', port=443): Max retries exceeded w相关的知识,希望对你有一定的参考价值。

第一个报错:

最近在练习post请求中上传文件时遇到了一个奇葩事情,两台电脑上写了一模一样的代码,一个运行正常,另一个一片红。

最后了解了一下原因以及解决办法。先记录下关键代码:

files = {"files":(r"F:\\test.txt","xixihaha")}        #直接将目标文件内容xixihaha通过文件test.txt进行上传
r = requests.post(url,files=files)
print(r.headers)
#前边的请求地址就不写了。

代码运行后报错如下:

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)\'),))

截图:

 

报错信息其实有很多,这是一关键信息。了解了一下 ,说是requests请求时证书认证失败的问题。

又找解决的方法;

加了一句这样的东西:verify=False

(加这个东西大概意思就是:将verify设置为False,Requests忽略对SSL证书的验证

然后代码就变成了 :

files = {"files":(r"F:\\test.txt","send sesss")}                           # 2、直接将目标文件内容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)

作用:禁用解除安全警告

然后那些鬼警告就不见了 。

有新问题,欢迎各位评论见,一起解决、一起学习、一起进步。

以上是关于关于python3.6上传文件时报错:HTTPSConnectionPool(host='httpbin.org', port=443): Max retries exceeded w的主要内容,如果未能解决你的问题,请参考以下文章

已解决:python3.6 使用pip命令安装tornado时报错。

python3.6使用opencv的resize方法不定时报错

安装Python3.6.4后,在使用numpy时报错RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibil

客户端上传日志文件时报错

导入(上传)Excel文件时报错空指针异常?

hadoop用put上传文件时报错