Heim > Artikel > Backend-Entwicklung > Verwendung von CURL in PHP zur Implementierung von GET- und POST-Anfragen
1. Was ist CURL?
cURL ist ein Tool, das URL-Syntax zum Übertragen von Dateien und Daten verwendet. Es unterstützt viele Protokolle wie HTTP, FTP, TELNET usw. Das Beste daran ist, dass PHP auch die cURL-Bibliothek unterstützt. Mit der cURL-Bibliothek von PHP können Sie Webseiten einfach und effektiv durchsuchen. Sie müssen lediglich ein Skript ausführen und die von Ihnen gecrawlten Webseiten analysieren. Anschließend 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.
2. CURL-Funktionsbibliothek.
curl_close – eine Curl-Sitzung schließen
curl_copy_handle – alle Inhalte und Parameter einer Curl-Verbindungsressource kopieren
curl_errno – eine numerische Zahl mit Fehlerinformationen für die aktuelle Sitzung zurückgeben
curl_error – Gibt eine Zeichenfolge mit Fehlerinformationen für die aktuelle Sitzung zurück
curl_exec – Führt eine Curl-Sitzung aus
curl_getinfo – Ruft Informationen über ein Curl-Verbindungsressourcenhandle ab
curl_init – Eine Curl-Sitzung initialisieren
curl_multi_add_handle – Eine separate Curl-Handle-Ressource zur Curl-Batch-Sitzung hinzufügen
curl_multi_close – Eine Batch-Handle-Ressource schließen
curl_multi_exec – Einen Curl analysieren Batch-Handle
curl_multi_getcontent – Gibt den Textstrom der erhaltenen Ausgabe zurück
curl_multi_info_read – Ruft die relevanten Übertragungsinformationen des aktuell analysierten Curl ab
curl_multi_init – Initialisiert eine Curl-Batch-Handle-Ressource
curl_multi_remove_handle – Entfernen Sie eine Handle-Ressource in der Curl-Batch-Handle-Ressource.
curl_multi_select – Rufen Sie alle mit der cURL-Erweiterung verknüpften Sockets ab, die dann „ausgewählt“ werden können.
curl_setopt_array – Sitzungsparameter für einen Curl in Form eines Arrays festlegen
curl_setopt – Sitzungsparameter für einen Curl festlegen
curl_version – Curl-bezogene Versionsinformationen abrufen
curl_init Die Funktion of() initialisiert eine Curl-Sitzung. Der einzige Parameter der Funktion curl_init() ist optional und stellt eine URL-Adresse dar.
Die Funktion von curl_exec() besteht darin, eine Curl-Sitzung auszuführen. Der einzige Parameter ist das von der Funktion curl_init() zurückgegebene Handle.
Die Funktion „curl_close()“ wird zum Schließen einer Curl-Sitzung verwendet. Der einzige Parameter ist das von der Funktion „curl_init()“ zurückgegebene Handle.
3. Grundlegende Schritte zum Einrichten einer CURL-Anfrage in PHP
①: Initialisierung
curl_init()
②: Festlegen von Attributen
curl_setopt (). Es gibt eine lange Liste einstellbarer cURL-Parameter, die verschiedene Details der URL-Anfrage angeben können.
③: Ausführen und Ergebnis erhalten
curl_exec()
④: Griff loslassen
curl_close()
IV. CURL-Implementierung GET und POST
①: GET-Methode ist implementiert
<?php //初始化 $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); //关闭URL请求 curl_close($curl); //显示获得的数据 print_r($data); ?>
②: POST-Methode ist implementiert
<?php //初始化 $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); //设置post方式提交 curl_setopt($curl, CURLOPT_POST, 1); //设置post数据 $post_data = array( "username" => "coder", "password" => "12345" ); curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data); //执行命令 $data = curl_exec($curl); //关闭URL请求 curl_close($curl); //显示获得的数据 print_r($data); ?>
③: Wenn die erhaltenen Daten im JSON-Format vorliegen, verwenden Sie die Funktion json_decode, um sie in ein Array zu interpretieren.
$output_array = json_decode($output,true);
Wenn Sie json_decode($output) zum Parsen verwenden, erhalten Sie Objekttypdaten.
5. Eine von mir selbst gekapselte Funktion
//参数1:访问的URL,参数2:post数据(不填则为GET),参数3:提交的$cookies,参数4:是否返回$cookies function curl_request($url,$post='',$cookie='', $returnCookie=0){ $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)'); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($curl, CURLOPT_AUTOREFERER, 1); curl_setopt($curl, CURLOPT_REFERER, "http://XXX"); if($post) { curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post)); } if($cookie) { curl_setopt($curl, CURLOPT_COOKIE, $cookie); } curl_setopt($curl, CURLOPT_HEADER, $returnCookie); curl_setopt($curl, CURLOPT_TIMEOUT, 10); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $data = curl_exec($curl); if (curl_errno($curl)) { return curl_error($curl); } curl_close($curl); if($returnCookie){ list($header, $body) = explode("\r\n\r\n", $data, 2); preg_match_all("/Set\-Cookie:([^;]*);/", $header, $matches); $info['cookie'] = substr($matches[1][0], 1); $info['content'] = $body; return $info; }else{ return $data; } }
Mit optionaler Parameterbeschreibung:
Erste Kategorie:
Für die optionalen Parameter der folgenden Optionen sollte der Wert auf einen Wert vom Typ Bool festgelegt werden:
Option
Ja Wert auswählen
Anmerkungen
CURLOPT_AUTOREFERER
Bei der Weiterleitung basierend auf Standort: werden die Referrer:-Informationen im Header automatisch festgelegt.
CURLOPT_BINARYTRANSFER
Gibt die Rohausgabe zurück, wenn CURLOPT_RETURNTRANSFER aktiviert ist.
CURLOPT_COOKIESESSION
Wenn aktiviert, übergibt Curl nur ein Sitzungscookie und ignoriert andere Cookies. Standardmäßig gibt Curl alle Cookies an den Server zurück. Sitzungscookies beziehen sich auf Cookies, die verwendet werden, um festzustellen, ob die serverseitige Sitzung gültig ist.
CURLOPT_CRLF
Wenn aktiviert, konvertieren Sie Unix-Zeilenvorschubzeichen in Wagenrücklauf- und Zeilenvorschubzeichen.
CURLOPT_DNS_USE_GLOBAL_CACHE
Wenn aktiviert, ist ein globaler DNS-Cache aktiviert. Dieses Element ist threadsicher und standardmäßig aktiviert.
CURLOPT_FAILONERROR
Zeigt den HTTP-Statuscode an. Das Standardverhalten besteht darin, HTTP-Nachrichten mit Nummern kleiner oder gleich 400 zu ignorieren.
CURLOPT_FILETIME
Wenn aktiviert, wird versucht, die Informationen im Remote-Dokument zu ändern. Die Ergebnisinformationen werden über die Option CURLINFO_FILETIME der Funktion curl_getinfo() zurückgegeben. curl_getinfo().
CURLOPT_FOLLOWLOCATION
Wenn aktiviert, wird der vom Server zurückgegebene „Standort:“ im Header platziert und rekursiv an den Server zurückgegeben. Verwenden Sie CURLOPT_MAXREDIRS, um die Anzahl der Rekursionen zu begrenzen kehrt zurück.
CURLOPT_FORBID_REUSE
Wird nach Abschluss der Interaktion zwangsweise getrennt und kann nicht wiederverwendet werden.
CURLOPT_FRESH_CONNECT
Erzwingt eine neue Verbindung, um die im Cache zu ersetzen.
CURLOPT_FTP_USE_EPRT
Wenn diese Option aktiviert ist, verwenden Sie beim FTP-Download den Befehl EPRT (oder LPRT). Bei Festlegung auf FALSE werden EPRT und LPRT deaktiviert, wobei nur der PORT-Befehl verwendet wird. Deaktiviert den EPSV-Befehl, wenn er auf FALSE gesetzt ist.
CURLOPT_FTPAPPEND
Wenn „Anhängen“ aktiviert ist, wird in die Datei geschrieben, anstatt sie zu überschreiben.
CURLOPT_FTPASCII
Alias von CURLOPT_TRANSFERTEXT.
CURLOPT_FTPLISTONLY
Wenn aktiviert, wird nur der Name des FTP-Verzeichnisses aufgelistet.
CURLOPT_HEADER
Wenn aktiviert, werden die Header-Dateiinformationen als Datenstrom ausgegeben.
CURLINFO_HEADER_OUT
Die Anforderungszeichenfolge des Tracking-Handles, wenn aktiviert.
Verfügbar seit PHP 5.1.3. Das Präfix CURLINFO_ ist beabsichtigt.
CURLOPT_HTTPGET
Wenn diese Option aktiviert ist, wird die HTTP-Methode auf GET gesetzt. Da GET die Standardeinstellung ist, wird sie nur verwendet, wenn sie geändert wird.
CURLOPT_HTTPPROXYTUNNEL
Wenn aktiviert, wird es über einen HTTP-Proxy übertragen.
CURLOPT_MUTE
Wenn aktiviert, werden alle geänderten Parameter in der cURL-Funktion auf ihre Standardwerte zurückgesetzt.
CURLOPT_NETRC
Nachdem die Verbindung hergestellt wurde, greifen Sie auf die Datei ~/.netrc zu, um den Benutzernamen und das Passwort für die Verbindung mit der Remote-Site abzurufen.
CURLOPT_NOBODY
Wenn aktiviert, wird der BODY-Teil in HTML nicht ausgegeben.
CURLOPT_NOPROGRESS
Deaktivieren Sie den Fortschrittsbalken der Curl-Übertragung, wenn diese Option aktiviert ist.
Hinweis:
PHP setzt diese Option automatisch auf TRUE. Diese Option sollte nur zu Debugging-Zwecken geändert werden.
CURLOPT_NOSIGNAL
Wenn aktiviert, ignorieren Sie alle Signale, die von Curl an PHP übergeben werden. Dieses Element ist während der SAPI-Multithread-Übertragung standardmäßig aktiviert.
Hinzugefügt in cURL 7.10.
CURLOPT_POST
Wenn diese Option aktiviert ist, wird eine reguläre POST-Anfrage gesendet. Geben Sie Folgendes ein: application/x-www-form-urlencoded, genau wie bei der Formularübermittlung.
CURLOPT_PUT
Wenn aktiviert, darf HTTP Dateien senden. CURLOPT_INFILE und CURLOPT_INFILESIZE müssen gleichzeitig festgelegt werden.
CURLOPT_RETURNTRANSFER
Geben Sie die von curl_exec() erhaltenen Informationen in Form eines Dateistreams zurück, anstatt sie direkt auszugeben.
CURLOPT_SSL_VERIFYPEER
Wenn deaktiviert, beendet cURL die Überprüfung vom Server. Legen Sie das Zertifikat mit der Option CURLOPT_CAPATH fest. Wenn CURLOPT_SSL_VERIFYPEER (Standard 2) aktiviert ist, muss CURLOPT_SSL_VERIFYHOST auf TRUE gesetzt werden, andernfalls auf FALSE.
Der Standardwert ist TRUE seit cURL 7.10. Ab cURL 7.10 ist die Bundle-Installation standardmäßig vorgesehen.
CURLOPT_TRANSFERTEXT
Wenn aktiviert, verwenden Sie den ASCII-Modus für FTP-Übertragungen. Bei LDAP werden reine Textinformationen anstelle von HTML abgerufen. Auf Windows-Systemen setzt das System STDOUT nicht auf den Binärmodus.
CURLOPT_UNRESTRICTED_AUTH
Hängen Sie Benutzernamen- und Passwortinformationen kontinuierlich an mehrere Stellen im mit CURLOPT_FOLLOWLOCATION generierten Header an, auch wenn sich der Domänenname geändert hat.
CURLOPT_UPLOAD
Wenn aktiviert, sind Datei-Uploads zulässig.
CURLOPT_VERBOSE
Wenn aktiviert, werden alle Informationen gemeldet und in STDERR oder dem angegebenen CURLOPT_STDERR gespeichert.
Zweite Kategorie:
Für die optionalen Parameter der folgenden Optionen sollte der Wert auf einen Wert vom Typ Ganzzahl gesetzt werden:
Option
Optionaler Wert
Bemerkungen
CURLOPT_BUFFERSIZE
Die Größe des Caches, der jedes Mal in die erhaltenen Daten eingelesen wird, dieser Wert kann jedoch nicht jedes Mal garantiert werden jedes Mal gefüllt werden.
Hinzugefügt in cURL 7.10.
CURLOPT_CLOSEPOLICY
Entweder CURLCLOSEPOLICY_LEAST_RECENTLY_USED oder CURLCLOSEPOLICY_OLDEST, es gibt drei weitere CURLCLOSEPOLICY_, aber cURL unterstützt es noch nicht.
CURLOPT_CONNECTTIMEOUT
Die Zeit, die gewartet werden muss, bevor eine Verbindung hergestellt wird. Wenn sie auf 0 gesetzt ist, wird auf unbestimmte Zeit gewartet.
CURLOPT_CONNECTTIMEOUT_MS
Die Zeit, die auf einen Verbindungsversuch gewartet wird, in Millisekunden. Wenn auf 0 gesetzt, unendlich warten.
Hinzugefügt in cURL 7.16.2. Verfügbar ab PHP 5.2.3.
CURLOPT_DNS_CACHE_TIMEOUT
Legen Sie die Zeit zum Speichern von DNS-Informationen im Speicher fest. Der Standardwert beträgt 120 Sekunden.
CURLOPT_FTPSSLAUTH
FTP-Authentifizierungsmethode: CURLFTPAUTH_SSL (versuchen Sie es zuerst mit SSL), CURLFTPAUTH_TLS (versuchen Sie es zuerst mit TLS) oder CURLFTPAUTH_DEFAULT (lassen Sie cURL automatisch entscheiden).
Hinzugefügt in cURL 7.12.2. CURLOPT_HTTP_VERSION
CURLOPT_HTTPAUTH
Die verwendete HTTP-Authentifizierungsmethode sind: CURLAUTH_BASIC, CURLAUTH_DIGEST, CURLAUTH_GSSNEGOTIATE, CURLAUTH_NTLM, CURLAUTH_ANY und CURLAUTH_ANYSAFE.
Sie können den Bitfeldoperator (oder) verwenden, um mehrere Werte zu trennen, und cURL lässt den Server denjenigen auswählen, der den besten unterstützt.
CURLAUTH_BASIC |. CURLAUTH_GSSNEGOTIATE |. 🎜> CURLOPT_INFILESIZE
Legen Sie die Größe der hochgeladenen Datei fest.
CURLOPT_LOW_SPEED_LIMIT
Wenn die Übertragungsgeschwindigkeit geringer als CURLOPT_LOW_SPEED_LIMIT (Byte/Sek.) ist, verwendet PHP CURLOPT_LOW_SPEED_TIME, um zu bestimmen, ob die Übertragung abgebrochen werden soll, weil sie zu langsam ist.
CURLOPT_LOW_SPEED_TIME
Wenn die Übertragungsgeschwindigkeit geringer als CURLOPT_LOW_SPEED_LIMIT (Byte/Sek.) ist, verwendet PHP CURLOPT_LOW_SPEED_TIME, um zu bestimmen, ob die Übertragung abgebrochen werden soll, weil sie zu langsam ist.
CURLOPT_MAXCONNECTS
Die maximal zulässige Anzahl von Verbindungen. Bei Überschreitung wird CURLOPT_CLOSEPOLICY verwendet, um zu bestimmen, welche Verbindungen gestoppt werden sollen.
CURLOPT_MAXREDIRS
Gibt die maximale Anzahl von HTTP-Weiterleitungen an. Diese Option wird zusammen mit CURLOPT_FOLLOWLOCATION verwendet.
CURLOPT_PORT
Wird zur Angabe des Verbindungsports verwendet. (Optional)
CURLOPT_PROTOCOLS
Das Bitfeld von CURLPROTO_*. Wenn diese Option aktiviert ist, begrenzt der Bitfeldwert, welche Protokolle libcurl während Übertragungen verwenden kann. Dadurch können Sie libcurl so kompilieren, dass es viele Protokolle unterstützt, aber nur eine Teilmenge davon verwendet, die verwendet werden darf. Standardmäßig verwendet libcurl alle unterstützten Protokolle. Siehe CURLOPT_REDIR_PROTOCOLS.
Die verfügbaren Protokolloptionen sind: CURLPROTO_HTTP, CURLPROTO_HTTPS, CURLPROTO_FTP, CURLPROTO_FTPS, CURLPROTO_SCP, CURLPROTO_SFTP, CURLPROTO_TELNET, CURLPROTO_LDAP, CURLPROTO_LDAPS, CURLPROTO_DICT, CURLPROTO. _FILE , CURLPROTO_TFTP, CURLPROTO_ALL
in cURL 7.19 . 4 wurde hinzugefügt.
CURLOPT_PROXYAUTH
Methode zur Überprüfung der HTTP-Proxy-Verbindung. Verwenden Sie die Bitfeld-Flags in CURLOPT_HTTPAUTH, um die entsprechenden Optionen festzulegen. Für die Proxy-Authentifizierung werden derzeit nur CURLAUTH_BASIC und CURLAUTH_NTLM unterstützt.
Hinzugefügt in cURL 7.10.7.
CURLOPT_PROXYPORT
Der Port des Proxyservers. Der Port kann auch in CURLOPT_PROXY eingestellt werden.
CURLOPT_PROXYTYPE
Entweder CURLPROXY_HTTP (Standard) oder CURLPROXY_SOCKS5.
Hinzugefügt in cURL 7.10.
CURLOPT_REDIR_PROTOCOLS
Der Bitfeldwert in CURLPROTO_*. Wenn aktiviert, begrenzt der Bitfeldwert die Protokolle, die der Transportthread verwenden kann, wenn er einer Umleitung folgt, wenn CURLOPT_FOLLOWLOCATION aktiviert ist. Dadurch können Sie den Transportthread bei der Umleitung auf eine Teilmenge zulässiger Protokolle beschränken. Standardmäßig lässt libcurl alle Protokolle außer FILE und SCP zu. Dies unterscheidet sich geringfügig von der Vorabversion 7.19.4, die bedingungslos allen unterstützten Protokollen folgt. Informationen zu Protokollkonstanten finden Sie unter CURLOPT_PROTOCOLS.
Hinzugefügt in cURL 7.19.4.
CURLOPT_RESUME_FROM
Übergeben Sie einen Byte-Offset, wenn die Übertragung fortgesetzt wird (wird verwendet, um die Übertragung vom Haltepunkt aus fortzusetzen).
CURLOPT_SSL_VERIFYHOST
1 Überprüfen Sie, ob im Server-SSL-Zertifikat ein allgemeiner Name vorhanden ist. Anmerkung des Übersetzers: Unter Common Name versteht man im Allgemeinen das Ausfüllen des Domainnamens (Domain) oder der Subdomain (Subdomain), für die Sie ein SSL-Zertifikat beantragen möchten. 2 Überprüfen Sie, ob der allgemeine Name vorhanden ist und mit dem angegebenen Hostnamen übereinstimmt.
CURLOPT_SSLVERSION
Die zu verwendende SSL-Version (2 oder 3). Standardmäßig erkennt PHP diesen Wert selbst, obwohl er in einigen Fällen möglicherweise manuell festgelegt werden muss.
CURLOPT_TIMECONDITION
Wenn sie nach einer bestimmten durch CURLOPT_TIMEVALUE angegebenen Zeit bearbeitet wurde, verwenden Sie CURL_TIMECOND_IFMODSINCE, um die Seite zurückzugeben. Wenn sie nicht geändert wurde und CURLOPT_HEADER wahr ist, geben Sie „304 Not Modified“ zurück " "-Header, wenn CURLOPT_HEADER falsch ist, verwenden Sie CURL_TIMECOND_IFUNMODSINCE. Der Standardwert ist CURL_TIMECOND_IFUNMODSINCE.
CURLOPT_TIMEOUT
Legen Sie die maximale Anzahl von Sekunden fest, die cURL ausführen darf.
CURLOPT_TIMEOUT_MS
Legen Sie die maximale Anzahl von Millisekunden fest, die cURL ausführen darf.
Hinzugefügt in cURL 7.16.2. Verfügbar ab PHP 5.2.3.
CURLOPT_TIMEVALUE
Legen Sie einen Zeitstempel fest, der von CURLOPT_TIMECONDITION verwendet wird. Standardmäßig wird CURL_TIMECOND_IFMODSINCE verwendet.
Die dritte Kategorie:
Für die optionalen Parameter der folgenden Optionen sollte der Wert auf einen Zeichenfolgentypwert festgelegt werden:
Option
Ja Auswählen Wert
Bemerkungen
CURLOPT_CAINFO
Ein Dateiname, der ein oder mehrere Zertifikate für die Serverüberprüfung enthält. Dieser Parameter ist nur bei Verwendung mit CURLOPT_SSL_VERIFYPEER von Bedeutung. .
CURLOPT_CAPATH
Ein Verzeichnis, das mehrere CA-Zertifikate enthält. Diese Option wird mit CURLOPT_SSL_VERIFYPEER verwendet.
CURLOPT_COOKIE
Legen Sie den „Cookie:“-Teil der HTTP-Anfrage fest. Mehrere Cookies werden durch ein Semikolon gefolgt von einem Leerzeichen getrennt (z. B. „Frucht=Apfel; Farbe=Rot“).
CURLOPT_COOKIEFILE
Der Dateiname, der Cookie-Daten enthält. Das Format der Cookie-Datei kann das Netscape-Format sein, oder es können nur reine HTTP-Header-Informationen in der Datei gespeichert werden.
CURLOPT_COOKIEJAR
Eine Datei, die Cookie-Informationen speichert, nachdem die Verbindung hergestellt wurde.
CURLOPT_CUSTOMREQUEST
Verwenden Sie eine benutzerdefinierte Anforderungsnachricht anstelle von „GET“ oder „HEAD“ als HTTP-Anfrage. Dies ist nützlich, um „DELETE“ oder andere verdecktere HTTP-Anfragen auszuführen. Gültige Werte sind „GET“, „POST“, „CONNECT“ usw. Das heißt, geben Sie hier nicht die gesamte HTTP-Anfrage ein. Beispielsweise ist die Eingabe von „GET /index.html HTTP/1.0rnrn“ falsch.
Hinweis:
Verwenden Sie diese benutzerdefinierte Anforderungsmethode erst, wenn Sie sicher sind, dass der Server sie unterstützt.
CURLOPT_EGDSOCKET
Ähnlich wie CURLOPT_RANDOM_FILE, mit Ausnahme eines Entropy Gathering Daemon-Sockets.
CURLOPT_ENCODING
Der Wert von „Accept-Encoding:“ im HTTP-Anforderungsheader. Unterstützte Kodierungen sind „identity“, „deflate“ und „gzip“. Wenn es sich um die leere Zeichenfolge „“ handelt, sendet der Anforderungsheader alle unterstützten Kodierungstypen.
Hinzugefügt in cURL 7.10.
CURLOPT_FTPPORT
Dieser Wert wird verwendet, um die IP-Adresse zu erhalten, die für den FTP-Befehl „POST“ erforderlich ist. Der Befehl „POST“ weist den Remote-Server an, eine Verbindung zu der von uns angegebenen IP-Adresse herzustellen. Diese Zeichenfolge kann eine Klartext-IP-Adresse, ein Hostname, ein Netzwerkschnittstellenname (unter UNIX) oder einfach ein „-“ sein, um die Standard-IP-Adresse zu verwenden.
CURLOPT_INTERFACE
Der Netzwerk-Sendeschnittstellenname, der ein Schnittstellenname, eine IP-Adresse oder ein Hostname sein kann.
CURLOPT_KRB4LEVEL
KRB4 (Kerberos 4) Sicherheitsstufe. Jeder der folgenden Werte ist gültig (in der Reihenfolge vom niedrigsten zum höchsten): „klar“, „sicher“, „vertraulich“, „privat“. Wenn die Zeichenfolge mit keiner dieser Angaben übereinstimmt, wird „private“ verwendet. Wenn Sie diese Option auf NULL setzen, wird die KRB4-Sicherheitsauthentifizierung deaktiviert. Derzeit kann die KRB4-Sicherheitszertifizierung nur für FTP-Übertragungen verwendet werden.
CURLOPT_POSTFIELDS
Alle Daten werden über die Operation „POST“ im HTTP-Protokoll gesendet. Um eine Datei zu senden, stellen Sie dem Dateinamen ein @ voran und verwenden Sie den vollständigen Pfad. Dieser Parameter kann über eine URL-codierte Zeichenfolge wie „para1=val1¶2=val2&...“ oder ein Array mit dem Feldnamen als Schlüssel und den Felddaten als Wert übergeben werden. Wenn value ein Array ist, wird der Content-Type-Header auf multipart/form-data gesetzt.
CURLOPT_PROXY
HTTP-Proxy-Kanal.
CURLOPT_PROXYUSERPWD
Eine Zeichenfolge im Format „[Benutzername]:[Passwort]“, die zur Verbindung mit dem Proxy verwendet wird.
CURLOPT_RANDOM_FILE
Ein Dateiname, der zum Generieren von SSL-Zufallszahlen-Seeds verwendet wird.
CURLOPT_RANGE
In der Form „X-Y“, wobei X und Y optional sind, um den Datenbereich in Bytes zu erhalten. Der HTTP-Transportthread unterstützt auch mehrere solcher durch Kommas getrennten Duplikate wie „X-Y,N-M“.
CURLOPT_REFERER
Der Inhalt von „Referer:“ im HTTP-Anfrageheader.
CURLOPT_SSL_CIPHER_LIST
Eine Liste von SSL-Verschlüsselungsalgorithmen. Beispielsweise sind RC4-SHA und TLSv1 beide verfügbare Verschlüsselungslisten.
CURLOPT_SSLCERT
Ein Dateiname, der ein Zertifikat im PEM-Format enthält.
CURLOPT_SSLCERTPASSWD
Das für die Verwendung des CURLOPT_SSLCERT-Zertifikats erforderliche Passwort.
CURLOPT_SSLCERTTYPE
Der Typ des Zertifikats. Unterstützte Formate sind „PEM“ (Standard), „DER“ und „ENG“.
Hinzugefügt in cURL 7.9.3.
CURLOPT_SSLENGINE
Die Verschlüsselungs-Engine-Variable, die für den in CURLOPT_SSLKEY angegebenen privaten SSL-Schlüssel verwendet wird.
CURLOPT_SSLENGINE_DEFAULT
Variablen, die für asymmetrische Verschlüsselungsvorgänge verwendet werden.
CURLOPT_SSLKEY
Der Dateiname, der den privaten SSL-Schlüssel enthält.
CURLOPT_SSLKEYPASSWD
Das Passwort für den in CURLOPT_SSLKEY angegebenen privaten SSL-Schlüssel.
Hinweis:
Da diese Option vertrauliche Passwortinformationen enthält, denken Sie daran, dieses PHP-Skript sicher aufzubewahren.
CURLOPT_SSLKEYTYPE
Der Verschlüsselungstyp des in CURLOPT_SSLKEY angegebenen privaten Schlüssels. Die unterstützten Schlüsseltypen sind „PEM“ (Standardwert), „DER“ und „ENG“.
CURLOPT_URL
Die abzurufende URL-Adresse kann auch in der Funktion curl_init() festgelegt werden.
CURLOPT_USERAGENT
Enthält eine „User-Agent:“-Headerzeichenfolge in der HTTP-Anfrage.
CURLOPT_USERPWD
Übergeben Sie den für eine Verbindung erforderlichen Benutzernamen und das Passwort im Format: „[Benutzername]:[Passwort]“.
Kategorie 4
Für die optionalen Parameter der folgenden Optionen sollte der Wert auf ein Array gesetzt werden:
Option
Optionaler Wert
Bemerkungen
CURLOPT_HTTP200ALIASES
200 Antwortcode-Array, die Antwort im Array wird als korrekte Antwort betrachtet, andernfalls wird sie als Fehler betrachtet.
Hinzugefügt in cURL 7.10.3.
CURLOPT_HTTPHEADER
Ein Array, das zum Festlegen von HTTP-Headerfeldern verwendet wird. Verwenden Sie zum Festlegen ein Array in der folgenden Form: array('Content-type: text/plain', 'Content-length: 100′)
CURLOPT_POSTQUOTE
Nachdem die FTP-Anfrage abgeschlossen ist, Eine Reihe von FTP-Befehlen, die auf dem Server ausgeführt werden.
CURLOPT_QUOTE
Eine Reihe von FTP-Befehlen, die vor der FTP-Anfrage auf dem Server ausgeführt werden.
Für die optionalen Parameter der folgenden Optionen sollte der Wert auf eine Stream-Ressource festgelegt werden (z. B. mit fopen()):
Option
Optionaler Wert
CURLOPT_FILE
Legen Sie den Speicherort der Ausgabedatei fest. Der Wert ist ein Ressourcentyp. Der Standardwert ist STDOUT (Browser).
CURLOPT_INFILE
Die Dateiadresse, die beim Hochladen einer Datei gelesen werden muss. Der Wert ist ein Ressourcentyp.
CURLOPT_STDERR
Legen Sie eine Fehlerausgabeadresse fest. Der Wert ist ein Ressourcentyp und ersetzt den Standardwert STDERR.
CURLOPT_WRITEHEADER
Legen Sie die Dateiadresse fest, in die der Header-Teil geschrieben wird, und der Wert ist ein Ressourcentyp.
Für die optionalen Parameter der folgenden Optionen sollte der Wert auf einen Callback-Funktionsnamen gesetzt werden:
Option
Optionaler Wert
CURLOPT_HEADERFUNCTION
Legen Sie eine Rückruffunktion fest. Der erste ist das cURL-Ressourcenhandle und der zweite sind die Ausgabeheaderdaten. Die Ausgabe von Header-Daten muss auf dieser Funktion basieren, die die Größe der geschriebenen Daten zurückgibt.
CURLOPT_PASSWDFUNCTION
Legen Sie eine Rückruffunktion mit drei Parametern fest. Der erste ist das cURL-Ressourcenhandle, der zweite ist eine Passwortabfrage und der dritte Parameter ist der maximal zulässige Passwortwert. Gibt den Wert des Passworts zurück.
CURLOPT_PROGRESSFUNCTION
Legen Sie eine Rückruffunktion mit drei Parametern fest. Der erste ist das cURL-Ressourcenhandle, der zweite ist eine Dateideskriptorressource und der dritte ist die Länge. Gibt die enthaltenen Daten zurück.
CURLOPT_READFUNCTION
Eine Rückruffunktion mit zwei Parametern. Der erste Parameter ist das Sitzungshandle und der zweite Parameter ist die Zeichenfolge der HTTP-Antwort-Header-Informationen. Mit dieser Funktion werden die zurückgegebenen Daten selbst verarbeitet. Der Rückgabewert ist die Datengröße in Bytes. Die Rückgabe von 0 stellt das EOF-Signal dar.
CURLOPT_WRITEFUNCTION
Eine Callback-Funktion mit zwei Parametern. Der erste Parameter ist das Sitzungshandle und der zweite Parameter ist die Zeichenfolge der HTTP-Antwort-Header-Informationen. Mit dieser Rückruffunktion werden die Antwortheaderinformationen selbst verarbeitet. Die Antwort-Header-Informationen sind die gesamte Zeichenfolge. Setzen Sie den Rückgabewert auf die genaue Länge der geschriebenen Zeichenfolge. Der Transportthread wird beendet, wenn ein Fehler auftritt.