HTTPS-proxies nicht funktioniert mit Python-requests-Modul
Ich bin Recht neu in Python und ich habe mit Ihre Anfragen ein Modul als Ersatz für die PHP-cURL-Bibliothek. Mein code ist wie folgt
import requests
import json
import os
import urllib
import math
import sys
def main() :
url = 'https://api.com'
headers = {'Content-Type': 'application/json; charset=utf-8',
'User-Agent': '(iPhone; iOS 7.0.4; Scale/2.00)'}
d = {'token': "12345"}
proxies = {
"https": "https://27.254.52.99:8080",
}
post = json.dumps(d);
r = requests.post(url, data=post, headers=headers, proxies=proxies)
print r.json
if __name__ == "__main__":
main()
Allerdings werde ich begrüßt mit der folgenden Fehlermeldung:
File "test.py", line 42, in test
r = requests.post(url, data=post, headers=headers, proxies=proxies)
File "/Library/Python/2.7/site-packages/requests-2.2.1-py2.7.egg/requests/api.py", line 88, in post
return request('post', url, data=data, **kwargs)
File "/Library/Python/2.7/site-packages/requests-2.2.1-py2.7.egg/requests/api.py", line 44, in request
return session.request(method=method, url=url, **kwargs)
File "/Library/Python/2.7/site-packages/requests-2.2.1-py2.7.egg/requests/sessions.py", line 383, in request
resp = self.send(prep, **send_kwargs)
File "/Library/Python/2.7/site-packages/requests-2.2.1-py2.7.egg/requests/sessions.py", line 486, in send
r = adapter.send(request, **kwargs)
File "/Library/Python/2.7/site-packages/requests-2.2.1-py2.7.egg/requests/adapters.py", line 381, in send
raise ProxyError(e)
ProxyError: Cannot connect to proxy. Socket error: [Errno 54] Connection reset by peer.
Kann nicht finden, etwas seltsam über den code. Und der Fehler scheint zu zeigen, dass es eine Verbindung Problem. Tut curl oder wget arbeiten aus der gleichen Maschine?
Hier ist auch ein nettes tool zum spielen mit Proxys. charlesproxy.com
Hier ist auch ein nettes tool zum spielen mit Proxys. charlesproxy.com
InformationsquelleAutor Lance | 2014-06-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
HTTPS 'verbuggt' Anfragen. Ich weiß nicht, die Besonderheiten, aber Sie finden können ein paar andere Themen auf dieser website in Bezug auf die Frage. Auch ein Github-issue ist immer noch aktiv hier. Ich bin zu Ahnen, sind Sie mit den genannten Problemen gibt. Wenn ich völlig falsch, jemand korrigieren Sie mich.
Überprüfen:
Funktioniert, aber dann in Python:
Wie Sie sehen können, meine Adresse kommt, die bedeutet, dass der proxy gar nichts.
Ich verstehe nicht, warum erhalten Sie einen stacktrace. Vielleicht, weil Ihr API über HTTPS-als auch (?). Oder vielleicht Ihre API ist nur... nach unten.
Sowieso, der proxy funktioniert in Anfragen, wenn Ihr über HTTP.
Sorry für die er die Verzögerung. Ja, das funktionierte für mich. Danke.
https-proxy-Unterstützung wurde Hinzugefügt, mit github.com/shazow/urllib3/pull/170
Ihr Jungs alle was missverstanden https-proxy ist. das richtige Formular {'https': 'Beispiel.com:3128'}, Hinweis: der http-Teil
wie unterscheidet sich das von meiner 1. Beispiel? neben dieser Antwort wurde basierend auf einem bug
requests
hatte, vor 3 Jahren.InformationsquelleAutor cpb2