Heim  >  Artikel  >  Backend-Entwicklung  >  Wie verwende ich Curl in PHP? (Einführung in die Verwendung)

Wie verwende ich Curl in PHP? (Einführung in die Verwendung)

青灯夜游
青灯夜游nach vorne
2020-04-17 09:16:456917Durchsuche

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.

Wie verwende ich Curl in PHP? (Einführung in die Verwendung)

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 => &#39;http://www.example.com/&#39;,
                 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 = &#39;http://www.example.com&#39;;
//初始化一个 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(
    &#39;name&#39;=>&#39;test_name&#39;,
    &#39;age&#39;   => 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, &#39;user:password&#39;);如果要密码的话,加上这个  
$result=curl_exec($ch); 
curl_close($ch);
?>

end

Dieser Artikel wurde reproduziert von: https://blog.csdn.net/longgeaisisi/article/details/ 89330576

Empfohlenes 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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen