2017-03-14 12 views
0

instagramからのデータマイニングの途中でこのエラーが発生します(基本的に8000個の画像とコメントが正しく取得され、突然次のエラーが表示されます)。 ):Instagram-API ::: cURLエラー18:転送が3789バイトのまま残っています

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

とURLがここで使用されています:

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

私は私のコードでカールを使用している部分だけがある

 $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レート制限の問題であるとは確信していません。そうであれば、それを修正する方法を教えてください。

+0

ここで完全にPHPが必要ですが、カールエラーコード18は通常、すべてのデータが転送される前に接続が切断されたことを意味します。あなたが原因で発生したエラーではなく、サーバー/ネットワークです。 –

答えて

1

このInstagramアカウントを手動で参照していても、すべてがロードされるわけではなく、ロードに時間がかかります。私はこれらを使用して、今、少なくとも私は130ishの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; 
    } 

} 

ない最善の解決策が、それは私のニーズを提供しています。あなたの答えを自由に追加してください。

関連する問題