【问题标题】:cURL call to Twitter API meeting "Rate Limit" without making more than 5 requestscURL 调用 Twitter API 会议“速率限制”而不发出超过 5 个请求
【发布时间】:2011-11-08 22:54:43
【问题描述】:

我刚刚开始搞乱一个非常非常基本的调用 Twitter API (http://api.twitter.com/1/statuses/user_timeline.json) 到 通过 cURL 将我的推文拉到我的网站。但是,使用一个页面 还没有人知道存在(从而消除了 无意的流量),我之前遇到了速率限制超出的事情 我什至有机会测试它。它说它在 5 点后重置 小时,所以我再次检查,一分钟它工作,但它又回来了 告诉我我的速率限制已超出。对于了解 Twitter API 和/或 cURL 的任何人,有几个问题:

首先,速率限制是否适用于我的服务器(而不是用户)?我会这么认为,但是 当然,这可能会让事情变得艰难。每位访客甚至可以调用一次 API 可以在流量边际的网站上轻松超过速率限制 一个小时内。有没有办法将呼叫与访客联系起来,而不是 服务器?似乎可能不是,但我不完全确定如何 整个 API 有效,并且 cURL 似乎在许多 地方。我知道如果我使用 JSON 和 AJAX 中的数据,我可以制作 来自用户的请求,但只是为了争论,什么 关于 cURL?

第二,任何想法我怎么可能超过我的速率限制甚至没有 刷新页面?我支付托管在另一个位置,所以我可能 与另一个站点共享服务器空间,但我的站点肯定有 一个独特的 IP,所以应该……应该没问题,对吧?所以怎么回事 我什至没有运行代码就超过了速率限制(或 运行一次?)?

以下是我的代码,如果有帮助的话:

$ch=curl_init("http://api.twitter.com/1/statuses/user_timeline.json?screen_name=screenname");
    curl_setopt_array($ch,array(
            CURLOPT_RETURNTRANSFER=>true,
            CURLOPT_TIMEOUT=>5,
        )
    );
$temp=curl_exec($ch);
curl_close($ch);
$results=json_decode($temp,true);

另外,我现在有了它,如果 Twitter 返回一个速率限制错误,它会在一个文本文件中记录错误,以及限制重置的时间。查看该文件,它唯一更新的时间(我没有重写它,它只是添加)是当我加载页面时(可能是一小时内一次或两次),所以它不像其他东西正在使用此页面并调用此 URL。

有什么帮助吗?

【问题讨论】:

    标签: php twitter curl


    【解决方案1】:

    经过身份验证的请求应计入用户的 350/小时限制。未经身份验证的请求将计入​​您的 IP 地址的 150/小时限制。

    如果您在开发过程中遇到限制,Twitter 通常非常愿意将开发服务器 IP 列入白名单。

    http://dev.twitter.com/pages/rate-limiting

    一些应用程序发现默认限制被证明是不够的。在这种情况下,我们提供白名单。可以将用户帐户和 IP 地址列入白名单。每个列入白名单的实体,无论是帐户还是 IP 地址,每小时都允许 20,000 个请求。如果您正在开发应用程序并希望考虑将其列入白名单,请填写 whitelisting request form。由于请求数量众多,我们无法全部回复。如果您的请求已获批准,您将收到一封电子邮件。

    【讨论】:

    • 好的,这是有道理的。我只是拉出我自己的 Twitter 流,因此不需要涉及任何其他用户名,甚至我自己的用户名,因为它是公共流。
    • 我总是忘记我不能在这些回复中获得回报。知道为什么我可能会遇到速率限制吗?我不会刷新页面接近 150 次。我不需要白名单,因为它应该是四行代码,我已经准备好了。但由于某种原因,在重置后的 20 分钟内,即使我没有加载一次页面,也达到了我的限制。
    • 我会在twitter.com/settings/connections 上查看您连接的第三方应用程序。我猜你不是在与一群人共享的 IP 上?
    • 但是我没有登录,所以我连接的应用程序应该没有关系?我不认为我在与其他人共享 IP,但这是可能的。我正在努力解决这个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-10
    • 2011-05-22
    • 2011-12-22
    • 2012-09-03
    • 1970-01-01
    • 2019-01-14
    • 1970-01-01
    相关资源
    最近更新 更多