Внезапно не могу подключиться к Twitter API с помощью пакета Twitter Python - PullRequest
0 голосов
/ 26 сентября 2019

Вчера все прошло гладко.Но вдруг сегодня я получаю длинное сообщение об ошибке.Мой код:

from twitter import *

token = "..."  
token_secret = "..."  
consumer_key = "..."  
consumer_secret = "..."  

t = Twitter(auth=OAuth(token, token_secret, consumer_key, consumer_secret), retry=True)

t.statuses.home_timeline()

Это дает мне длинное сообщение об ошибке, с окончательной строкой URLError: <urlopen error [Errno -2] Name or service not known>

Редактировать: Вот полный текст сообщения об ошибке:

gaierror                                  Traceback (most recent call last)
/usr/lib64/python3.6/urllib/request.py in do_open(self, http_class, req, **http_conn_args)
   1317                 h.request(req.get_method(), req.selector, req.data, headers,
-> 1318                           encode_chunked=req.has_header('Transfer-encoding'))
   1319             except OSError as err: # timeout error

/usr/lib64/python3.6/http/client.py in request(self, method, url, body, headers, encode_chunked)
   1238         """Send a complete request to the server."""
-> 1239         self._send_request(method, url, body, headers, encode_chunked)
   1240 

/usr/lib64/python3.6/http/client.py in _send_request(self, method, url, body, headers, encode_chunked)
   1284             body = _encode(body, 'body')
-> 1285         self.endheaders(body, encode_chunked=encode_chunked)
   1286 

/usr/lib64/python3.6/http/client.py in endheaders(self, message_body, encode_chunked)
   1233             raise CannotSendHeader()
-> 1234         self._send_output(message_body, encode_chunked=encode_chunked)
   1235 

/usr/lib64/python3.6/http/client.py in _send_output(self, message_body, encode_chunked)
   1025         del self._buffer[:]
-> 1026         self.send(msg)
   1027 

/usr/lib64/python3.6/http/client.py in send(self, data)
    963             if self.auto_open:
--> 964                 self.connect()
    965             else:

/usr/lib64/python3.6/http/client.py in connect(self)
   1391 
-> 1392             super().connect()
   1393 

/usr/lib64/python3.6/http/client.py in connect(self)
    935         self.sock = self._create_connection(
--> 936             (self.host,self.port), self.timeout, self.source_address)
    937         self.sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)

/usr/lib64/python3.6/socket.py in create_connection(address, timeout, source_address)
    703     err = None
--> 704     for res in getaddrinfo(host, port, 0, SOCK_STREAM):
    705         af, socktype, proto, canonname, sa = res

/usr/lib64/python3.6/socket.py in getaddrinfo(host, port, family, type, proto, flags)
    744     addrlist = []
--> 745     for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
    746         af, socktype, proto, canonname, sa = res

gaierror: [Errno -2] Name or service not known

During handling of the above exception, another exception occurred:

URLError                                  Traceback (most recent call last)
<ipython-input-158-181b63fa633f> in <module>
     12 #t.ratelimit.RateLimit()
     13 # Get your "home" timeline
---> 14 t.statuses.home_timeline()
     15 
     16 # Get a particular friend's timeline

~/Documents/DL/myenv/lib/python3.6/site-packages/twitter/api.py in __call__(self, **kwargs)
    332             return self._handle_response_with_retry(req, uri, arg_data, _timeout)
    333         else:
--> 334             return self._handle_response(req, uri, arg_data, _timeout)
    335 
    336     def _handle_response(self, req, uri, arg_data, _timeout=None):

~/Documents/DL/myenv/lib/python3.6/site-packages/twitter/api.py in _handle_response(self, req, uri, arg_data, _timeout)
    339             kwargs['timeout'] = _timeout
    340         try:
--> 341             handle = urllib_request.urlopen(req, **kwargs)
    342             if handle.headers['Content-Type'] in ['image/jpeg', 'image/png']:
    343                 return handle

/usr/lib64/python3.6/urllib/request.py in urlopen(url, data, timeout, cafile, capath, cadefault, context)
    221     else:
    222         opener = _opener
--> 223     return opener.open(url, data, timeout)
    224 
    225 def install_opener(opener):

/usr/lib64/python3.6/urllib/request.py in open(self, fullurl, data, timeout)
    524             req = meth(req)
    525 
--> 526         response = self._open(req, data)
    527 
    528         # post-process response

/usr/lib64/python3.6/urllib/request.py in _open(self, req, data)
    542         protocol = req.type
    543         result = self._call_chain(self.handle_open, protocol, protocol +
--> 544                                   '_open', req)
    545         if result:
    546             return result

/usr/lib64/python3.6/urllib/request.py in _call_chain(self, chain, kind, meth_name, *args)
    502         for handler in handlers:
    503             func = getattr(handler, meth_name)
--> 504             result = func(*args)
    505             if result is not None:
    506                 return result

/usr/lib64/python3.6/urllib/request.py in https_open(self, req)
   1359         def https_open(self, req):
   1360             return self.do_open(http.client.HTTPSConnection, req,
-> 1361                 context=self._context, check_hostname=self._check_hostname)
   1362 
   1363         https_request = AbstractHTTPHandler.do_request_

/usr/lib64/python3.6/urllib/request.py in do_open(self, http_class, req, **http_conn_args)
   1318                           encode_chunked=req.has_header('Transfer-encoding'))
   1319             except OSError as err: # timeout error
-> 1320                 raise URLError(err)
   1321             r = h.getresponse()
   1322         except:

URLError: <urlopen error [Errno -2] Name or service not known>
...