如何使用ipv6 https代理连接到网站

时间:2019-03-18 05:28:07

标签: python proxy ipv6

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)。我愿意使用除请求之外的其他方法来执行此操作,但是,首选请求。我将稍后尝试穿线。

2 个答案:

答案 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