2017-01-27 13 views
-1

CURLをmyntraにしようとするとエラーが発生します。私はDOMDOCUMENTによって抽出の詳細を取得しようとしていますが、それは同じエラーを与えている:ここでカールエラー:最大(20)リダイレクトが続きます

Maximum (20) redirects followed

は私のコードです:私は願っています。この

curl_setopt($ch, CURLOPT_MAXREDIRS , 1000); 

ため

<?php 
     $url = 'http://www.myntra.com/sports-shoes/nike/nike-men-black-dart-12-msl-running-shoes/1547908/buy?src=search&uq=false&q=nike&p=1'; 
     $ch = curl_init($url); 
     //curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"); 
     curl_setopt($ch, CURLOPT_AUTOREFERER, true); 
     curl_setopt($ch, CURLOPT_HEADER, 1); 
     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
     curl_setopt($ch, CURLOPT_FAILONERROR, true); 
     curl_setopt($ch, CURLOPT_HTTPHEADER, array("Cookie: test=cookie")); 

     $cl = curl_exec($ch); 
     if(curl_exec($ch) === false) 
     { 
       echo 'Curl error: ' . curl_error($ch); 
       echo 'Curl error: ' . curl_errorno($ch); 
     }else{ 
      $dom = new DOMDocument(); 
      $xpath = new DOMXpath($dom); 
      print_r($xpath);    
     } 
?> 

答えて

-3

使用CURLOPT_MAXREDIRSオプションそれはうまくいく!

+0

これはめったに治療法ではありません。ループが問題であり、より多くのラップをループすることで修正されません。多くの場合、クッキーの場合。 –

+0

curl_setopt($ ch、CURLOPT_MAXREDIRS、1000);を使用している間、ロードを続けますが、結果はまだありません!!! – Ashish

+0

ヘッダーを削除する 'Accept-Encoding:gzip、deflate'、 ' –

-1
<?php 

$url = 'http://www.myntra.com/sports-shoes/nike/nike-men-black-dart-12-msl-running-shoes/1547908/buy?src=search&uq=false&q=nike&p=1'; 
$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:47.0) Gecko/20100101 Firefox/47.0"); 
$request_headers = [ 
       'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8;', 
       'Accept-Encoding: gzip, deflate', 
       "Connection: keep-alive", 
       "Content-Type: text/html; charset=UTF-8", 

      ]; 
curl_setopt($ch, CURLOPT_AUTOREFERER, true); 
curl_setopt($ch, CURLOPT_HEADER, 1); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_FAILONERROR, true); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $request_headers); 
curl_setopt($ch, CURLOPT_ENCODING, ""); 
$cl = curl_exec($ch); 
$h = curl_getinfo($ch); 
$e = curl_error($ch); 
curl_close($ch); 
var_dump($cl); 

場合によっては、要求ヘッダーを送信し、エンコードごとにデコードする必要があります。

+0

私は今、応答を得ていますが、それから

  • 11. サーバが閉じるとカールエラー?
  • 12. php/mysqlの最大接続数が
  • 13. Azure Redis Cacheの最大接続数が
  • 14. 最大20文字の英数字出力を持つハッシュアルゴリズム
  • 15. 式ツリーが大きすぎます(最大深度1000)sqliteウィンドウ
  • 16. Proxoolの最大接続数
  • 17. 連続WebJobの最大CPU%
  • 18. Mosquitto最大ブリッジ持続性
  • 19. MongoDB接続の最大化
  • 20. MySQLの最大接続
  • 21. リダイレクト最大数| gtrendsRパッケージのgconnect()
  • 22. 近接接続で最大接続エンドポイント
  • 23. Angular2エラーインラインテンプレート:1:20原因:最大呼び出しスタックサイズを超えました
  • 24. FacebookメッセンジャーボットコールバックURLカールエラー35
  • 25. ChromeでAngularJS $ http.get()が最大10-20秒かかり、Firefoxでうまく動作します
  • 26. mysqlの最大接続数が大きいとサイトのパフォーマンスに影響しますか?
  • 27. は、最大レコードのみ最大レコードを受信することができるように20秒待った後
  • 28. Apache ModRewriteがリダイレクトを継続します
  • 29. スワイプ最大連続する正の数
  • 30. Bash:コマンド出力がカールエラーに変わる