2016-04-14 20 views
2

私のアプリケーションをpythonanywhereにデプロイしようとしていますが、私はtwitterに接続できません。私が実行しようとしていますコードはこれです Pythonanywhereの[Errno 111] Connection refused "

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 
: - - :

ここ

は、私が取得していますエラーです

proxies = {'http': 'http://proxy.server:3128'} 
connection = urllib.urlopen(url, proxies=proxies) 
data = connection.read() 
そして、私は、次のURLにアクセスしようとしています: - ''

私はpythonanywhereに無料のアカウントを持っており、APIがホワイトリストに登録されていることを確認しました。 re(http://help.pythonanywhere.com/pages/403ForbiddenError)。

+1

「111接続が拒否されました」というエラーが表示された場合は、何らかの理由でプロキシ設定が無視されているか、設定が正しくありません。 'urllib'を直接使うのではなく' requests'を使うことを考えましたか?プロキシ設定を行うことは厄介なことであり、 'urllib'はコード化するのが難しいかもしれません。 'requests'は使いやすく、環境変数からプロキシ設定を取得するので、自分で設定する必要はありません。 –

+0

ああ、プロキシ設定で考えられる1つの問題 - 実際にはhttpsを使用しているか、ヒットしているエンドポイントがhttpsにリダイレクトしている可能性がありますか?これを処理するために '{" https ":" http://proxy.server:3128 "}'を辞書に追加することができます。 –

+1

'{" https ":" http://proxy.server:3128 "}'を使ってみましたが、うまくいきませんでした。 'urllib'の代わりに' requests'を使用することでそのことができました。あなたは答えとしてそれを作ることができます!ありがとう! –

答えて

2

私のコメントを適切な答えにコピーする:プロキシをurllibと一緒に使用するのは難しいことがあります。 requestsは一般にははるかに使いやすく、環境変数からプロキシ設定を取得します。間違いなくお勧め!

関連する問題