При попытке найти прокси с помощью кода:
proxy_list = open(dir_path + "/proxies.txt", 'r+').readlines()
proxy_list = [item.replace("""\n""", "") for item in proxy_list]
proxy_pool = cycle(proxy_list)
url = "https://httpbin.org/ip"
for i in range(len(proxy_list)-1):
#Get a proxy from the pool
proxy = next(proxy_pool)
try:
response = requests.get(url,proxies={"http": proxy, "https": proxy})
working_proxies.append(proxy)
break
except:
pass;
Это просматривает список прокси-серверов, которые я создал сам, и продолжается до тех пор, пока не найду один, это работает нормально, но затем, когда я пытаюсь подключиться к веб-сайту с использованием запросов, я получаю ошибку.
Код:
l = requests.Session()
l.proxies = proxies
print("Checking Connection")
r = l.get("https://httpbin.org/ip")
print("your connecting through: ", r.text)
И ошибка из кода выше:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/urllib3/connectionpool.py", line 594, in urlopen
self._prepare_proxy(conn)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/urllib3/connectionpool.py", line 805, in _prepare_proxy
conn.connect()
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/urllib3/connection.py", line 308, in connect
self._tunnel()
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/http/client.py", line 906, in _tunnel
(version, code, message) = response._read_status()
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/http/client.py", line 265, in _read_status
raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response
Так что мне было интересно, есть ли лучший способ для работы с прокси в python и убедиться, что они работают?