Instagram-API ::: cURL 错误 18:传输关闭,剩余 3789 字节待读

Instagram-API ::: cURL error 18: transfer closed with 3789 bytes remaining to read

我在从 instagram 进行数据挖掘时遇到这个错误(基本上正确检索了约 8000 张图像和评论,但突然收到以下错误):

 cURL error 18: transfer closed with 3789 bytes remaining to read (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)

我在代码中使用 curl 的唯一部分是:

function url_exists($url) {
    if (!$fp = curl_init($url)) return false;
    return true;
}

这里使用url:

        $feed_img_url = $feed[$idx]->getImageVersions2()->candidates[0]->getUrl()."\n";
        if (url_exists($feed_img_url)==true) {
            $img = "results/".$feed_id_str."/".$feed_id_str.".jpeg";
            file_put_contents($img, file_get_contents($feed_img_url));
        }

它没有告诉哪一行产生了错误,但我猜这个异常来自上面的一个,因为我没有在其他任何地方使用过 url。这部分 $feed[$idx]->getImageVersions2()->candidates[0]->getUrl()."\n"; 来自 Instagram PHP API 如 https://github.com/mgp25/Instagram-API

请提出解决此问题的建议。

更多信息:当从 https://www.instagram.com/gegengrader/ 检索数据时会发生这种情况,虽然它没有很多帖子,但帖子有很多喜欢,但只有 29 个帖子(图像)被检索到。也就是说,我不确定这是否是 API 速率限制问题。如果是,请告诉我如何修复它。

所以我意识到,当我手动浏览这个 instagram 帐户时,并不是所有的东西都会加载,而且加载它需要很长时间。我使用了这些,现在至少我检索了 130 个提要中的 70 个:

function url_exists($url) {
    if (!$cURL = curl_init($url)) {
        return false;
    }

    curl_setopt($cURL, CURLOPT_HTTPHEADER, array('Expect:'));
    return true;
}

catch (Exception $e) {
    echo $e->getMessage();
    if (strpos($e->getMessage(), 'cURL error 18: transfer closed') !== false) {
        continue;
    }

}

可能不是最好的解决方案,但它满足了我的需要。请随时添加您的答案。