1. Grundlegende Schritte der cURL-Anfrage:
(1)Initialisierung
(2) Legen Sie Optionen fest, einschließlich URL
(3) HTML-Dokumentinhalt ausführen und abrufen
(4) cURL-Handle
//2. Optionen festlegen, einschließlich URL
curl_setopt($ch, CURLOPT_URL, "http://www.cnblogs.com/it-cen/");
//Die von curl_exec() erhaltenen Informationen in Form eines Dateistreams zurückgeben, anstatt sie direkt auszugeben
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//Die Header-Dateiinformationen werden beim Start von
als Datenstrom ausgegeben
curl_setopt($ch, CURLOPT_HEADER, 1);
//3. Den Inhalt des HTML-Dokuments ausführen und abrufen
curl_exec($ch);
//4. Griff loslassen
curl_close($ch);
echo $ch;
?>
Hinweis: Der zweite Schritt ist der wichtigste, nämlich die Funktion „curl_setopt()“
Wir können eine Anweisung hinzufügen, um Fehler zu überprüfen. Beachten Sie, dass hier „===false“ verwendet wird, um zwischen leerer Ausgabe und dem booleschen Wert false zu unterscheiden
Die Funktion „curl_getinfo()“ gibt Informationen zu dieser Anfrage zurück, nachdem cURL ausgeführt wurde, was für das Debuggen und die Fehlerbehebung nützlich ist:
';<br> print_r($info); echo '';
Schauen wir uns ein Beispiel für die Aufnahme eines Bildes an:
Code kopieren
//1. Initialisierung
$ch = curl_init();
//2. Optionen festlegen, einschließlich URL
curl_setopt($ch, , CURLOPT_URL, "http://img04.taobaocdn.com/tfscom/TB1omaTHXXXXXajXVXXtKXbFXXX.png");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
//3. Inhalte ausführen und abrufen
$res = curl_exec($ch);
//Informationen erhalten
$info = curl_getinfo($ch);
//4. Ressourcen freigeben
curl_close($ch);
file_put_contents("d:/aa.png", $res);
$size = filesize("d:/aa.png");
if ($size != $info['size_download']) {
echo „Die heruntergeladenen Daten sind unvollständig, bitte erneut herunterladen“;
} sonst {
echo „Daten herunterladen ist abgeschlossen“;
}
?>
3. Verwenden Sie die POST-Methode, um Daten in cURL zu senden
$data = array('name'=>'kelly', 'age'=>27, 'sex'=>1);
curl_setopt($ch, CURLOPT_URL, "http://localhost.post.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//Auf Posten einstellen
curl_setopt($ch, CURLOPT_POST, 1);
//Füge
zur Post-Variablen hinzu
curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
$res = curl_exec($ch);
curl_close($ch);
echo $res;
?>
Verwenden Sie diese Methode, um das Hinterlassen einer Nachricht zu simulieren, oder Sie können sich auf einen Wasserfüllroboter setzen. Die Idee ist die gleiche
4. Laden Sie Dateien mit cURL hoch
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://127.0.0.1/Socket/upload_file.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$res = curl_exec($ch);
curl_close($ch);
echo $res;
?>
Hinweis: Wenn Sie eine Datei senden, stellen Sie dem Dateinamen ein @ voran und verwenden Sie den vollständigen Pfad
5. cURL-Einstellungselemente
Tatsächlich verfügt cURL über viele Konfigurationsoptionen. Sie werden über setopt() festgelegt. Ich hoffe, dass dies für die Leser hilfreich ist Verwenden Sie in Zukunft cURL. Hilfe:
CURLOPT_AUTOREFERER: Bei der Weiterleitung basierend auf dem Standort werden automatisch die Referrer-Informationen im Header
CURLOPT_COOKIESESSION: Wenn diese Option aktiviert ist, leitet cURL ein Sitzungscookie streng weiter und ignoriert andere Cookies
CURLOPT_HEADER: Geben Sie die Header-Dateiinformationen als Datenstrom aus
CURLOPT_INFILESIZE: Legen Sie die Größe der hochgeladenen Datei in Bytes fest
CURLOPT_MAXCONNECTS: Maximale Anzahl zulässiger Verbindungen
CURLOPT_MAXREDIRS: Geben Sie die maximale Anzahl von HTTP-Weiterleitungen an
CURLOPT_COOKIE: Legen Sie den Inhalt des „Cookie:“-Teils der HTTP-Anfrage fest. Auf mehrere Cookies folgt ein Semikolon, und nach dem Semikolon steht ein Leerzeichen
CURLOPT_POSTFIELDS: Alle Daten werden mit der „POST“-Operation im HTTP-Protokoll gesendet. Fügen Sie zum Senden von Dateien das Präfix „@“ vor dem Dateinamen hinzu und verwenden Sie den vollständigen Pfad.
......
Weitere spezifische Konfigurationselemente finden Sie im PHP-Handbuch
cURL ist sehr leistungsfähig. Es handelt sich um eine universelle Bibliothek, die nicht nur für PHP gilt.
Ich hoffe, dass die Leser durch das Studium einiger klassischer cURL-Beispiele in diesem Blogbeitrag etwas gewinnen werden.