English 中文(简体)
Instagram是否因费率限制和(或)某种形式的请求过滤而回复HTTP 500?
原标题:Does Instagram return HTTP 500 response due to rate limiting and/or some form of request filtering?
  • 时间:2013-10-15 08:42:03
  •  标签:
  • instagram

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

我注意到各种Instagram URLs将返回 HTTP 500 回复, 如果在浏览器中访问给定的 URL, 将会得到 HTTP 200 回复, 并附带预期的资源 。

这是在要求正常的Instagram URL时作为浏览器用户,而不是在使用 REST API 时要求使用普通的Instagram URL。

使用 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

有一段时间我收到了200个HTTP对此类案件的答复,但现在不断收到500个HTTP的答复。

这一切都是特定主机所特有的;这些 URL, 即使使用 CURL 发送请求, 也会返回其他机器的 HTTP 200 回复 。

由于东道方发送请求是特有原因,我怀疑IP正在采取某种费率限制或要求过滤的形式,但是我找不到这方面的任何文件。

Instagram是否会正式退还上述500 HTTP的回复,

问题回答

这是一个 IP 利率限制 。 如果您想要跳过您与Instagram联系的部分, 等待猴子船员来解决这个问题, 只需将1000 IP 发送到您的服务器上, 并随机浏览这些 IP 来响应您的请求 。 您将看不到500 秒 。

欢呼声。

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

...
Hi,

We made some changes to our server configurations, can you please check if you are still seeing the 500 errors?

Thanks,
...

. 嗯,我百分之百确定,这500人不是来自IGS IP利率限制,因为他们也没有提前返回。

我一直在查看日志文件, 在 < enge> 2014-04-14 18:28:56 (PST) < /strong > 之后, 发现一对502 (Bad Gateway) 和 " 无法到达的宿主 ", 虽然本身不超过500个。

看起来他们终于解决了 近一个月后...

我也有同样的问题- 不幸的是,没有办法解决它。 这之所以发生,是因为有两个请求。 首先,我认为这是我的IP,也可能是我的UDID,直到我从自己的手机和家里的IP上签名,但使用一个“强烈的无差别Instagram / id ” 的应用程序,它最终又再次起作用了。最后,我可以在经过一段时间后再次使用自己的身份,但要求有限。我不确定算法是如何运作的,但需要的时间越多,我才能再次使用。

此外,这是在实际应用程序中实际iPhone的实时iPhone上,而不是在iOS sim或Instagram API控制台 FYI上。

<强度 > 主点: 请求限制基于用户( 每个用户每小时5 000个请求).... 没有 IP 利率限制 。

希望这能帮助:)

克莱顿

我也有同样的问题。与我一样,你必须获得 API 的额外访问权限, 我的意思是您应用程序中的沙箱模式不允许您使用所有 API 。 要获得额外的前置权限, 请按“ 预设” 标签, 来选择客户偏好 。

It seems to be related to curl version, I also experience the same problem with v 7.22.0 on 4 different machines 10 different ip s, while v7.30.0 and v7.19.7 are working like a charm. Currently investigating further more.

我几乎100%肯定这是因为 域名/IP地址被Instagram API封住。

理由:

  1. Works to get the JSON in the browser. Doesn t work to get with cURL from webservice.
  2. I copied my exact application from my primary domain (were the application doesn t work) to another domain. Same application worked.

奇怪的是,你得到了一个“500内部错误”回来, 而不是一个信息“你的IP被屏蔽了”。





相关问题
How do I open the instagram sharesheet from flutter?

I know I can open it on ios using instagram://sharesheet and other URI schemes. How do I open it on android? URI scheme work inconsistently on android and there is no official documentation to explain ...

Instagram ruby gem - Unable to reach callback URL

Been experimenting with the instagram-ruby-gem on and off for a few days - no matter what I do, when a try to create a realtime subscription, I get https://api.instagram.com/v1/subscriptions.json: 400:...

*Send to Instagram* Trick by *100 Cameras in 1*

From Day One I was told that each third-party iOS app was perfectly sand-boxed and therefore there was no way for a third-party app to transfer messages other than some pre-defined urls to another app....

How to go back to past posts with hashtags in Instagram

I am an engineer. I would like to look up past posts for a particular hashtag, but I can only reference the last 30 or so posts. Is there any way to do this? I have researched and found this thread(...

热门标签