在python 3中使用requests库,对需要SSL认证的(https://)请求,代码在运行时报需要证书的错误。
那么解决以上问题,我们需要在post或者get请求中增加:verify=False
如下POST请求:
import requests
re = requests.post(url=self.url, json=self.data, headers=self.header, verify=False)
Get请求:
import requests
res = requests.get(self.url, params=self.params, headers=self.headers, timeout=float(timeout), verify=False)
此时运行代码会出现如下告警(尤其是做接口测试时,真的很烦人):
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)
解决方法:
requests.packages.urllib3.disable_warnings()
例如:
import requests
requests.packages.urllib3.disable_warnings()
re = requests.post(url=self.url, json=self.data, headers=self.header, verify=False)