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}
như bạn có thể thấy, nó đang cố gắng truy cập danh sách các url thông qua danh sách proxy. Dưới đây là file urls.txt:Python: requests.exceptions.ConnectionError. Số lần thử lại tối đa được vượt quá với url
http://api.exip.org/?call=ip
ở đây là các tập tin proxies.txt:
{"http":"http://107.17.92.18:8080"}
tôi đã proxy này tại www.hidemyass.com. Nó có thể là một proxy xấu? Tôi đã thử nhiều và đây là kết quả. Lưu ý: nếu bạn đang cố gắng để nhân rộng này, bạn có thể phải cập nhật các proxy để một gần đây tại hidemyass.com. Họ dường như ngừng làm việc cuối cùng. đây là lỗi đầy đủ và 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'>: '')
Thụt lề trong ví dụ của bạn có chính xác không? – Lukasa
Tôi tin như vậy, tại sao? – BigBoy1337
Vì các vòng của 'for' không bị thụt vào. Điều đó có vẻ như nó sẽ gây ra một IndentationError cho tôi. – Lukasa