Der Martin: Problem beim auslesen von Quelltext mit curl

Beitrag lesen

Hallo,

Du musst den Status auswerten und dann ggf. einen weiteren Request absetzen.
Du meinst etwar so:

$result = curl_exec($ch);

$info = curl_getinfo($ch);
if($info['http_code'] == 302){
  // weiterer Request
}

  
im Prinzip ja. Besser ist jedoch, eine while-Schleife zu nutzen, die solange läuft, wie 301 oder 302 als Status zurückkommt. Theoretisch können nämlich auch mehrere Redirects als Kette vorkommen.  
  

> Aber wenn ich dort die selbe abfrage noch mal mache dann kommt doch der selbe 302 Fehler wieder.....  
  
Natürlich nicht dieselbe, sondern die URL, die der Server dir im Location-Header mitteilt. Diese Info stellt [curl](http://php.net/manual/en/book.curl.php) aber anscheinend nicht zur Verfügung.  
  
Allerdings kannst du auch eine [Option setzen](http://www.php.net/manual/en/function.curl-setopt.php), mit der curl einem Redirect automatisch folgt. Über das [Statusfeld](http://www.php.net/manual/en/function.curl-getinfo.php) kannst du dann abfragen, wie viele Umleitungen beteiligt waren und wo du tatsächlich gelandet bist, wenn dich das interessiert.  
  
So long,  
 Martin  

-- 
Most experts agree: Any feature of a program that you can't turn off if you want to, is a bug.  
Except with Microsoft, where it is just the other way round.