Wie verwende ich Curl in PHP? Der folgende Artikel fasst die Verwendung von Curl in PHP zusammen. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.
1. Einführung in Curl
Die Erklärung von Baidu Encyclopedia lautet: Datenübertragungsartefakt. Wo ist das Artefakt? Nachdem ich die Informationen durchsucht hatte, stellte ich fest, dass Curl die Syntax einer URL verwenden kann, um einen Browser zum Übertragen von Daten zu simulieren. Unterstützt derzeit die Protokolle http, https, ftp, gopher, telnet, dict, file und ldap. libcurl unterstützt außerdem HTTPS-Authentifizierung, HTTP POST, HTTP PUT, FTP-Upload (dies kann auch über die FTP-Erweiterung von PHP erfolgen), HTTP-Formular-Upload, Proxy, Cookies und Benutzername + Passwort-Authentifizierung.
Die am häufigsten verwendete Methode in PHP ist Curl, um Get- und Post-Anfragen zu simulieren.
2. Verwendung
(1) Wenn Sie Curl verwenden möchten, besteht der erste Schritt darin, Curl in PHP zu aktivieren und es in der PHP-Konfigurationsdatei php zu finden. ini extension=php_curl.dll, entfernen Sie das „;“ davor. Starten Sie den Server neu. Verwenden Sie phpinfo (), um den PHP-Code auszudrucken, und stellen Sie fest, dass die Curl-Beschreibung im Bild erfolgreich geöffnet wurde.
(2) Die Verwendung von Curl zum Abschließen einfacher Anforderungen ist hauptsächlich in vier Hauptschritte unterteilt:
Initialisierung und Erstellung einer neuen Curl-Ressource.
Legen Sie die URL und die entsprechenden Optionen fest
Erfassen Sie die URL und übergeben Sie sie an den Browser
Schließen Sie die Curl-Ressource. Geben Sie Ressourcen frei.
zB:
<?php // 创建一个新cURL资源 $ch = curl_init(); // 设置URL和相应的选项 $options = array(CURLOPT_URL => 'http://www.example.com/', CURLOPT_HEADER => false ); curl_setopt_array($ch, $options); // 抓取URL并把它传递给浏览器 curl_exec($ch); // 关闭cURL资源,并且释放系统资源 curl_close($ch); ?>
3. Curl-Funktion
curl_close – eine cURL-Sitzung schließen
curl_copy_handle – Kopiert ein cURL-Handle und alle seine Optionen
curl_errno – Gibt die letzte Fehlernummer zurück
curl_error – Gibt a zurück Zeichenfolge, die den letzten Fehler in der aktuellen Sitzung schützt
curl_escape – URL-kodiert die angegebene Zeichenfolge
curl_exec – Führe eine cURL-Sitzung aus
curl_file_create – Erstellen Sie ein CURLFile-Objekt
curl_getinfo – Erhalten Sie Informationen über ein cURL-Verbindungsressourcenhandle
curl_init – Eine cURL-Sitzung initialisieren
curl_multi_add_handle – Einzelne Curl-Handles zu einer Curl-Batch-Sitzung hinzufügen
curl_multi_close – Eine cURL-Sitzung schließen. cURL-Handles gruppieren
curl_multi_exec – Führt eine Unterverbindung des aktuellen cURL-Handles aus.
curl_multi_getcontent – Wenn CURLOPT_RETURNTRANSFER festgelegt ist, wird der Text der abgerufenen Ausgabe zurückgegeben stream
curl_multi_info_read – Relevante Transportinformationen für die aktuell analysierte cURL abrufen
curl_multi_init – Ein neues cURL-Batch-Handle zurückgeben
curl_multi_remove_handle – Entfernen Sie eine Handle-Ressource im Curl-Batch-Handle-Ressource
curl_multi_select – Warten Sie auf alle aktiven Verbindungen im cURL-Batch
curl_multi_setopt – Legen Sie eine Option für die cURL-Parallelverarbeitung fest.
curl_multi_strerror – Gibt eine Zeichenfolge zurück, die den Fehlercode beschreibt.
curl_pause – Unterbrechen und heben Sie die Pause einer Verbindung auf
curl_reset – Setzt alle Optionen für ein libcurl-Sitzungshandle zurück
curl_setopt_array – Legt Optionen in großen Mengen für eine cURL-Übertragungssitzung fest
curl_setopt – Legen Sie eine cURL-Übertragungsoption fest.
curl_share_close – Schließen Sie ein cURL-Freigabehandle.
curl_share_init – Initialisieren Sie eine cURL Share-Handle
curl_share_setopt – Legt eine Option für ein cURL-Share-Handle fest.
curl_strerror – Gibt eine Zeichenfolge zurück, die den angegebenen Fehlercode beschreibt
curl_unescape – Dekodieren Sie die angegebene URL-codierte Zeichenfolge
curl_version – Abrufen von cURL-Versionsinformationen
4 . Beispiele
1. Verwenden Sie Curl und Get, um Daten abzurufen.
<?php $url = 'http://www.example.com'; //初始化一个 cURL 对象 $ch = curl_init(); //设置你需要抓取的URL curl_setopt($ch, CURLOPT_URL, $url); // 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //是否获得跳转后的页面 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); $data = curl_exec($ch); curl_close($ch); echo $data; ?>
2. Verwenden Sie Curl und Post, um Daten abzurufen Seiten
Warum einen Proxy zum Crawlen verwenden? Nehmen Sie Google als Beispiel: Wenn Sie die Daten von Google in kurzer Zeit sehr häufig erfassen, können Sie sie nicht erfassen. Wenn Google Ihre IP-Adresse einschränkt, können Sie den Proxy ändern und erneut crawlen.
<?php function curl_post($url, $arr_data){ $post_data = http_build_query($url_data); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFLELDS, $post_data); $data = curl_exec($ch); curl_close($ch); echo $data; } $arr_post = array( 'name'=>'test_name', 'age' => 1 ); curl_post("http://www.explame.com/", $arr_post); ?>
4. Behalten Sie den Sitzungsaufruf dieser Site bei.
Im Falle einer synchronen Benutzeranmeldung muss die Sitzung geteilt werden, wenn Sie die Sitzung dieser Seite weiterhin aufrechterhalten möchten Website, dann muss die Sitzungs-ID in http Requesting
<?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://google.com"); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //是否通过http代理来传输 curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, TRUE); curl_setopt($ch, CURLOPT_PROXY, 125.21.23.6:8080); //url_setopt($ch, CURLOPT_PROXYUSERPWD, 'user:password');如果要密码的话,加上这个 $result=curl_exec($ch); curl_close($ch); ?>
end
Dieser Artikel wurde reproduziert von: https://blog.csdn.net/longgeaisisi/article/details/ 89330576Empfohlenes Lernen:PHP-Video-Tutorial
Das obige ist der detaillierte Inhalt vonWie verwende ich Curl in PHP? (Einführung in die Verwendung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!