当我尝试调用update_status函数时,遇到了严重的握手错误。这是产生错误的代码片段。
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
api.update_status('first test post')
这是错误消息。
tweepy.error.TweepError: Failed to send request: HTTPSConnectionPool(host='api.twitter.com', port=443): Max retries exceeded with url: /1.1/statuses/update.json?status=first+test+post (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'ssl3_get_server_certificate', 'certificate verify failed')],)",),))
该代码在Solaris 10服务器上运行,并且正在使用python2.7。我已经从openCSW安装了必要的openSSL软件包。我分别使用pip和openCSW更新了 certifi 和 pyOpenSSL 。我还尝试将 stream.py (在tweepy库中)的 verify 值设置为false,但是会出现相同的错误消息。有什么建议吗?
编辑:我已经尝试过将{em> verified 设置为false,如本文Tweepy SSLError regarding ssl certificate所示。但是我仍然收到错误消息。
最终编辑:我找不到解决Tweepy SSL错误的解决方案。相反,我只使用了 requests_oauthlib 模块而不是 Tweepy 来访问Twitter API。这解决了我的问题。