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)
我想使用ipv6 https代理而不是使用ipv4代理连接到网站。我已经在google上搜索了答案,但没有找到任何(据我了解)...我找到的最接近的是...(不使用ipv6代理,而是使用我自己的ipv6)。我愿意使用除请求之外的其他方法来执行此操作,但是,首选请求。我将稍后尝试穿线。
答案 0 :(得分:0)
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)
如果上面的代码不起作用
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)
这是我当前为我的ipv6 https代理提供程序,但是,他们在客户端上使用的是ipv6,而不是ipv4。一个完全支持ipv6的提供程序,那么顶部的代码应该对您有用。
答案 1 :(得分:0)
您可以使用https://proxyturk.net/ curl命令示例:
curl -m 90 -x http://proxyUsername:proxyPassword@93.104.200.99:20000 http://api6.ipify.org
您将看到示例结果:
2a13:c206:2021:1522:9c5a:3ed5:156b:c1d0