Ich muss eine Get-Anfrage durchführen und Header zusammen mit ihm senden. Was kann ich dafür verwenden?PHP-GET-Anfrage, Kopfzeilen senden
Der Hauptheader, den ich einstellen muss, ist der Browser eins. Gibt es einen einfachen Weg, dies zu tun?
Ich muss eine Get-Anfrage durchführen und Header zusammen mit ihm senden. Was kann ich dafür verwenden?PHP-GET-Anfrage, Kopfzeilen senden
Der Hauptheader, den ich einstellen muss, ist der Browser eins. Gibt es einen einfachen Weg, dies zu tun?
Wenn Sie cURL verwenden, können Sie curl_setopt ($handle, CURLOPT_USERAGENT, 'browser description')
verwenden, um den User-Agent-Header der Anforderung zu definieren.
Wenn Sie file_get_contents
verwenden, überprüfen file_get_contents für dieses zwicken eines Beispiels auf der Mann-Seite:
// Create a stream
$opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept-language: en\r\n" .
"Cookie: foo=bar\r\n" .
"User-agent: BROWSER-DESCRIPTION-HERE\r\n"
)
);
$context = stream_context_create($opts);
// Open the file using the HTTP headers set above
$file = file_get_contents('http://www.example.com/', false, $context);
Danke gelöst :) –
Danke dafür! hat perfekt funktioniert. – jones
Kann ich eine HTTPS-Anfrage machen? –
können Sie verwenden, um die header
Funktion für das, Beispiel:
header('Location: http://www.example.com?var=some_value');
Beachten Sie, dass:
diesen Header Merken() muss aufgerufen werden, bevor eine Ausgabe gesendet wird , entweder durch normale HTML-Tags, leere Zeilen in einer Datei oder von PHP. Es ist ein sehr häufig Fehlercode mit include(), oder require(), Funktionen oder eine andere Dateizugriffsfunktion, und haben Leerzeichen oder leere Zeilen, die ausgegeben werden, bevor header() aufgerufen wird. Das gleiche Problem existiert, wenn Sie eine einzige PHP/HTML-Datei verwenden.
Ich muss die Antwort von der Anfrage in einer Zeichenfolge für die Verarbeitung speichern. So kann ich diese Methode nicht verwenden. –
@ James Jeffery: Ich verstehe nicht, was Sie damit meinen. Können Sie genauer sein oder mehr Details zu Ihrer Frage hinzufügen? Danke – Sarfraz
Versuchen Sie AJAX zu verwenden? Oder greifen Sie auf PHP-Variablen mit Javascript zu? –
Wenn Sie eine Seite anfordern, cURL verwenden.
Um die Header (in diesem Fall zu setzen, die User-Agent
Header in der HTTP-Anforderung, würden Sie diese Syntax verwenden:
<?php
$curl_h = curl_init('http://www.example.com/');
curl_setopt($curl_h, CURLOPT_HTTPHEADER,
array(
'User-Agent: NoBrowser v0.1 beta',
)
);
# do not output, but store to variable
curl_setopt($curl_h, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($curl_h);
Sind Sie PHP-Code schreiben die GET-Anforderung zu erfüllen, oder möchten Sie um Ihren Browser (oder etwas anderes) zu simulieren, um verschiedene Benutzeragenten anzufordern, die Ihre PHP-Seiten anfordern? – grossvogel
Ich schreibe Code, um die Anfrage auszuführen und die Antwort als eine Zeichenkette zu speichern. –
Was "Browser" Header meinen Sie? Sie müssen die User-Agent-Zeichenfolge zurückgeben? –