PHP-Funktion curl_setopt
(PHP 4 >= 4.0.2, PHP 5)
curl_setopt — Legt eine cURL-Transferoption fest.
Beschreibung
bool curl_setopt ( resource $ch , int $option , mixed $value )
Setzt eine Option für das angegebene cURL-Sitzungshandle.
Parameters
ch
cURL-Handle, das von curl_init() zurückgegeben wird.
option
Die CURLOPT_XXX-Option, die gesetzt werden soll.
value
Der Wert, der für die Option festgelegt werden soll.
Für die folgenden optionalen Parameter für diese Optionen sollte value auf einen booleschen Wert gesetzt werden:
| Option | WertvalueWert | Hinweise |
|---|---|---|
| CURLOPT_AUTOREFERER | Beim Folgen vonLocation:-Weiterleitungen automatisch die Header-InformationenReferer:setzen. | |
| CURLOPT_BINARYTRANSFER | Wenn aktiviert, gibtCURLOPT_RETURNTRANSFERnative (Raw)-Ausgabe zurück. | |
| 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 sind solche, die existieren, um festzustellen, ob die serverseitige Sitzung gültig ist. | |
| CURLOPT_CRLF | Wenn aktiviert, Unix-Zeilenumbrüche in Wagenrücklauf und Zeilenvorschub umwandeln. | |
| CURLOPT_DNS_USE_GLOBAL_CACHE | Wenn aktiviert, wird ein globaler DNS-Cache aktiviert. Diese Option ist threadsicher und standardmäßig aktiviert. | |
| CURLOPT_FAILONERROR | HTTP-Statuscodes anzeigen. Standardmäßig werden HTTP-Nachrichten mit Codes kleiner oder gleich 400 ignoriert. | |
| CURLOPT_FILETIME | Wenn aktiviert, wird versucht, Änderungsinformationen des entfernten Dokuments zu ermitteln. Die Ergebnisinformationen werden über die OptionCURLINFO_FILETIMEder Funktion curl_getinfo() zurückgegeben. curl_getinfo(). | |
| CURLOPT_FOLLOWLOCATION | Wenn aktiviert, wird das vom Server zurückgegebene"Location: "genommen, in den Header gesetzt und rekursiv an den Server zurückgegeben; mitCURLOPT_MAXREDIRSkann die Anzahl der rekursiven Rückgaben begrenzt werden. | |
| CURLOPT_FORBID_REUSE | Erzwingt die Trennung der Verbindung nach Abschluss der Interaktion; kann nicht wiederverwendet werden. | |
| CURLOPT_FRESH_CONNECT | Erzwingt, dass eine neue Verbindung hergestellt wird, wodurch die zwischengespeicherte Verbindung ersetzt wird. | |
| CURLOPT_FTP_USE_EPRT | Wenn aktiviert, während des FTP-Downloads den EPRT-Befehl (oder LPRT) verwenden. Die EinstellungFALSEdeaktiviert EPRT und LPRT und verwendet nur den PORT-Befehl. | |
| CURLOPT_FTP_USE_EPSV | Wenn aktiviert, versucht es während der FTP-Übertragung zuerst den EPSV-Befehl, bevor es in den PASV-Modus zurückfällt. Die EinstellungFALSEdeaktiviert den EPSV-Befehl. | |
| CURLOPT_FTPAPPEND | Wenn aktiviert, an die Datei anhängen, anstatt sie zu überschreiben. | |
| CURLOPT_FTPASCII | CURLOPT_TRANSFERTEXTAlias von. | |
| CURLOPT_FTPLISTONLY | Wenn aktiviert, nur die Namen der FTP-Verzeichnisse auflisten. | |
| CURLOPT_HEADER | Wenn aktiviert, werden Header-Dateiinformationen als Datenstrom ausgegeben. | |
| CURLINFO_HEADER_OUT | Wenn aktiviert, die Anfragezeichenfolge des Handles verfolgen. | Verfügbar ab PHP 5.1.3.CURLINFO_Das Präfix ist beabsichtigt. |
| CURLOPT_HTTPGET | Wenn aktiviert, wird die HTTP-Methode auf GET gesetzt. Da GET die Standardeinstellung ist, wird sie nur verwendet, wenn sie geändert wurde. | |
| CURLOPT_HTTPPROXYTUNNEL | Wenn aktiviert, wird ü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~/.netrcdie Datei zu, um Benutzername- und Passwortinformationen zu erhalten, um eine Verbindung zur Remote-Site herzustellen. | |
| CURLOPT_NOBODY | Wenn aktiviert, wird der BODY-Teil von HTML nicht ausgegeben. | |
| CURLOPT_NOPROGRESS | Wenn aktiviert, wird der Fortschrittsbalken für den curl-Transfer deaktiviert. Diese Option ist standardmäßig aktiviert.
|
|
| CURLOPT_NOSIGNAL | Wenn aktiviert, werden alle von curl an PHP übergebenen Signale ignoriert. Diese Option ist während des SAPI-Multithread-Transfers standardmäßig aktiviert. | Hinzugefügt in cURL 7.10. |
| CURLOPT_POST | Wenn aktiviert, wird eine reguläre POST-Anfrage gesendet, mit Typ:application/x-www-form-urlencoded, genau wie beim Absenden eines Formulars. | |
| CURLOPT_PUT | Wenn aktiviert, ist das Senden von HTTP-Dateien erlaubt; außerdem müssenCURLOPT_INFILEundCURLOPT_INFILESIZE gesetzt werden.。 | |
| CURLOPT_RETURNTRANSFER | Die von curl_exec() erhaltenen Informationen als Dateistream zurückgeben, anstatt sie direkt auszugeben. | |
| CURLOPT_SSL_VERIFYPEER | Wenn deaktiviert, hört cURL auf, den Server zu verifizieren. Verwenden Sie die OptionCURLOPT_CAINFO, um das Zertifikat festzulegen; verwenden Sie die OptionCURLOPT_CAPATH, um das Zertifikatsverzeichnis festzulegen;CURLOPT_SSL_VERIFYPEER(Standardwert 2) ist aktiviert,CURLOPT_SSL_VERIFYHOSTmuss aufTRUEgesetzt werden, andernfalls aufFALSE。 | Standardwert ist seit cURL 7.10TRUE. Seit cURL 7.10 standardmäßig gebunden. |
| CURLOPT_TRANSFERTEXT | Wenn aktiviert, wird der ASCII-Modus für die FTP-Übertragung verwendet. Für LDAP werden Klartextinformationen anstelle von HTML abgerufen. Unter Windows-Systemen setzt das SystemSTDOUTnicht in den Binärmodus. | |
| CURLOPT_UNRESTRICTED_AUTH | WennCURLOPT_FOLLOWLOCATIONverwendet wird, weiterhin Benutzername- und Passwortinformationen bei mehreren Weiterleitungen im generierten Header anhängen, auch wenn sich die Domain geändert hat. | |
| CURLOPT_UPLOAD | Wenn aktiviert, ist das Hochladen von Dateien erlaubt. | |
| CURLOPT_VERBOSE | Wenn aktiviert, werden alle Informationen gemeldet, gespeichert inSTDERRoder in dem angegebenenCURLOPT_STDERR. |
Für die folgenden optionalen Parameter für diese Optionen sollte der Wert auf einen ganzzahligen Wert gesetzt werden:
| Option | WertvalueWert | Hinweise |
|---|---|---|
| CURLOPT_BUFFERSIZE | Die Größe des Caches, der bei jedem abgerufenen Datenblock gelesen wird, aber es gibt keine Garantie, dass dieser Wert jedes Mal gefüllt wird. | Hinzugefügt in cURL 7.10. |
| CURLOPT_CLOSEPOLICY | Entweder CURLCLOSEPOLICY_LEAST_RECENTLY_USED oder CURLCLOSEPOLICY_OLDEST. Es gibt drei weitere CURLCLOSEPOLICY-Werte, aber cURL unterstützt sie noch nicht. | |
| CURLOPT_CONNECTTIMEOUT | Die Wartezeit vor dem Initiieren einer Verbindung; wenn auf 0 gesetzt, wird unbegrenzt gewartet. | |
| CURLOPT_CONNECTTIMEOUT_MS | Die Wartezeit bei einem Verbindungsversuch, in Millisekunden. Wenn auf 0 gesetzt, wird unbegrenzt gewartet. | Hinzugefügt in cURL 7.16.2. Verfügbar ab PHP 5.2.3. |
| CURLOPT_DNS_CACHE_TIMEOUT | Legt die Zeit fest, DNS-Informationen im Speicher zu speichern; Standard ist 120 Sekunden. | |
| CURLOPT_FTPSSLAUTH | FTP-Authentifizierungsmethode:CURLFTPAUTH_SSL(zuerst SSL versuchen),CURLFTPAUTH_TLS(zuerst TLS versuchen) oderCURLFTPAUTH_DEFAULT(cURL automatisch entscheiden lassen). | Hinzugefügt in cURL 7.12.2. |
| CURLOPT_HTTP_VERSION | CURL_HTTP_VERSION_NONE(Standard, cURL entscheiden lassen, welche Version verwendet wird),CURL_HTTP_VERSION_1_0(HTTP/1.0 erzwingen) oderCURL_HTTP_VERSION_1_1(HTTP/1.1 erzwingen). | |
| CURLOPT_INFILESIZE | Legt die Größenbeschränkung für hochgeladene Dateien in Bytes fest. | |
| CURLOPT_LOW_SPEED_LIMIT | Wenn die Übertragungsgeschwindigkeit kleiner alsCURLOPT_LOW_SPEED_LIMIT(bytes/sec) ist, entscheidet PHP anhand vonCURLOPT_LOW_SPEED_TIME, ob die Übertragung abgebrochen wird, weil sie zu langsam ist. | |
| CURLOPT_LOW_SPEED_TIME | Wenn die Übertragungsgeschwindigkeit kleiner alsCURLOPT_LOW_SPEED_LIMIT(bytes/sec) ist, entscheidet PHP anhand vonCURLOPT_LOW_SPEED_TIME, ob die Übertragung abgebrochen wird, weil sie zu langsam ist. | |
| CURLOPT_MAXCONNECTS | Die maximale Anzahl zulässiger Verbindungen; wenn diese überschritten wird, wirdCURLOPT_CLOSEPOLICYverwendet, um zu entscheiden, welche Verbindungen beendet werden sollen. | |
| CURLOPT_MAXREDIRS | Gibt die maximale Anzahl von HTTP-Weiterleitungen an. Diese Option wird zusammen mitCURLOPT_FOLLOWLOCATIONverwendet. | |
| CURLOPT_PORT | Wird verwendet, um den Verbindungsport anzugeben. (Optional) | |
| CURLOPT_PROTOCOLS | CURLPROTO_*Bitmaske. Wenn aktiviert, schränkt der Bitmaskenwert ein, welche Protokolle libcurl während der Übertragung verwenden kann. Dadurch können Sie viele Protokolle unterstützen, wenn Sie libcurl kompilieren, es aber auf eine Teilmenge der zulässigen Protokolle beschränken. Standardmäßig verwendet libcurl alle Protokolle, die es unterstützt. SieheCURLOPT_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 | Hinzugefügt in cURL 7.19.4. |
| CURLOPT_PROTOCOLS | CURLPROTO_*Bitmaske. Wenn aktiviert, schränkt der Bitmaskenwert ein, welche Protokolle libcurl während der Übertragung verwenden kann. Dadurch können Sie viele Protokolle unterstützen, wenn Sie libcurl kompilieren, es aber auf eine Teilmenge der zulässigen Protokolle beschränken. Standardmäßig verwendet libcurl alle Protokolle, die es unterstützt. SieheCURLOPT_REDIR_PROTOCOLSVerfügbare 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 | Hinzugefügt in cURL 7.19.4. |
| CURLOPT_PROXYAUTH | Authentifizierungsmethode für HTTP-Proxy-Verbindungen. Verwenden Sie dieCURLOPT_HTTPAUTHBitfeld-Flags, um die entsprechende Option festzulegen. Für die Proxy-Authentifizierung werden nurCURLAUTH_BASICundCURLAUTH_NTLMderzeit unterstützt. | Hinzugefügt in cURL 7.10.7. |
| CURLOPT_PROXYPORT | Proxy-Server-Port. Der Port kann auch inCURLOPT_PROXYfestgelegt werden | |
| CURLOPT_PROXYTYPE | ist nichtCURLPROXY_HTTP(Standardwert) oderCURLPROXY_SOCKS5。 | Hinzugefügt in cURL 7.10. |
| CURLOPT_REDIR_PROTOCOLS | CURLPROTO_*Der Bitfeld-Wert. Wenn aktiviert, schränkt der Bitfeld-Wert den Transfer-Thread aufCURLOPT_FOLLOWLOCATIONdie Protokolle ein, die beim Folgen einer Weiterleitung verwendet werden können. Dadurch können Sie den Transfer-Thread während Weiterleitungen auf eine Teilmenge der zulässigen Protokolle beschränken. Standardmäßig erlaubt libcurl alle Protokolle außer FILE und SCP. Dies unterscheidet sich etwas von der Vorabversion 7.19.4, die bedingungslos allen unterstützten Protokollen folgte. Für Protokollkonstanten beachten Sie bitteCURLOPT_PROTOCOLS。 | Hinzugefügt in cURL 7.19.4. |
| CURLOPT_RESUME_FROM | Übergeben Sie einen Byte-Offset beim Fortsetzen der Übertragung (wird zum Fortsetzen unterbrochener Übertragungen verwendet). | |
| CURLOPT_SSL_VERIFYHOST | 1 Prüfen Sie, ob ein Common Name im SSL-Zertifikat des Servers vorhanden ist. Hinweis des Übersetzers: Der Common Name bezieht sich im Allgemeinen auf die Domain oder Subdomain, für die Sie gerade ein SSL-Zertifikat beantragen möchten. 2 Prüfen Sie, ob der Common 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 manuell festgelegt werden muss. | |
| CURLOPT_TIMECONDITION | WennCURLOPT_TIMEVALUEnach der angegebenen Zeit bearbeitet wurde, verwenden SieCURL_TIMECOND_IFMODSINCE, um die Seite zurückzugeben; wenn sie nicht geändert wurde, undCURLOPT_HEADERwahr ist, geben Sie einen"304 Not Modified"Header zurück,CURLOPT_HEADERfalsch ist, verwenden SieCURL_TIMECOND_IFUNMODSINCE, der Standard istCURL_TIMECOND_IFUNMODSINCE。 | |
| CURLOPT_TIMEOUT | Legen Sie die maximale Anzahl von Sekunden fest, die cURL ausgeführt werden darf. | |
| CURLOPT_TIMEOUT_MS | Legen Sie die maximale Anzahl von Millisekunden fest, die cURL ausgeführt werden darf. | Hinzugefügt in cURL 7.16.2. Verfügbar ab PHP 5.2.3. |
| CURLOPT_TIMEVALUE | Legen Sie einenCURLOPT_TIMECONDITIONZeitstempel fest, der verwendet werden soll; standardmäßig wirdCURL_TIMECOND_IFMODSINCE verwendet。 |
Für die folgenden Optionen sollte der Parameter value auf einen Zeichenfolgenwert gesetzt werden:
| Option | OptionalvalueWert | Hinweise |
|---|---|---|
| CURLOPT_CAINFO | Ein Dateiname, der ein oder mehrere Zertifikate zur Serververifizierung enthält. Dieser Parameter ist nur in Verbindung mitCURLOPT_SSL_VERIFYPEERsinnvoll. Er ist nur bei gemeinsamer Verwendung sinnvoll. | |
| CURLOPT_CAPATH | Ein Verzeichnis, das mehrere CA-Zertifikate enthält. Diese Option wird mitCURLOPT_SSL_VERIFYPEERverwendet. Sie wird zusammen verwendet. | |
| CURLOPT_COOKIE | Setzen Sie den"Cookie: "Teil der HTTP-Anfrage. Mehrere Cookies werden durch Semikolons getrennt, mit einem Leerzeichen nach dem Semikolon (z. B. "fruit=apple; colour=red"). | |
| CURLOPT_COOKIEFILE | Der Dateiname, der Cookie-Daten enthält. Das Cookie-Dateiformat kann das Netscape-Format oder einfach in einer Datei gespeicherte reine HTTP-Header-Informationen sein. | |
| CURLOPT_COOKIEJAR | Die Datei, in die Cookie-Informationen nach dem Ende der Verbindung gespeichert werden. | |
| CURLOPT_CUSTOMREQUEST | Verwenden Sie eine benutzerdefinierte Anfragenachricht anstelle von"GET"oder"HEAD"als HTTP-Anfrage. Dies ist nützlich zum Ausführen von"DELETE"oder andere eher unbekannte HTTP-Anfragen. Gültige Werte sind unter anderem"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.0\r\n\r\n"ist falsch.
|
|
| CURLOPT_EGDSOCKET | Ähnlich wieCURLOPT_RANDOM_FILE, außer dass es sich um einen Entropy-Gathering-Daemon-Socket handelt. | |
| CURLOPT_ENCODING | Im HTTP-Anfrage-Header"Accept-Encoding: "Wert. Unterstützte Kodierungen sind"identity","deflate"und"gzip". Wenn eine leere Zeichenkette"", sendet der Request-Header 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-"POST"-Befehl erforderlich ist. Der "POST"-Befehl weist den Remote-Server an, sich mit der von uns angegebenen IP-Adresse zu verbinden. Diese Zeichenkette kann eine Klartext-IP-Adresse, ein Hostname, ein Name einer Netzwerkschnittstelle (unter UNIX) oder einfach ein "-" sein, um die Standard-IP-Adresse zu verwenden. | |
| CURLOPT_INTERFACE | Name der Netzwerkschnittstelle zum Senden; er kann ein Schnittstellenname, eine IP-Adresse oder ein Hostname sein. | |
| CURLOPT_KRB4LEVEL | KRB4-(Kerberos 4-)Sicherheitsstufe. Jeder der folgenden Werte ist gültig (in der Reihenfolge von niedrig nach hoch):"clear"、"safe"、"confidential"、"private".. Wenn die Zeichenkette keinem dieser Werte entspricht, wird"private". Wenn diese Option aufNULLgesetzt wird, wird die KRB4-Sicherheitsauthentifizierung deaktiviert. Derzeit kann die KRB4-Sicherheitsauthentifizierung nur für FTP-Übertragungen verwendet werden. | |
| CURLOPT_POSTFIELDS | Alle Daten werden mit der "POST"-Operation im HTTP-Protokoll gesendet. Um eine Datei zu senden, stellen Sie dem Dateinamen@prefix voran und verwenden Sie den vollständigen Pfad. Dieser Parameter kann eine URL-kodierte Zeichenkette ähnlich wie 'para1=val1¶2=val2&...' oder ein Array mit Feldnamen als Schlüssel und Felddaten als Werte sein. Wennvalueein Array ist, wird derContent-Type-Header aufmultipart/form-data gesetzt。 | |
| CURLOPT_PROXY | HTTP-Proxy-Tunnel. | |
| CURLOPT_PROXYUSERPWD | A"[username]:[password]"Formatzeichenfolge, die zum Herstellen einer Verbindung mit dem Proxy verwendet wird. | |
| CURLOPT_RANDOM_FILE | Ein Dateiname, der zum Erzeugen des SSL-Zufallszahlen-Seeds verwendet wird. | |
| CURLOPT_RANGE | mit"X-Y"in der Form, wobei X und Y optional sind und den Bereich der abzurufenden Daten in Bytes angeben. Der HTTP-Transferthread unterstützt außerdem mehrere solcher wiederholten Elemente, die durch Kommas getrennt sind, wie z. B."X-Y,N-M"。 | |
| CURLOPT_REFERER | Im HTTP-Anfrageheader"Referer: "Inhalt. | |
| CURLOPT_SSL_CIPHER_LIST | Eine Liste von SSL-Verschlüsselungsalgorithmen. Zum Beispiel sindRC4-SHAundTLSv1allesamt verfügbare Verschlüsselungslisten. | |
| CURLOPT_SSLCERT | Ein Dateiname, der ein Zertifikat im PEM-Format enthält. | |
| CURLOPT_SSLCERTPASSWD | Verwenden SieCURLOPT_SSLCERTdas vom Zertifikat benötigte Passwort. | |
| CURLOPT_SSLCERTTYPE | Zertifikatstyp. Unterstützte Formate sind"PEM"(Standard),"DER"und"ENG"。 | Hinzugefügt in cURL 7.9.3. |
| CURLOPT_SSLENGINE | Verwendet inCURLOPT_SSLKEYdie Variable der Verschlüsselungs-Engine für den SSL-Privatschlüssel, der angegeben ist in | |
| CURLOPT_SSLENGINE_DEFAULT | Die Variable, die für asymmetrische Verschlüsselungsoperationen verwendet wird. | |
| CURLOPT_SSLKEY | Der Dateiname, der den SSL-Privatschlüssel enthält. | |
| CURLOPT_SSLKEYPASSWD | InCURLOPT_SSLKEYDas Passwort für den privaten SSL-Schlüssel, angegeben in
|
|
| CURLOPT_SSLKEYTYPE | CURLOPT_SSLKEYDer Verschlüsselungstyp des privaten Schlüssels, der in ... angegeben ist. Unterstützte Schlüsseltypen sind"PEM"(Standard),"DER"und"ENG"。 | |
| CURLOPT_URL | Die abzurufende URL, die auch in der Funktioncurl_init()festgelegt werden kann. | |
| CURLOPT_USERAGENT | Fügen Sie eine"User-Agent: "Header-Zeichenfolge in die HTTP-Anfrage ein. | |
| CURLOPT_USERPWD | Übergeben Sie den für die Verbindung erforderlichen Benutzernamen und das Passwort im Format:"[username]:[password]"。 |
Für die folgenden Optionen sollte der value-Parameter auf ein Array gesetzt werden:
| Option | OptionalvalueWert | Hinweise |
|---|---|---|
| CURLOPT_HTTP200ALIASES | Ein Array von 200 Antwortcodes. Die Antwortcodes im Array werden als korrekte Antworten betrachtet, andernfalls gelten sie als Fehler. | Hinzugefügt in cURL 7.10.3. |
| CURLOPT_HTTPHEADER | Ein Array, das verwendet wird, um HTTP-Header-Felder festzulegen. Verwenden Sie ein Array in der folgenden Form: array('Content-type: text/plain', 'Content-length: 100') | |
| CURLOPT_POSTQUOTE | Eine Reihe von FTP-Befehlen, die auf dem Server ausgeführt werden, nachdem die FTP-Anfrage ausgeführt wurde. | |
| CURLOPT_QUOTE | Eine Reihe von FTP-Befehlen, die auf dem Server vor der FTP-Anfrage ausgeführt werden. |
Für die folgenden Optionen sollte der value-Parameter auf eine Stream-Ressource gesetzt werden (z. B. mit fopen()):
| Option | OptionalvalueWert |
|---|---|
| CURLOPT_FILE | Legt den Speicherort der Ausgabedatei fest; der Wert ist ein Ressourcentyp und standardmäßig aufSTDOUT(Browser). |
| CURLOPT_INFILE | Der Dateispeicherort, von dem beim Hochladen einer Datei gelesen wird; der Wert ist ein Ressourcentyp. |
| CURLOPT_STDERR | Legt einen Speicherort für die Fehlerausgabe fest; der Wert ist ein Ressourcentyp und ersetzt den StandardSTDERR。 |
| CURLOPT_WRITEHEADER | Legt den Dateispeicherort zum Schreiben des Inhalts des Header-Abschnitts fest; der Wert ist ein Ressourcentyp. |
Für die folgenden Optionen sollte der Wertparameter auf den Namen einer Callback-Funktion gesetzt werden:
| Option | OptionalvalueWert |
|---|---|
| CURLOPT_HEADERFUNCTION | Setzt eine Callback-Funktion mit zwei Parametern: Der erste ist das cURL-Ressourcen-Handle, der zweite sind die ausgegebenen Header-Daten. Die Ausgabe der Header-Daten muss über diese Funktion erfolgen. Gibt die Größe der geschriebenen Daten zurück. |
| CURLOPT_PASSWDFUNCTION | Setzt eine Callback-Funktion mit drei Parametern: Der erste ist das cURL-Ressourcen-Handle, der zweite ist eine Passwortaufforderung und der dritte ist die maximal zulässige Passwortlänge. Gibt den Passwortwert zurück. |
| CURLOPT_PROGRESSFUNCTION | Legt eine Callback-Funktion mit drei Parametern fest: Der erste ist das cURL-Ressourcen-Handle, der zweite ist eine Dateideskriptor-Ressource und der dritte ist die Länge. Gibt die enthaltenen Daten zurück. |
| CURLOPT_READFUNCTION | Name der Callback-Funktion. Diese Funktion sollte drei Parameter akzeptieren. Der erste ist eine cURL-Ressource; der zweite ist die Stream-Ressource, die über die OptionCURLOPT_INFILEan cURL übergeben wird; der dritte Parameter ist die maximale Datenmenge, die gelesen werden kann. Die Callback-Funktion muss eine Zeichenkette mit einer Länge kleiner oder gleich der angeforderten Datenmenge (der dritte Parameter) zurückgeben. Im Allgemeinen wird aus der übergebenen Stream-Ressource gelesen. Die Rückgabe einer leeren Zeichenkette alsEOF(Ende der Datei)-Signal. |
| CURLOPT_WRITEFUNCTION | Name der Callback-Funktion. Diese Funktion sollte zwei Parameter akzeptieren. Der erste ist eine cURL-Ressource; der zweite ist der zu schreibende Daten-String. Die Daten müssen in der Funktion gespeichert werden. Die Funktion muss die exakte Anzahl an Bytes der übergebenen Daten zurückgeben, die geschrieben werden sollen, andernfalls wird die Übertragung durch einen Fehler unterbrochen. |
Rückgabewerte
Gibt bei Erfolg TRUE zurück, bei Fehlschlag FALSE.
Änderungsprotokoll
| Version | Beschreibung |
|---|---|
| 5.2.10 | EingeführtCURLOPT_PROTOCOLS, und
CURLOPT_REDIR_PROTOCOLS.
|
| 5.1.0 | EingeführtCURLOPT_AUTOREFERER,
CURLOPT_BINARYTRANSFER,
CURLOPT_FTPSSLAUTH,
CURLOPT_PROXYAUTH, und
CURLOPT_TIMECONDITION.
|
| 5.0.0 | EingeführtCURLOPT_FTP_USE_EPRT,
CURLOPT_NOSIGNAL,
CURLOPT_UNRESTRICTED_AUTH,
CURLOPT_BUFFERSIZE,
CURLOPT_HTTPAUTH,
CURLOPT_PROXYPORT,
CURLOPT_PROXYTYPE,
CURLOPT_SSLCERTTYPE, und
CURLOPT_HTTP200ALIASES.
|
Beispiele
Initialisieren Sie eine neue cURL-Sitzung und rufen Sie eine Webseite ab
<?php // 创建一个新cURL资源 $ch = curl_init(); // 设置URL和相应的选项 curl_setopt($ch, CURLOPT_URL, "http://www.example.com/"); curl_setopt($ch, CURLOPT_HEADER, false); // 抓取URL并把它传递给浏览器 curl_exec($ch); //关闭cURL资源,并且释放系统资源 curl_close($ch); ?>
Beispiel für einen Datei-Upload:
<?php
/* http://localhost/upload.php:
print_r($_POST);
print_r($_FILES);
*/
$ch = curl_init();
$data = array('name' => 'Foo', 'file' => '@/home/user/test.png');
curl_setopt($ch, CURLOPT_URL, 'http://localhost/upload.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_exec($ch);
?>
Das obige Beispiel gibt Folgendes aus:
Array
(
[name] => Foo
)
Array
(
[file] => Array
(
[name] => test.png
[type] => image/png
[tmp_name] => /tmp/phpcpjNeQ
[error] => 0
[size] => 279
)
)
Hinweise
Wenn ein Array an CURLOPT_POSTFIELDS übergeben wird, veranlasst dies cURL, die Daten als multipart/form-data zu kodieren, während die Übergabe einer URL-kodierten Zeichenkette bewirkt, dass die Daten als application/x-www-form-urlencoded kodiert werden.
Andere Erweiterungen
PHP cURL-Referenzhandbuch