Heim > Artikel > Backend-Entwicklung > PHP verwendet CURL, um Beispiele für GET- und POST-Anforderungsschritte zu implementieren
CURL ist ein Tool, das URL-Syntax zum Übertragen von Dateien und Daten verwendet. Es unterstützt viele Protokolle wie HTTP, FTP, TELNET usw. Das Beste daran ist, dass PHP auch die CURL-Bibliothek unterstützt. Verwenden Sie die CURL-Bibliothek von PHP, um Webseiten einfach und effektiv zu crawlen. Sie müssen lediglich ein Skript ausführen und die von Ihnen gecrawlten Webseiten analysieren. Anschließend können Sie die gewünschten Daten programmgesteuert abrufen. Ganz gleich, ob Sie Teildaten aus einem Link abrufen, eine XML-Datei in eine Datenbank importieren oder einfach nur den Inhalt einer Webseite abrufen möchten: CURL ist eine leistungsstarke PHP-Bibliothek.
①: Initialisierung
curl_init()
②: Eigenschaften festlegen
curl_setopt() //有一长串CURL 参数可供设置,它们能指定URL请求的各个细节。
③: Ausführen und das Ergebnis erhalten
curl_exec()
④: Den Griff loslassen
curl_close()
①: GET-Methode zum Implementieren von
//初始化 $curl = curl_init(); //设置抓取的url curl_setopt($curl, CURLOPT_URL, 'http://www.baidu.com'); //设置头文件的信息作为数据流输出 curl_setopt($curl, CURLOPT_HEADER, 1); //设置获取的信息以文件流的形式返回,而不是直接输出。 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //执行命令 $data = curl_exec($curl); //关闭URL请求 curl_close($curl); //显示获得的数据 print_r($data);
②: POST-Methode zum Implementieren von
//初始化 $curl = curl_init(); //设置抓取的url curl_setopt($curl, CURLOPT_URL, 'http://www.baidu.com'); //设置头文件的信息作为数据流输出 curl_setopt($curl, CURLOPT_HEADER, 1); //设置获取的信息以文件流的形式返回,而不是直接输出。 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //设置post方式提交 curl_setopt($curl, CURLOPT_POST, 1); //设置post数据 $post_data = array( "username" => "coder", "password" => "12345" ); curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data); /执行命令 $data = curl_exec($curl); //关闭URL请求 curl_close($curl); //显示获得的数据 print_r($data);
③: Wenn die erhaltenen Daten im JSON-Format vorliegen, verwenden Sie die Funktion json_decode, um sie in ein Array zu interpretieren.
$output_array = json_decode($data,true); //Wenn der zweite Parameter wahr ist, wird er in Array-Form konvertiert. Wenn es nicht ausgefüllt ist, liegt es in Form eines Objekts vor
Wenn Sie zum Parsen json_decode($data) verwenden, erhalten Sie Objekttypdaten.
Eine gekapselte Funktion
//参数1:访问的URL,参数2:post数据(不填则为GET),参数3:提交的$cookies,参数4:是否返回$cookies function curl_request($url,$post='',$cookie='', $returnCookie=0){ $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)'); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($curl, CURLOPT_AUTOREFERER, 1); curl_setopt($curl, CURLOPT_REFERER, "http://XXX"); if($post) { curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post)); } if($cookie) { curl_setopt($curl, CURLOPT_COOKIE, $cookie); } curl_setopt($curl, CURLOPT_HEADER, $returnCookie); curl_setopt($curl, CURLOPT_TIMEOUT, 10); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $data = curl_exec($curl); if (curl_errno($curl)) { return curl_error($curl); } curl_close($curl); if($returnCookie){ list($header, $body) = explode("\r\n\r\n", $data, 2); preg_match_all("/Set\-Cookie:([^;]*);/", $header, $matches); $info['cookie'] = substr($matches[1][0], 1); $info['content'] = $body; return $info; }else{ return $data; } }
Obwohl diese beiden Funktionen nicht schwierig sind, sind sie dennoch erlernbar. Denn diese beiden Funktionen müssen beim Erstellen von Schnittstellen oder beim Aufrufen von Schnittstellen verwendet werden.
Empfohlene verwandte Artikel:
So crawlen Sie Tmall- und Taobao-Produktdaten mit PHP
Das obige ist der detaillierte Inhalt vonPHP verwendet CURL, um Beispiele für GET- und POST-Anforderungsschritte zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!