python调用bitly api出错

来源:互联网 发布:杭州擎洲软件 编辑:程序博客网 时间:2024/06/05 18:32

前言

使用python调用bitly 的api对长链接进行缩短时,发生错误。

源代码

    def getShortLink(url):        b = bitlyapi.BitLy(bitly_user, api_key)        res = b.shorten(longUrl=url)        print res['url'] 

错误详情

 File "c:\Python27\lib\site-packages\bitlyapi\bitly.py", line 78, in _    fd = urllib.urlopen(url, query_string)  File "c:\Python27\lib\urllib.py", line 89, in urlopen    return opener.open(url, data)  File "c:\Python27\lib\urllib.py", line 215, in open    return getattr(self, name)(url, data)  File "c:\Python27\lib\urllib.py", line 351, in open_http    errcode, errmsg, headers = h.getreply()  File "c:\Python27\lib\httplib.py", line 1196, in getreply    response = self._conn.getresponse()  File "c:\Python27\lib\httplib.py", line 1121, in getresponse    response.begin()  File "c:\Python27\lib\httplib.py", line 438, in begin    version, status, reason = self._read_status()  File "c:\Python27\lib\httplib.py", line 394, in _read_status    line = self.fp.readline(_MAXLINE + 1)  File "c:\Python27\lib\socket.py", line 480, in readline    data = self._sock.recv(self._rbufsize)IOError: [Errno socket error] [Errno 10054]

原因分析

10054是被远端服务器重置连接,但是该api本身就是bitly网站提供,所以不存在bitly服务器重置连接了。但是事实确实如此,换linux系统重试,发现又是成功的。区别在于,linux默认可以穿越GFW。

结论

与代码无关,GFW造成的。

原创粉丝点击