Heim Backend-Entwicklung PHP-Tutorial Ausführliches Tutorial zum Senden einer PHP-Curl-Anfrage

Ausführliches Tutorial zum Senden einer PHP-Curl-Anfrage

Jul 31, 2019 pm 04:33 PM
curl php

Ausführliches Tutorial zum Senden einer PHP-Curl-Anfrage

Wenn Sie mehr über PHP erfahren möchten, klicken Sie auf: PHP-Tutorial

 cURL kann die URL-Syntax verwenden, um einen Browser zum Übertragen von Daten zu simulieren. Da es einen Browser simuliert, unterstützt es auch mehrere Protokolle, FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE und LDAP kann gut unterstützt werden, einschließlich: HTTPS-Authentifizierung, HTTP-POST-Methode, HTTP-PUT-Methode, FTP-Upload, Keyberos-Authentifizierung, HTTP-Upload, Proxyserver, Cookies, Benutzername/Passwort-Authentifizierung, Datei-Haltepunkte herunterladen. Übertragung fortsetzen, Hochladen von Dateien an Haltepunkten fortsetzen. HTTP-Proxyserver-Pipeline und unterstützt sogar IPv6, Scoket5-Proxyserver, Hochladen von Dateien auf einen FTP-Server über einen HTTP-Proxyserver usw.

 Mit der cURL-Bibliothek von PHP können Webseiten einfach und effektiv gecrawlt werden. Sie müssen nur ein Skript ausführen, dann die von Ihnen gecrawlten Webseiten analysieren und dann 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.

1. Grundlegende Schritte zum Einrichten einer CURL-Anfrage in PHP

①: Initialisierung

 curl_init()

②: Eigenschaften festlegen

 curl_setopt() Es gibt eine lange Liste festzulegender cURL-Parameter, die verschiedene Details der URL-Anfrage angeben können.

③: Ausführen und das Ergebnis erhalten

  curl_exec()

④: Lassen Sie den Griff los

 curl_close()

2. Beispiel:

PHP Curl sendet Get-Anfrage:

rrree

PHP Curl sendet Post-Anfrage:

//初始化
$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);
echo curl_getinfo($curl,CURLINFO_HTTP_CODE); //输出请求状态码
//关闭URL请求
curl_close($curl);
//显示获得的数据
print_r($data);
Nach dem Login kopieren

test.php:

//初始化
$curl = curl_init();
//设置抓取的url
curl_setopt($curl, CURLOPT_URL, 'http://localhost/test/test.php');
//设置头文件的信息作为数据流输出
curl_setopt($curl, CURLOPT_HEADER, 1);
//设置获取的信息以文件流的形式返回,而不是直接输出。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//设置post方式提交
curl_setopt($curl, CURLOPT_POST, 1);
//设置post数据
$post_data = array(
    "title" => "1290800466",
    "content" => "3424243243"
);
//post提交的数据
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
//执行命令
$data = curl_exec($curl);
//关闭URL请求
curl_close($curl);
//显示获得的数据
print_r($data);
Nach dem Login kopieren

3. PHP cURL-Funktion:

Das Folgende enthält eine Liste der PHP-cURL-Funktionen:

Funktion Beschreibung
curl_close() Schließt eine cURL-Sitzung.
curl_copy_handle() Kopieren Sie ein cURL-Handle und alle seine Optionen.
curl_errno() Gibt die letzte Fehlernummer zurück.
curl_error() Gibt eine Zeichenfolge zurück, die den letzten Fehler in der aktuellen Sitzung schützt.
curl_escape() Gibt die Escape-Zeichenfolge zurück, wobei die URL die angegebene Zeichenfolge kodiert.
curl_exec() Führen Sie eine cURL-Sitzung aus.
curl_file_create() Erstellen Sie ein CURLFile-Objekt.
curl_getinfo() Informationen über ein cURL-Verbindungsressourcenhandle abrufen.
curl_init() Initialisieren Sie eine cURL-Sitzung.
curl_multi_add_handle() Fügen Sie einzelne Curl-Handles zu einer Curl-Batch-Sitzung hinzu.
curl_multi_close() Eine Gruppe von cURL-Handles schließen.
curl_multi_exec() Führen Sie eine Unterverbindung des aktuellen cURL-Handles aus.
curl_multi_getcontent() Wenn CURLOPT_RETURNTRANSFER gesetzt ist, wird der Textstrom der erhaltenen Ausgabe zurückgegeben.
curl_multi_info_read() Rufen Sie die relevanten Übertragungsinformationen der aktuell analysierten cURL ab.
curl_multi_init() Gibt ein neues cURL-Batch-Handle zurück.
curl_multi_remove_handle() Entfernen Sie eine Handle-Ressource in der Curl-Batch-Handle-Ressource.
curl_multi_select() Warten Sie auf alle aktiven Verbindungen im cURL-Batch.
curl_multi_setopt() Legt eine Batch-cURL-Übertragungsoption fest.
curl_multi_strerror() Gibt einen Zeichenfolgentext zurück, der den Fehlercode beschreibt.
curl_pause() Pausieren Sie die Verbindung und setzen Sie sie fort.
curl_reset() Setzt alle Optionen des Sitzungshandles von libcurl zurück.
curl_setopt_array() Optionen in großen Mengen für cURL-Übertragungssitzungen festlegen.
curl_setopt() Legt eine cURL-Übertragungsoption fest.
curl_share_close() Schließen Sie das cURL-Freigabehandle.
curl_share_init() Initialisieren Sie das cURL-Freigabehandle.
curl_share_setopt() Legt die cURL-Übertragungsoptionen für ein gemeinsames Handle fest.
curl_strerror() Gibt eine Zeichenfolgenbeschreibung des Fehlercodes zurück.
curl_unescape() Dekodieren Sie die URL-codierte Zeichenfolge.
curl_version() CURL-Versionsinformationen abrufen.

