Python 如何使用ipv6 https代理连接到网站
与使用ipv4代理连接到网站不同,我希望使用ipv6 https代理进行连接。我搜索了谷歌的答案,但没有找到任何(我理解的)。。。我发现最接近的是。。。(不使用ipv6代理,而是使用我自己的ipv6)。我愿意使用请求之外的东西来完成这项工作,但是,请求是首选的。稍后我将尝试线程Python 如何使用ipv6 https代理连接到网站,python,proxy,ipv6,Python,Proxy,Ipv6,与使用ipv4代理连接到网站不同,我希望使用ipv6 https代理进行连接。我搜索了谷歌的答案,但没有找到任何(我理解的)。。。我发现最接近的是。。。(不使用ipv6代理,而是使用我自己的ipv6)。我愿意使用请求之外的东西来完成这项工作,但是,请求是首选的。稍后我将尝试线程 import requests import socket from unittest.mock import patch orig_getaddrinfo = socket.getaddrinfo def geta
import requests
import socket
from unittest.mock import patch
orig_getaddrinfo = socket.getaddrinfo
def getaddrinfoIPv6(host, port, family=0, type=0, proto=0, flags=0):
return orig_getaddrinfo(host=host, port=port, family=socket.AF_INET6, type=type, proto=proto, flags=flags)
with patch('socket.getaddrinfo', side_effect=getaddrinfoIPv6):
r = requests.get('http://icanhazip.com')
print(r.text)
如果上述代码不起作用
import requests
from requests.packages.urllib3.exceptions import InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
proxy = {"http":"http://username:password@[2604:0180:2:3b5:9ebc:64e9:166c:d9f9]", "https":"https://username:password@[2604:0180:2:3b5:9ebc:64e9:166c:d9f9]"}
url = "https://icanhazip.com"
r = requests.get(url, proxies=proxy, verify=False)
print(r.content)
这是我的ipv6 https代理的当前提供程序,但是,他们对其客户端使用的是ipv4上的ipv6,因此这就是为什么此代码有效,而上述代码无效(如果使用相同的提供程序)。如果您使用的提供程序本身支持ipv6,则顶部的代码应该适用于您。您可以使用
示例curl命令:
import requests
proxy = {"http": "http://userame:password@168.235.109.30:18117", "https":"https://userame:password@168.235.109.30:18117"}
url = "https://icanhazip.com"
r = requests.get(url, proxies=proxy)
print(r.content)
您将看到示例结果:
curl -m 90 -x http://proxyUsername:proxyPassword@93.104.200.99:20000 http://api6.ipify.org
2a13:c206:2021:1522:9c5a:3ed5:156b:c1d0