Instagram是否因速率限制和/或某种形式的请求过滤而返回HTTP 500响应?

Instagram是否因速率限制和/或某种形式的请求过滤而返回HTTP 500响应?,instagram,internal-server-error,Instagram,Internal Server Error,我正在开发一个用于检查网页链接完整性的工具 我注意到,各种Instagram URL都会返回HTTP 500响应,如果在浏览器中访问给定的URL,就会得到HTTP 200响应以及预期的资源 这是在像浏览器用户那样请求常规Instagram URL时,而不是在使用REST API时 使用cURL的典型请求/响应: curl -v http://instagram.com/p/YKTkxHBA-P/ * About to connect() to instagram.com port 80 (#0)

我正在开发一个用于检查网页链接完整性的工具

我注意到,各种Instagram URL都会返回HTTP 500响应,如果在浏览器中访问给定的URL,就会得到HTTP 200响应以及预期的资源

这是在像浏览器用户那样请求常规Instagram URL时,而不是在使用REST API时

使用cURL的典型请求/响应:

curl -v http://instagram.com/p/YKTkxHBA-P/
* About to connect() to instagram.com port 80 (#0)
*   Trying 54.225.159.246... connected
> GET /p/YKTkxHBA-P/ HTTP/1.1
> User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
> Host: instagram.com
> Accept: */*
> 
< HTTP/1.1 500 Server Error
< Cache-Control: no-cache
< Content-Type: text/html
< Date: Tue, 15 Oct 2013 08:31:09 GMT
< Server: nginx
< Content-Length: 87
< Connection: keep-alive
< 
<html><body><h1>500 Server Error</h1>
An internal server error occured.
</body></html>
* Connection #0 to host instagram.com left intact
* Closing connection #0
curl-vhttp://instagram.com/p/YKTkxHBA-P/
*即将连接()到instagram.com端口80(#0)
*正在尝试54.225.159.246。。。有联系的
>GET/p/YKTkxHBA-p/HTTP/1.1
>用户代理:curl/7.22.0(x86_64-pc-linux-gnu)libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
>主持人:instagram.com
>接受:*/*
> 
在这种情况下,我曾经得到过HTTP 200响应,但现在一直得到HTTP 500响应

这都是特定于给定主机的;这样的URL,即使在使用cURL发送请求时,也会从其他机器返回HTTP 200响应

由于这是特定于发送请求的主机的,我怀疑正在通过IP进行速率限制或请求过滤,但是我找不到相关的文档


由于给定IP被拒绝访问,Instagram会正式返回上述HTTP 500响应吗?

我几乎100%肯定会发生这种情况,因为Instagram API阻止了域/IP地址

原因:

  • 用于在浏览器中获取JSON。从webservice获取cURL不起作用
  • 我将我的应用程序从主域(如果应用程序不工作)复制到另一个域。同样的申请有效

  • 奇怪的是,返回的是一个“500内部错误”,而不是一条消息“您的IP已被阻止”。

    这是一个IP速率限制。如果您想跳过与Instagram联系的部分,等待他们在那里工作的monkey crew解决问题,只需为您的服务器分配1000个IP,然后根据您的请求随机循环。你再也看不到500了


    干杯。

    这似乎与curl版本有关,我也在4台不同的机器上遇到了与v7.22.0相同的问题,10种不同的ip,而v7.30.0和v7.19.7的工作非常出色。
    目前正在进一步调查。

    我昨天刚收到Instagram支持部门的一封邮件


    你好,

    我们对服务器配置做了一些更改,您能检查一下是否仍然看到500个错误吗

    谢谢,

    我百分之百确定那500人不是来自IG的IP限制,因为他们也没有提前归还

    我一直在检查日志文件,在2014-04-14 18:28:56(PST)之后,发现了502(坏网关)和“主机不可访问”,虽然本身不超过500


    看起来他们在将近一个月后终于解决了^_^

    我也有同样的问题——不幸的是,没有办法解决。这是因为有两个或多个请求。起初,我以为这是我的IP,或者可能是我的UDID,直到我从自己的手机和家庭IP登录到我的应用程序,但使用了不同的Instagram id,最终它又像预期的那样工作了。最终,随着时间的推移,我可以再次使用自己的ID,但请求有限。我不太清楚算法是如何工作的,但时间越长,我可以再次使用的请求就越多

    此外,这在实际应用程序中的实际iPhone上是实时的,仅供参考,而不是在iOS sim卡或Instagram API控制台上

    要点:请求限制基于用户(每个用户每小时5000个请求)…没有IP速率限制。

    希望这有帮助:)


    克莱顿我也有同样的问题。正如我所说,您必须获得对API的额外访问权限,我的意思是应用程序中的沙箱模式不允许您使用所有API。要获得额外的预任务,请转到“客户偏好”选项卡“预任务”。

    我也遇到了同样的问题。这是你(我们)所想的吗?Aka当你的IP被“禁止”时,你会得到500s?@kitsched是的,我假设被禁止的IP会得到HTTP 500响应。这是我所能得到的唯一结论。我承认我掌握的信息很可能是不完整的。我的意思是,关于假设,这里也是一样。我向他们提交了一个请求/问题,要求解开我的IP。我很好奇会不会发生什么事。谢谢你的回答。@JonCram同样的问题在这里。你找到这个错误的真正原因了吗?我可以在单个服务器上重现此错误。所有API请求在其他服务器上都可以正常工作。这看起来像是Instagram的禁令,但他们没有通知禁令。有时我能够成功地向Instagram API发出请求,但它很少工作……我现在突然也收到了这个请求。现在看来,这可能是Instagram方面的一个错误。我觉得奇怪的是,它可以在我的网络浏览器中工作,但不能在我的服务器上工作。使用相同的URL。但是如何解释有时请求是从相同的ip工作的,有时不是。此外,禁止的确切标准是什么??:-/当您测试API集成时,许多人开始获得这些500。因为在测试过程中,您很可能一次又一次地请求相同的Instagram页面数据,Instagram认为这是一个机器人,并提升了IP地址,因此您开始看到您的请求中有十分之一被接受。我支持我给出的答案,这是绕过t的最简单的方法