Wie kann ich browserähnliche GET-Anfragen mit Curl emulieren?

Barbara Streisand
Freigeben: 2024-11-04 03:48:02
Original
770 Leute haben es durchsucht

How Can I Emulate Browser-Like GET Requests with Curl?

Emulieren browserähnlicher GET-Anfragen mit Curl

Beim Erstellen von HTTP-GET-Anfragen mit Curl ist es manchmal notwendig, das Verhalten eines Webs zu emulieren Browser, um Serverfehler zu vermeiden. So geht's:

Verwenden Sie CURLOPT_USERAGENT

Einige Websites überprüfen die Benutzeragentenzeichenfolge, um festzustellen, ob die Anfrage von einem Browser kommt. Initialisieren Sie Curl und legen Sie die Benutzeragentenoption mit der gewünschten Browserzeichenfolge fest:

$agent= 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)';
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
Nach dem Login kopieren

Cookies verarbeiten (optional)

Wenn die Website auf Cookies basiert, verwenden Sie CURLOPT_COOKIE. CURLOPT_COOKIEFILE- und/oder CURLOPT_COOKIEJAR-Optionen zum Übergeben und Speichern von Cookies:

curl_setopt($ch, CURLOPT_COOKIE, 'key1=value1; key2=value2');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies.txt');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookies.txt');
Nach dem Login kopieren

SSL-Zertifikat überprüfen (nur HTTPS)

Anfragen über HTTPS erfordern ein verifiziertes SSL-Zertifikat. Setzen Sie CURLOPT_SSL_VERIFYPEER auf „false“, um die Überprüfung zu ignorieren:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
Nach dem Login kopieren

Beispielcode

Hier ist ein Beispielskript, das diese Optionen kombiniert:

$url="https://new.aol.com/productsweb/subflows/ScreenNameFlow/AjaxSNAction.do?s=username&f=firstname&l=lastname";
$agent= 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)';

$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_URL,$url);
$result=curl_exec($ch);
var_dump($result);
Nach dem Login kopieren

Mit Mit diesen Optionen können Sie browserähnliche GET-Anfragen mit Curl genau emulieren und so sicherstellen, dass der Server so reagiert, als ob die Anfrage von einem tatsächlichen Webbrowser käme.

Das obige ist der detaillierte Inhalt vonWie kann ich browserähnliche GET-Anfragen mit Curl emulieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage