#python #proxy #ipv6
#python #прокси #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)
Вместо использования прокси ipv4 для подключения к веб-сайту я хотел бы подключиться с помощью прокси ipv6 https. Я просмотрел Google в поисках ответов и не нашел ни одного (насколько я понимаю)… Ближайший, который я нашел, это … (не использует прокси ipv6, вместо этого использует мой собственный ipv6). Я открыт для использования чего-либо помимо запросов для этого, однако запросы предпочтительнее. Я попытаюсь продолжить позже.
Ответ №1:
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 сам по себе, тогда код вверху должен работать для вас.
Ответ №2:
Вы можете использовать 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