Ich versuche, meine Anwendung auf pythonanywhere bereitzustellen, aber ich kann keine Verbindung zu Twitter herstellen."[Errno 111] Verbindung abgelehnt" auf Pythonanywhere
Hier ist der Fehler, die ich erhalte: -
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1687, in wsgi_app
response = self.full_dispatch_request()
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1360, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1358, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1344, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/home/btpraasta/btp_raasta/runServer.py", line 178, in remainingRequests
return (str)(getTrend.get_remainingRequests())
File "/home/btpraasta/btp_raasta/python/getTrend.py", line 20, in get_remainingRequests
data = get_json(url)
File "/home/btpraasta/btp_raasta/python/getTrend.py", line 10, in get_json
connection = urllib.urlopen(url, proxies=proxies)
File "/usr/lib/python2.7/urllib.py", line 87, in urlopen
return opener.open(url)
File "/usr/lib/python2.7/urllib.py", line 208, in open
return getattr(self, name)(url)
File "/usr/lib/python2.7/urllib.py", line 437, in open_https
h.endheaders(data)
File "/usr/lib/python2.7/httplib.py", line 975, in endheaders
self._send_output(message_body)
File "/usr/lib/python2.7/httplib.py", line 835, in _send_output
self.send(msg)
File "/usr/lib/python2.7/httplib.py", line 797, in send
self.connect()
File "/usr/lib/python2.7/httplib.py", line 1178, in connect
self.timeout, self.source_address)
File "/usr/lib/python2.7/socket.py", line 571, in create_connection
raise err
IOError: [Errno socket error] [Errno 111] Connection refused
Der Code, den ich dies auszuführen versuchen ist: -
proxies = {'http': 'http://proxy.server:3128'}
connection = urllib.urlopen(url, proxies=proxies)
data = connection.read()
Und ich versuche auch die folgende URL zugreifen: -
Ich habe ein kostenloses Konto auf pythonanywhere und verifiziert, dass die API Whitelist ist und ich den Proxy verwenden, wie von ihnen beschrieben er wieder (http://help.pythonanywhere.com/pages/403ForbiddenError).
Wenn Sie den Fehler "111 Connection refused" erhalten, ignoriert er Ihre Proxy-Einstellungen aus irgendeinem Grund, oder sie sind nicht die richtigen Einstellungen (obwohl sie für mich vollkommen OK aussehen). Haben Sie überlegt, 'Anfragen' zu verwenden, anstatt' urllib' direkt zu verwenden? Konfigurieren von Proxy-Einstellungen ist fiddly, und 'urllib' kann schwer zu codieren sein. 'requests' sind einfacher zu verwenden und es wählt die Proxy-Konfiguration aus den Umgebungsvariablen aus, so dass Sie diese nicht selbst einrichten müssen. –
Ah, ein mögliches Problem in den Proxy-Einstellungen - vielleicht verwenden Sie tatsächlich https, oder der Endpunkt, den Sie schlagen, leitet Sie zu https um? Sie könnten versuchen, '{" https ":" http: //proxy.server: 3128 "}' zu Ihrem Wörterbuch hinzuzufügen, um damit umzugehen. –
Ich habe versucht, '{" https ":" http: //proxy.server: 3128 "}' aber das hat nicht funktioniert. Mit 'Anfragen' anstelle von' Urllib' wurde das erledigt. Du kannst das als Antwort machen! Vielen Dank! –