Gibt bei Erfolg TRUE und bei Misserfolg FALSE zurück.

Einige Statuscodes

1xx: Anfrage erhalten, Verarbeitung fortsetzen

2xx: Vorgang erfolgreich empfangen, Analyse, Akzeptieren

3xx: Der Abschluss dieser Anfrage muss eine weitere Verarbeitung erfordern

4xx: Die Anfrage enthält eine falsche Syntax oder kann nicht abgeschlossen werden

5xx: Der Server konnte eine vollständig gültige Anfrage nicht ausführen

100 – Der Client muss weiterhin Anfragen stellen

101 – Der Client verlangt vom Server, dass er die HTTP-Protokollversion gemäß der Anfrage konvertiert

200 – Die Transaktion ist erfolgreich

201 – Aufforderung zur Angabe der URL der neuen Datei

202 – akzeptiert und verarbeitet, aber die Verarbeitung ist nicht abgeschlossen

203 – Rückgabeinformationen sind unsicher oder unvollständig

204 – Anfrage empfangen, aber die Rückgabeinformationen sind leer

205 – Der Server hat die Anfrage abgeschlossen, der Benutzeragent muss die aktuell durchsuchten Dateien zurücksetzen

206 – Der Server hat einige abgeschlossen GET-Anfragen der Benutzer

300 – Die angeforderte Ressource ist an mehreren Orten verfügbar

301 – Löschen Sie die Anforderungsdaten

302 – Die Anforderungsdaten wurden an anderen Adressen gefunden

303— –Es wird empfohlen, dass Kunden andere URLs oder Zugriffsmethoden besuchen

304 – Der Client hat GET ausgeführt, aber die Datei hat sich nicht geändert

305 – Die angeforderte Ressource muss von der vom Server angegebenen Adresse abgerufen werden

306 – Code, der in der vorherigen Version von HTTP verwendet wurde, in der aktuellen Version nicht mehr verwendet

307 – Erklärung, dass die angeforderte Ressource vorübergehend gelöscht wurde

400 – Ungültige Anfrage, z. B. Syntaxfehler

401 – Anfrageautorisierung fehlgeschlagen

402 – Gültige ChargeTo-Header-Antwort beibehalten

403 – Anfrage nicht zulässig

404 – Keine Datei, Abfrage oder URL gefunden

405 – Die vom Benutzer im Feld „Request-Line“ definierte Methode ist nicht zulässig

406 – Entsprechend dem Accept-Drag Vom Benutzer gesendet, ist die angeforderte Ressource nicht zugänglich

407 – Ähnlich wie bei 401 muss der Benutzer zunächst eine Autorisierung auf dem Proxyserver einholen

408 – Der Client hat die Anfrage nicht innerhalb der Zeit abgeschlossen vom Benutzer angegeben

409 – Für den aktuellen Ressourcenstatus kann die Anforderung nicht abgeschlossen werden

410 – Diese Ressource existiert nicht mehr auf dem Server und es gibt keine weitere Referenzadresse

411 – Der Server lehnt die benutzerdefinierte Content-Length-Attributanforderung ab

412 – Ein oder mehrere Anforderungsheaderfelder sind in der aktuellen Anforderung falsch

413 – Die angeforderte Ressource ist größer als die Vom Server zugelassene Größe

414 – Die angeforderte Ressourcen-URL ist länger als die vom Server zulässige Länge

415 – Die angeforderte Ressource unterstützt das Anforderungselementformat nicht

416 – Die Anfrage enthält das Anforderungsheaderfeld „Range“, und es gibt keinen Bereichsangabewert innerhalb des aktuellen Anforderungsressourcenbereichs, der anfordert

Sie enthält auch nicht das Anforderungsheaderfeld „If-Range“

417 - The Der Server erfüllt nicht die im Anforderungs-Header-Feld angegebenen Erwartungen. Wenn es sich um einen Proxy-Server handelt, kann es sein, dass der Server der nächsten Ebene die Anforderung nicht erfüllen kann

500 – Der Server hat einen internen Fehler generiert

501 – Der Server unterstützt die angeforderte Funktion nicht

502 – Der Server ist vorübergehend nicht verfügbar, manchmal um eine Systemüberlastung zu verhindern

503 – Der Server ist überlastet oder wegen Wartungsarbeiten angehalten

504 – Das Gateway ist überlastet, der Server verwendet ein anderes Gate oder einen anderen Dienst, um auf den Benutzer zu antworten, der Einstellwert für die Wartezeit ist länger

505 – Der Server Die in angegebene HTTP-Version Der Anforderungsheader wird nicht unterstützt oder die Unterstützung wird verweigert

Das obige ist der detaillierte Inhalt vonAusführliches Tutorial zum Senden einer PHP-Curl-Anfrage. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

CakePHP-Projektkonfiguration CakePHP-Projektkonfiguration Sep 10, 2024 pm 05:25 PM

In diesem Kapitel werden wir die Umgebungsvariablen, die allgemeine Konfiguration, die Datenbankkonfiguration und die E-Mail-Konfiguration in CakePHP verstehen.

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

CakePHP-Routing CakePHP-Routing Sep 10, 2024 pm 05:25 PM

In diesem Kapitel lernen wir die folgenden Themen im Zusammenhang mit dem Routing kennen.

Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

CakePHP erstellt Validatoren CakePHP erstellt Validatoren Sep 10, 2024 pm 05:26 PM

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.

See all articles