Heim >php教程 >PHP开发 >Einführung in die Funktionen der cURL-Bibliothek von PHP: Crawlen von Webseiten, POST-Daten und anderen

Einführung in die Funktionen der cURL-Bibliothek von PHP: Crawlen von Webseiten, POST-Daten und anderen

高洛峰
高洛峰Original
2016-12-23 16:22:421096Durchsuche

Ob Sie Daten aus einem Link abrufen, eine XML-Datei nehmen und in eine Datenbank importieren oder einfach nur den Inhalt einer Webseite abrufen möchten, cURL ist eine leistungsstarke PHP-Bibliothek. In diesem Artikel wird hauptsächlich die Verwendung dieser PHP-Bibliothek beschrieben.
cURL-Einstellungen aktivieren
Zuerst müssen wir feststellen, ob unser PHP diese Bibliothek aktiviert hat. Sie können diese Informationen mithilfe der Funktion php_info() abrufen.

<?php 
phpinfo(); 
?>

Wenn Sie die folgende Ausgabe auf der Webseite sehen, bedeutet dies, dass die cURL-Bibliothek aktiviert wurde.
Wenn Sie dies sehen, müssen Sie Ihr PHP einrichten und diese Bibliothek aktivieren. Wenn Sie auf der Windows-Plattform arbeiten, ist es sehr einfach, die Einstellungen Ihrer php.ini-Datei zu ändern, php_curl.dll zu finden und den vorherigen Semikolon-Kommentar zu löschen. Wie unten gezeigt:
//Kommentar unten abbrechen
extension=php_curl.dll

Wenn Sie unter Linux arbeiten, müssen Sie beim Bearbeiten Ihr PHP neu kompilieren Kompilierungsparameter – Fügen Sie den Parameter „-with-curl“ zum Konfigurationsbefehl hinzu.
Ein kleines Beispiel
Wenn alles fertig ist, hier eine kleine Routine:

<?php 
// 初始化一个 cURL 对象 
$curl = curl_init(); 
// 设置你需要抓取的URL 
curl_setopt($curl, CURLOPT_URL, &#39;http://jb51.net&#39;); 
// 设置header 
curl_setopt($curl, CURLOPT_HEADER, 1); 
// 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
// 运行cURL,请求网页 
$data = curl_exec($curl); 
// 关闭URL请求 
curl_close($curl); 
// 显示获得的数据 
var_dump($data);

So posten Sie Daten
Das Obige ist der Code zum Crawlen der Webseite und das Folgende besteht darin, POST-Daten an eine bestimmte Webseite zu senden. Angenommen, wir haben eine Formularverarbeitungs-URL http://www.example.com/sendSMS.php, die zwei Formularfelder akzeptieren kann, eines ist eine Telefonnummer und das andere ist der Inhalt einer Textnachricht.

<?php 
$phoneNumber = &#39;13912345678&#39;; 
$message = &#39;This message was generated by curl and php&#39;; 
$curlPost = &#39;pNUMBER=&#39; . urlencode($phoneNumber) . &#39;&MESSAGE=&#39; . urlencode($message) . &#39;&SUBMIT=Send&#39;; 
$ch = curl_init();chain link fencing 
curl_setopt($ch, CURLOPT_URL, &#39;http://www.example.com/sendSMS.php&#39;); 
curl_setopt($ch, CURLOPT_HEADER, 1); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost); 
$data = curl_exec(); 
curl_close($ch); 
?>

Aus dem obigen Programm können wir ersehen, dass Sie CURLOPT_POST verwenden, um die POST-Methode des HTTP-Protokolls anstelle der GET-Methode festzulegen, und dann die POST-Daten mit CURLOPT_POSTFIELDS festlegen.
 Über den Proxyserver
 Das Folgende ist ein Beispiel für die Verwendung eines Proxyservers. Bitte achten Sie auf den hervorgehobenen Code. Der Code ist sehr einfach, daher muss ich nicht mehr sagen.

<?php 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, &#39;http://www.example.com&#39;); 
curl_setopt($ch, CURLOPT_HEADER, 1); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1); 
curl_setopt($ch, CURLOPT_PROXY, &#39;fakeproxy.com:1080&#39;); 
curl_setopt($ch, CURLOPT_PROXYUSERPWD, &#39;user:password&#39;); 
$data = curl_exec(); 
curl_close($ch); 
?>

Über SSL und Cookies
Über SSL, das HTTPS-Protokoll Für Gasgeneratoren müssen Sie nur http:// in der CURLOPT_URL-Verbindung in https:// ändern. Natürlich gibt es auch einen Parameter namens CURLOPT_SSL_VERIFYHOST, der zur Verifizierung der Site gesetzt werden kann.
Über Cookies müssen Sie die folgenden drei Parameter kennen:
CURLOPT_COOKIE, setzen Sie ein Cookie in der persönlichen Sitzung
CURLOPT_COOKIEJAR, speichern Sie ein Cookie, wenn die Sitzung endet
CURLOPT_COOKIEFILE, das Cookie Datei.
HTTP-Serverauthentifizierung
Abschließend werfen wir einen Blick auf die HTTP-Serverauthentifizierung.

<?php 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, &#39;http://www.example.com&#39;); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); 
curl_setopt(CURLOPT_USERPWD, &#39;[username]:[password]&#39;) 
$data = curl_exec(); 
curl_close($ch); 
?>

Weitere Informationen finden Sie im entsprechenden cURL-Handbuch.

Eine weitere Einführung in die cURL-Bibliotheksfunktionen von PHP finden Sie auf der chinesischen PHP-Website zum Crawlen von Webseiten, POST-Daten und anderen verwandten Artikeln!

Stellungnahme:
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