如何强制requests
库使用特定的互联网协议版本来获取请求?或者可以用Python中的另一种方法更好地实现这一点吗?我可以,但我不想使用curl
…
阐明目的的示例:
import requests
r = requests.get('https://my-dyn-dns-service.domain/?hostname=my.domain',
auth = ('myUserName', 'my-password'))
我找到了一个强制 urrlib3 使用 ipv4 或 ipv6 的简约解决方案。 urrlib3 使用此方法为 Http 和 Https 创建新连接。您可以在其中指定您想要使用的任何 AF_FAMILY。
import socket
import requests.packages.urllib3.util.connection as urllib3_cn
def allowed_gai_family():
"""
https://github.com/shazow/urllib3/blob/master/urllib3/util/connection.py
"""
family = socket.AF_INET
if urllib3_cn.HAS_IPV6:
family = socket.AF_INET6 # force ipv6 only if it is available
return family
urllib3_cn.allowed_gai_family = allowed_gai_family
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)