【问题标题】:Twython 401 on stream, but REST works fineTwython 401 在流中,但 REST 工作正常
【发布时间】:2014-07-22 01:49:23
【问题描述】:

不开玩笑。我的代码昨天还在工作

所以我正在编写一个脚本来使用 twython 获取流数据。但今天它给了我 401 错误。即使是example code

我尝试了新的密钥和一个新的应用程序,但它仍然给我 401。

但是,Twython 中的普通 REST api 接口(参见下一个代码块)可以正常工作。

twitter = Twython(APP_KEY, APP_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET)
print twitter.get_home_timeline()

一些 Googlefu 将我带到了 this SO thread,它建议使用 ntpd -q,但这并不能解决我的问题!

【问题讨论】:

  • FWIW,我也有同样的问题。奇怪的是,连接到流式 API 可以在我的开发盒(没有 401)上工作,但不能在我的生产服务器上工作。我不知道为什么。两台服务器上的时钟是同一时间的。如果让我猜的话,我猜 Twitter 的一台服务器上的时钟已经漂移了,我的开发和生产机器正在连接到不同的 IP。
  • @VilleLaurikari 对我来说,它适用于 heroku,但不适用于我的机器。

标签: rest twitter http-status-code-401 twython


【解决方案1】:

这只会影响stream.twitter.com 后面的一些服务器。也许他们的时钟已经关闭了。

似乎使用了某种地理感知负载平衡,并且域名可以解析为多个不同的 IP 地址,具体取决于您在哪里进行解析。

连接到 199.59.148.229199.59.148.138 给我 401 错误(我从 AWS Oregon 得到解决),但 199.16.156.20 有效(我从家庭网络得到解决)。

因此,我的临时解决方法是将其添加到/etc/hosts

199.16.156.20 stream.twitter.com

我预计最初的问题会在几个小时内消失,但目前这对我有用。

【讨论】:

    猜你喜欢
    • 2012-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-29
    • 2021-06-28
    • 2017-04-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多