This is the script:
import requests
import json
import urlparse
from requests.adapters import HTTPAdapter
s = requests.Session()
s.mount('http://', HTTPAdapter(max_retries=1))
with open('proxies.txt') as proxies:
for line in proxies:
proxy=json.loads(line)
with open('urls.txt') as urls:
for line in urls:
url=line.rstrip()
data=requests.get(url, proxies=proxy)
data1=data.content
print data1
print {'http': line}
, jak widać, próbując uzyskać dostęp do listy adresów URL za pośrednictwem listy serwerów proxy. Oto plik urls.txt:Python: requests.exceptions.ConnectionError. Maksymalna liczba ponownych prób przekroczyła adres URL:
http://api.exip.org/?call=ip
Oto plik proxies.txt:
{"http":"http://107.17.92.18:8080"}
Mam ten pełnomocnika na www.hidemyass.com. Czy może to być złe proxy? Próbowałem kilku i to jest wynik. Uwaga: jeśli próbujesz replikować to, być może będziesz musiał zaktualizować serwer proxy do najnowszego na hidemyass.com. W końcu przestają działać. tutaj jest pełna błędów i traceback:
Traceback (most recent call last):
File "test.py", line 17, in <module>
data=requests.get(url, proxies=proxy)
File "/usr/local/lib/python2.7/dist-packages/requests/api.py", line 55, in get
return request('get', url, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/api.py", line 44, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 335, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 454, in send
history = [resp for resp in gen] if allow_redirects else []
File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 144, in resolve_redirects
allow_redirects=False,
File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 438, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/adapters.py", line 327, in send
raise ConnectionError(e)
requests.exceptions.ConnectionError: HTTPConnectionPool(host=u'219.231.143.96', port=18186): Max retries exceeded with url: http://www.google.com/ (Caused by <class 'httplib.BadStatusLine'>: '')
Czy wcięcie w twoim przykładzie jest prawidłowe? – Lukasa
Wierzę, że tak, dlaczego? – BigBoy1337
Ponieważ ciała twoich pętli 'for' nie są wcięte. Wygląda na to, że spowodowałoby to dla mnie Wrażenie Zwłoki. – Lukasa