【问题标题】:PHP CURL: Instagram returns empty string to remote serverPHP CURL:Instagram 向远程服务器返回空字符串
【发布时间】:2021-04-21 07:28:52
【问题描述】:

我发现我可以通过一个简单的 CURL 请求获取 JSON 格式的最新用户帖子

https://www.instagram.com/some_nickname/?__a=1

所以我正在尝试:

$url = 'https://www.instagram.com/some_nickname/?__a=1';

$curl = curl_init();

curl_setopt($curl, CURLOPT_POST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_URL, $url);

$response = curl_exec($curl);

代码在我的本地机器上运行良好,并返回一个 JSON 数组,我可以从中获取用户的最新帖子。问题是相同的代码从我的任何远程服务器返回空字符串(我尝试了 3 个不同的网络托管提供商)。

请指教。

【问题讨论】:

    标签: php curl instagram


    【解决方案1】:

    Instagram 阻止了 IP 托管范围。我看到了以下信息:

    Instagram 已开始对 来自被检测为云服务器的 IP 的请求。

    一开始有几个请求会通过,但片刻之后,所有请求都会通过 请求将被阻止,并有一个很长的计时器,直到它们被 再次解封。在此计时器之后,您会收到更多请求,并且 循环重复。

    由于网站必须托管在云端,因此任何与 如果云提供商开启,Instagram 会变得非常困难 Instagram 的黑名单。我尝试过的所有云提供商都在上面 列表。

    您需要使用代理。但这将是一项艰巨的任务,因为许多代理(根据我的经验)也被阻止了

    【讨论】:

    • 那么,这到底是怎么回事?是否禁止人们使用 API 或其他什么?那他们为什么会有它呢?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-24
    • 1970-01-01
    • 2014-08-24
    • 1970-01-01
    • 2023-03-09
    • 2012-05-07
    相关资源
    最近更新 更多