2016-04-14 3 views
2

Я пытаюсь развернуть мое приложение на pythonanywhere, но я не могу подключиться к твиттеру."[Errno 111] Connection failed" on Pythonanywhere

Здесь ошибка, что я получаю: -

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 Connection failed», по какой-либо причине оно игнорирует ваши настройки прокси, или они не являются правильными настройками (хотя для меня это выглядит совершенно нормально). Считаете ли вы использование 'запросов' вместо использования' urllib' напрямую? Настройка настроек прокси-сервера затруднительна, и «urllib» может быть сложно скопировать. 'request' проще в использовании, и он выбирает конфигурацию прокси-сервера из переменных среды, поэтому вам не нужно устанавливать это самостоятельно. –

+0

Ах, одна из возможных проблем в настройках прокси-сервера - возможно, вы на самом деле используете https, или конечная точка, которую вы нажимаете, перенаправляет вас на https? Вы можете попробовать добавить '{" https ":" http: //proxy.server: 3128 "}' к вашему словарю, чтобы справиться с этим. –

+1

Я попытался использовать '{" https ":" http: //proxy.server: 3128 "}', но это не сработало. Использование 'запросов' вместо' urllib' делало это. Вы можете сделать это как ответ! Благодаря! –

ответ

2

Копирование комментария на правильный ответ: получение прокси для работы с urllib может быть сложным. requests, в общем, намного проще в использовании, и он вытягивает настройки прокси-сервера из переменных окружения. Определенно рекомендуется!