【发布时间】:2017-03-14 01:06:30
【问题描述】:
我在从 instagram 进行数据挖掘的过程中收到此错误(基本上大约 8000 张图像和 cmets 被正确检索,突然我收到以下错误):
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 速率限制问题。如果是,请告诉我如何修复它。
【问题讨论】:
-
这里涉及的 PHP 太多了,我无法完全确定,但 curl 错误代码 18 通常意味着在传输所有数据之前连接已断开。不是你造成的错误,是服务器/网络造成的。
标签: php curl instagram instagram-api rate-limiting