162 Stimmen

Wie kann ich herausfinden, wohin ich mit cURL in PHP weitergeleitet werde?

Ich versuche, Curl einer Umleitung folgen zu lassen, aber ich kriege es nicht ganz hin, dass es funktioniert. Ich habe eine Zeichenfolge, die ich als GET-Parameter an einen Server senden und die resultierende URL erhalten möchten.

Beispiel:

Zeichenfolge = Kobold Ungeziefer
Url = www.wowhead.com/search?q=Kobold+Arbeiter

Wenn man diese URL aufruft, wird man zu "www.wowhead.com/npc=257" weitergeleitet. Ich möchte, dass curl diese URL an meinen PHP-Code zurückgibt, so dass ich die "npc=257" extrahieren und verwenden kann.

Aktueller Code:

function npcID($name) {
    $urltopost = "http://www.wowhead.com/search?q=" . $name;
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1");
    curl_setopt($ch, CURLOPT_URL, $urltopost);
    curl_setopt($ch, CURLOPT_REFERER, "http://www.wowhead.com");
    curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type:application/x-www-form-urlencoded"));
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
    return curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
}

Dies ergibt jedoch www.wowhead.com/search?q=Kobold+Arbeiter und nicht www.wowhead.com/npc=257 .

Ich vermute, dass PHP zurückkehrt, bevor der externe Redirect stattfindet. Wie kann ich das beheben?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X