在python中,如何使用requests
包通过禁用证书验证的代理发出https请求(类似于curl中的--proxy-insecure
键)?我的代码:
import requests
requests.get('https://ip.quotaguard.com', proxies={'https': 'login:password@eu-west-shield-01.quotaguard.com:9294'}, verify=False)
verify=False
也被使用,但这与问题无关,因为这是curl中的-k
开关的类似物,它在ip.quotaguard.com
上禁用验证,而在代理eu-west-shield-01.quotaguard.com:9294
上则不禁用验证
代码抛出错误ValueError: check_hostname needs a SSL context with either CERT_OPTIONAL or CERT_REQUIRED
通过curl,请求成功返回结果,以下是请求本身:
curl -x "https://login:password@eu-west-shield-01.quotaguard.com:9294" -L "https://ip.quotaguard.com" --proxy-insecure -k
如果有这种可能性,但不是在requests
中,请推荐另一个库
弗拉基米尔,我看到你用QuotaGuard来解决这个问题。很抱歉,我没有及时回答你的问题。我们只是在增加我们的支持,所以,再次为延误道歉
对于您的问题,下面链接中的第一句话是适用的:Requests是Python的一个很棒的HTTP库。它允许您根据每个请求指定经过身份验证的代理,以便您可以选择何时通过静态IP路由
https://devcenter.heroku.com/articles/quotaguardshield#https-proxy-python-django
请求库仅使用HTTP代理,而不使用HTTPS代理。因此,在选项中列出HTTPS时,您使用的是HTTPS请求的HTTP代理,而不是HTTP(S)请求的HTTPS代理。因此,在您的情况下,QuotaGuard Static将起作用,而不是QuotaGuard Shield(您的连接字符串看起来像是在屏蔽上)
这可能有助于检查QuotaGard Static和QuotaGard Shield之间的差异,因为它解释了为什么会出现这种情况:
https://www.quotaguard.com/why-is-quotaguard-shield-more-secure-than-quotaguard-static/
我希望这会有所帮助,如果您在安装方面需要更多帮助,请在这里告诉我,或者在Support上与我们联系
相关问题 更多 >
编程相关推荐