Was macht die PHP-Funktion „curl_setopt“?
Die Funktion „curl_setopt“ ist eine wichtige Funktion in PHP. Sie wird zum Festlegen einer cURL-Übertragungsoption verwendet. Wie ist es also aufgebaut? Was sind die Parameter? Der Hauptzweck dieses Artikels besteht darin, Ihnen eine detaillierte Einführung in die Funktion
der Funktion curl_setopt in PHP zu geben.
Erster Blick auf die Syntaxbeschreibung
bool curl_setopt ( resource $ch , int $option , mixed $value )
Parameterdetails:
ch
Das von curl_init() zurückgegebene cURL-Handle.
Option
CURLOPT_XXX Optionen, die festgelegt werden müssen.
Wert
Der Wert, der für die Option festgelegt wird.
PS: Beachten Sie hier, dass der Wert gemäß den von der Option ausgewählten Parametern wie folgt eingestellt wird
Für die optionalen Parameter des Bei den folgenden Optionen sollte der Wert auf einen Wert vom Typ „Bool“ gesetzt werden:
Optionen | OptionalWertWert | Bemerkungen | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CURLOPT_AUTOREFERER | Bei der Weiterleitung basierend auf Standort: werden automatisch die Referer:-Informationen in der Kopfzeile festgelegt. | ||||||||||||||||
CURLOPT_BINARYTRANSFER | Wenn CURLOPT_RETURNTRANSFER aktiviert ist, wird das native ( Raw zurückgegeben ) Ausgabe. | ||||||||||||||||
CURLOPT_COOKIESESSION | Wenn aktiviert, übergibt Curl nur ein Sitzungscookie und ignoriert andere Cookies Standard In diesem Fall gibt cURL alle Cookies an den Server zurück. Unter Sitzungscookies versteht man Cookies, die verwendet werden, um festzustellen, ob die serverseitige Sitzung gültig ist. | ||||||||||||||||
CURLOPT_CRLF | Wenn aktiviert, werden Unix-Zeilenvorschübe in Wagenrücklauf-Zeilenvorschübe umgewandelt. | ||||||||||||||||
CURLOPT_DNS_USE_GLOBAL_CACHE | Wenn aktiviert, wird ein globaler DNS-Cache aktiviert. sicher und ist standardmäßig aktiviert. | ||||||||||||||||
CURLOPT_FAILONERROR | Zeigt den HTTP-Statuscode an. Das Standardverhalten besteht darin, HTTP-Nachrichten mit Zahlen zu ignorieren kleiner oder gleich 400 . | ||||||||||||||||
CURLOPT_FILETIME | Wenn aktiviert, wird versucht, 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, gibt der Server " Standort zurück : „ wird im Header platziert und rekursiv an den Server zurückgegeben. Verwenden Sie CURLOPT_MAXREDIRS, um die Anzahl der rekursiven Rückgaben zu begrenzen. | ||||||||||||||||
CURLOPT_FORBID_REUSE | Nach Abschluss der Interaktion wird die Verbindung zwangsweise getrennt und kann nicht wiederverwendet werden. | ||||||||||||||||
CURLOPT_FRESH_CONNECT | Erzwingen Sie eine neue Verbindung, um die im Cache zu ersetzen. | ||||||||||||||||
CURLOPT_FTP_USE_EPRT | Wenn aktiviert, verwenden Sie beim FTP-Download den Befehl EPRT (oder LPRT). Deaktivieren Sie EPRT und LPRT, wenn sie auf FALSE eingestellt sind. Verwenden Sie dazu den Befehl PORT Nur. | ||||||||||||||||
CURLOPT_FTP_USE_EPSV | Wenn aktiviert, zuerst, bevor Sie während der FTP-Übertragung in den PASV-Modus zurückkehren. Versuchen Sie es EPSV-Befehl. Deaktiviert den EPSV-Befehl, wenn er auf FALSE gesetzt ist. | ||||||||||||||||
CURLOPT_FTPAPPEND | Wenn aktiviert, wird „Anhängen“ in die Datei geschrieben, anstatt sie zu überschreiben. Alias für | ||||||||||||||||
CURLOPT_FTPASCII | 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 für das Tracking-Handle, wenn aktiviert. | Verfügbar ab PHP 5.1.3. CURLINFO_Das Präfix ist beabsichtigt. | |||||||||||||||
CURLOPT_HTTPGET | Wenn diese Option aktiviert ist, wird die HTTP-Methode auf GET gesetzt und wird nur verwendet, wenn dies der Fall ist geändert. | ||||||||||||||||
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 Werte. | ||||||||||||||||
CURLOPT_NETRC | Nachdem die Verbindung hergestellt wurde, greifen Sie auf die Datei zu, um den Benutzernamen und das Passwort zu erhalten um eine Verbindung zur Remote-Site herzustellen. | ||||||||||||||||
CURLOPT_NOBODY | Wenn aktiviert, wird der BODY-Teil in HTML nicht ausgegeben. | ||||||||||||||||
CURLOPT_NOPROGRESS | Schließen Sie den Fortschrittsbalken der Curl-Übertragung, wenn diese aktiviert ist, die Standardeinstellung für Dieses Element auf „Aktiviert“ setzen.
| ||||||||||||||||
CURLOPT_NOSIGNAL | Wenn aktiviert, ignorieren Sie alle Curl-Übergaben an das PHP-Signal . Dieses Element ist während der SAPI-Multithread-Übertragung standardmäßig aktiviert. | cURL wurde in 7.10 hinzugefügt. | |||||||||||||||
CURLOPT_POST | Wenn aktiviert, wird eine reguläre POST-Anfrage gesendet, vom Typ: application/x-www-form- urlencodiert , genau wie Formularübermittlung. | ||||||||||||||||
CURLOPT_PUT | ermöglicht HTTP das Senden von Dateien, wenn aktiviert, und muss außerdem CURLOPT_INFILE festlegen und CURLOPT_INFILESIZE. | ||||||||||||||||
CURLOPT_RETURNTRANSFER | Gibt stattdessen die von curl_exec() erhaltenen Informationen in Form eines Dateistreams zurück der Direktausgabe. | ||||||||||||||||
CURLOPT_SSL_VERIFYPEER | Wenn deaktiviert, beendet cURL die Überprüfung vom Server. Verwenden Sie die Option CURLOPT_CAINFO, um das Zertifikat festzulegen. Verwenden Sie die Option CURLOPT_CAPATH, um das Zertifikatverzeichnis festzulegen. Wenn CURLOPT_SSL_VERIFYPEER (Standardwert ist 2) aktiviert ist, muss CURLOPT_SSL_VERIFYHOST auf TRUE gesetzt werden, andernfalls auf FALSE. | ist seit cURL 7.10 standardmäßig TRUE. Ab cURL 7.10 ist die Bundle-Installation standardmäßig vorgesehen. | |||||||||||||||
CURLOPT_TRANSFERTEXT | Verwenden Sie den ASCII-Modus für FTP-Übertragungen, wenn aktiviert. Bei LDAP werden reine Textinformationen anstelle von HTML abgerufen. Auf Windows-Systemen setzt das System STDOUT nicht auf den Binärmodus. | ||||||||||||||||
CURLOPT_UNRESTRICTED_AUTH | Mehrere Header generiert mit CURLOPT_FOLLOWLOCATION Benutzername und Passwortinformationen werden fortgesetzt an Standorte angehängt werden, auch wenn sich der Domänenname geändert hat. | ||||||||||||||||
CURLOPT_UPLOAD | Aktivieren, um Datei-Uploads zuzulassen. | ||||||||||||||||
CURLOPT_VERBOSE | Wenn aktiviert, werden alle Informationen gemeldet und in STDERR< gespeichert 🎜 > oder das angegebene CURLOPT_STDERR. |
Optionen | OptionalWertWert | Bemerkungen | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CURLOPT_BUFFERSIZE | Die Größe des Caches, der jedes Mal in die erhaltenen Daten eingelesen wird. Es gibt jedoch keine Garantie dafür, dass dieser Wert jedes Mal gefüllt wird. | wurde in cURL 7.10 hinzugefügt. | |||||||||||||||
CURLOPT_CLOSEPOLICY | Entweder CURLCLOSEPOLICY_LEAST_RECENTLY_USED oder CURLCLOSEPOLICY_OLDEST, aber cURL unterstützt sie noch nicht. | ||||||||||||||||
CURLOPT_CONNECTTIMEOUT | Die Wartezeit, bevor eine Verbindung hergestellt wird warte auf unbestimmte Zeit. | ||||||||||||||||
CURLOPT_CONNECTTIMEOUT_MS | Die Wartezeit in Millisekunden auf einen Verbindungsversuch. Wenn auf 0 gesetzt, unendlich warten. | wurde in cURL 7.16.2 hinzugefügt. 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-Überprüfungsmethode: CURLFTPAUTH_SSL (versuchen Sie es zuerst mit SSL) , CURLFTPAUTH_TLS (versuchen Sie es zuerst mit TLS) oder CURLFTPAUTH_DEFAULT (cURL automatisch entscheiden lassen). | wurde in cURL 7.12.2 hinzugefügt. | |||||||||||||||
CURLOPT_HTTP_VERSION | CURL_HTTP_VERSION_NONE (Standardwert, lassen Sie cURL entscheiden, welche Version verwendet werden soll), CURL_HTTP_VERSION_1_0 (HTTP/1.0 erzwingen) oder CURL_HTTP_VERSION_1_1 (HTTP/1.1 erzwingen). | ||||||||||||||||
CURLOPT_INFILESIZE | Legen Sie die Größenbeschränkung der hochgeladenen Dateien in Bytes fest. | ||||||||||||||||
CURLOPT_LOW_SPEED_LIMIT | Wenn die Übertragungsgeschwindigkeit weniger als CURLOPT_LOW_SPEED_LIMIT (Bytes) beträgt /sec ), 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 weniger als CURLOPT_LOW_SPEED_LIMIT (Bytes) beträgt /sec ), 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, falls überschritten, CURLOPT_CLOSEPOLICY Entscheiden Sie, welche Verbindungen gestoppt werden sollen. | ||||||||||||||||
CURLOPT_MAXREDIRS | Gibt die maximale Anzahl von HTTP-Weiterleitungen an. Diese Option ist dieselbe wie Wird zusammen mit CURLOPT_FOLLOWLOCATION verwendet. | ||||||||||||||||
CURLOPT_PORT | wird verwendet, um den Verbindungsport anzugeben. (Optional) | ||||||||||||||||
CURLOPT_PROTOCOLS | Bitfeldzeiger für CURLPROTO_* . Wenn diese Option aktiviert ist, begrenzt der Bitfeldwert, welche Protokolle libcurl während Übertragungen verwenden kann. Auf diese Weise können Sie libcurl so kompilieren, dass es ein breites Spektrum an Protokollen unterstützt, sich jedoch darauf beschränken, nur eine Teilmenge davon zu verwenden, die verwendet werden darf. Standardmäßig verwendet libcurl alle unterstützten Protokolle. Siehe CURLOPT_REDIR_PROTOCOLS LE, CURLPROTO_TFTP, CURLPROTO_ALL in cURL 7.19 wurde hinzugefügt. Die Bitfelder von | ||||||||||||||||
CURLPROTO_* | . Wenn diese Option aktiviert ist, begrenzt der Bitfeldwert, welche Protokolle libcurl während Übertragungen verwenden kann. Auf diese Weise können Sie libcurl so kompilieren, dass es ein breites Spektrum an Protokollen unterstützt, sich jedoch darauf beschränken, nur eine Teilmenge davon zu verwenden, die verwendet werden darf. Standardmäßig verwendet libcurl alle unterstützten Protokolle. Siehe CURLOPT_REDIR_PROTOCOLS LE, CURLPROTO_TFTP, CURLPROTO_ALL in cURL 7.19 wurde hinzugefügt. | CURLOPT_PROXYAUTH | |||||||||||||||
Überprüfungsmethode für 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_BASICund CURLAUTH_NTLM unterstützt. wurde in cURL 7.10.7 hinzugefügt. | CURLOPT_PROXYPORT | |||||||||||||||
Der Port des Proxyservers. Der Port kann auch in CURLOPT_PROXY eingestellt werden. | |||||||||||||||||
CURLOPT_PROXYTYPE | ist entweder CURLPROXY_HTTP (Standard) oder CURLPROXY_SOCKS5. | wurde in cURL 7.10 hinzugefügt. Der Bitfeldwert in | |||||||||||||||
CURLOPT_REDIR_PROTOCOLS | 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. | wurde in cURL 7.19.4 hinzugefügt. | |||||||||||||||
CURLOPT_RESUME_FROM | Übergeben Sie bei der Wiederaufnahme der Übertragung einen Byte-Offset (wird für die Wiederaufnahme der Übertragung verwendet). | ||||||||||||||||
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 nach einer bestimmten Zeit, die durch CURLOPT_TIMEVALUE angegeben wird wurde bearbeitet, verwenden Sie CURL_TIMECOND_IFMODSINCE, um zur Seite zurückzukehren. Wenn es nicht geändert wurde und CURLOPT_HEADER wahr ist, wird ein „304 Not Modified“-Header angezeigt zurückgegeben. < Wenn 🎜>CURLOPT_HEADER falsch ist, verwenden Sie CURL_TIMECOND_IFUNMODSINCE und der Standardwert ist CURL_TIMECOND_IFUNMODSINCE. | ||||||||||||||||
CURLOPT_TIMEOUT | Legen Sie die maximale Anzahl von Sekunden fest, die cURL ausführen darf.|||||||||||||||||
CURLOPT_TIMEOUT_MS | Legt die maximale Anzahl von Millisekunden fest, die cURL ausführen darf.wurde in cURL 7.16.2 hinzugefügt. Verfügbar ab PHP 5.2.3. | ||||||||||||||||
CURLOPT_TIMEVALUE | Legen Sie einen Zeitstempel fest, der vonCURLOPT_TIMECONDITION verwendet wird. Standardmäßig wird CURL_TIMECOND_IFMODSINCE verwendet . |
Optionen | OptionalWertWert | Bemerkungen |
---|---|---|
CURLOPT_CAINFO | Ein Dateiname, der ein oder mehrere Zertifikate zur Serverüberprüfung enthält. Dieser Parameter ist nur sinnvoll, wenn er mit CURLOPT_SSL_VERIFYPEER verwendet wird. . Diese Option wird mit | CURLOPT_SSL_VERIFYPEER verwendet. |
CURLOPT_COOKIE | Legen Sie den | "Cookie: " Teil des HTTP fest Inhalte anfordern. Mehrere Cookies werden durch ein Semikolon gefolgt von einem Leerzeichen getrennt (z. B. „ Frucht=Apfel; Farbe=Rot | “).
CURLOPT_COOKIEFILEDer Name der Datei, die Cookie-Daten enthält im Netscape-Format sein oder einfach die reinen HTTP-Header-Informationen in der Datei speichern. | ||
CURLOPT_COOKIEJAR | Eine Datei, die Cookie-Informationen speichert, nachdem die Verbindung beendet ist. | |
CURLOPT_CUSTOMREQUEST | Ersetzen Sie | durch eine benutzerdefinierte Anforderungsnachricht GET" oder | HEAD"
oder anderen verdeckteren HTTP-Anfragen. Zu den gültigen Werten gehören "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, außer einem Entropy Gathering Daemon-Socket. | |
CURLOPT_ENCODING | HTTP-Anfrageheader "Accept-Encoding: " Wert . Unterstützte Kodierungen sind "identity", "deflate" und "gzip". Wenn es sich um eine leere Zeichenfolge "" handelt, sendet der Anforderungsheader alle unterstützten Kodierungstypen. | wurde in cURL 7.10 hinzugefügt. |
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 sein kann ein Hostname. | |
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 Zeichenfolgen übereinstimmt, wird "private" verwendet. Wenn Sie diese Option auf NULL setzen, wird die KRB4-Sicherheitsauthentifizierung deaktiviert. Derzeit kann die KRB4-Sicherheitsauthentifizierung nur für die FTP-Übertragung verwendet werden. | |
CURLOPT_POSTFIELDS | Alle Daten werden mit der Operation „POST“ im HTTP-Protokoll gesendet. Um eine Datei zu senden, stellen Sie dem Dateinamen @ voran und verwenden Sie den vollständigen Pfad. Dieser Parameter kann über eine URL-codierte Zeichenfolge wie „para1=val1¶2=val2&...“ oder über ein Array mit dem Feldnamen als Schlüssel und den Felddaten als Wert übergeben werden. Wenn value ein Array ist, wird der Header Content-Type auf multipart/form-data gesetzt. | |
CURLOPT_PROXY | HTTP-Proxy-Kanal. | |
CURLOPT_PROXYUSERPWD | A "[Benutzername]:[ Passwort]" Formatzeichenfolge. | |
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 ist der Bereich der erhaltenen optionalen Daten, gemessen in Bytes. Der HTTP-Übertragungsthread unterstützt auch mehrere solcher Duplikate, die durch Kommas getrennt sind, z. B. "X-Y,N-M". | |
CURLOPT_REFERER | Im HTTP-Request-Header "Referer: " Inhalt . | |
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 | Passwort erforderlich, um das CURLOPT_SSLCERT-Zertifikat zu verwenden. | |
CURLOPT_SSLCERTTYPE | Der Typ des Zertifikats. Unterstützte Formate sind "PEM" (Standard), "DER" und "ENG". | wurde in cURL 7.9.3 hinzugefügt. |
CURLOPT_SSLENGINE | Krypto-Engine-Variable, die für den in CURLOPT_SSLKEY angegebenen privaten SSL-Schlüssel verwendet wird. | |
CURLOPT_SSLENGINE_DEFAULT | Variable, die für asymmetrische Verschlüsselungsvorgänge verwendet wird. | |
CURLOPT_SSLKEY | Der Name der Datei, die den privaten SSL-Schlüssel enthält. | |
CURLOPT_SSLKEYPASSWD | SSL angegeben in CURLOPT_SSLKEY Das Passwort für der private Schlüssel.
| |
CURLOPT_SSLKEYTYPE | CURLOPT_SSLKEY Der Verschlüsselungstyp des privaten Schlüssels. Die unterstützten Schlüsseltypen sind "PEM"(Standardwert), "DER" und "ENG". | |
CURLOPT_URL | Die URL-Adresse, die abgerufen werden muss, kann auch in abgerufen werden curl_init()In Funktion setzen. | |
CURLOPT_USERAGENT | Fügen Sie einen "User-Agent: "< in die HTTP-Anfrage ein 🎜>Header-Zeichenfolge. | |
CURLOPT_USERPWD | Übergeben Sie den für eine Verbindung erforderlichen Benutzernamen und das Passwort im Format:„[Benutzername]:[Passwort]“. |
Für diese Optionen unten optional Parameter, Wert sollte auf ein Array festgelegt werden:
Options | can Select< em class="reset">valueValue | Remarks |
---|
选项 | 可选value值 | 备注 |
---|---|---|
CURLOPT_HTTP200ALIASES | 200响应码数组,数组中的响应吗被认为是正确的响应,否则被认为是错误的。 | 在cURL 7.10.3中被加入。 |
CURLOPT_HTTPHEADER | 一个用来设置HTTP头字段的数组。使用如下的形式的数组进行设置: array('Content-type: text/plain', 'Content-length: 100') | |
CURLOPT_POSTQUOTE | 在FTP请求执行完成后,在服务器上执行的一组FTP命令。 | |
CURLOPT_QUOTE | 一组先于FTP请求的在服务器上执行的FTP命令。 |
对于下面的这些option的可选参数,value应该被设置一个流资源 (例如使用fopen()):
选项 | 可选value值 |
---|---|
CURLOPT_FILE | 设置输出文件的位置,值是一个资源类型,默认为STDOUT (浏览器)。 |
CURLOPT_INFILE | 在上传文件的时候需要读取的文件地址,值是一个资源类型。 |
CURLOPT_STDERR | 设置一个错误输出地址,值是一个资源类型,取代默认的STDERR。 |
CURLOPT_WRITEHEADER | 设置header部分内容的写入的文件地址,值是一个资源类型。 |
对于下面的这些option的可选参数,value应该被设置为一个回调函数名:
选项 | 可选value值 |
---|---|
CURLOPT_HEADERFUNCTION | 设置一个回调函数,这个函数有两个参数,第一个是cURL的资源句柄,第二个是输出的header数据。header数据的输出必须依赖这个函数,返回已写入的数据大小。 |
CURLOPT_PASSWDFUNCTION | 设置一个回调函数,有三个参数,第一个是cURL的资源句柄,第二个是一个密码提示符,第三个参数是密码长度允许的最大值。返回密码的值。 |
CURLOPT_PROGRESSFUNCTION | 设置一个回调函数,有三个参数,第一个是cURL的资源句柄,第二个是一个文件描述符资源,第三个是长度。返回包含的数据。 |
CURLOPT_READFUNCTION | 回调函数名。该函数应接受三个参数。第一个是 cURL resource;第二个是通过选项 CURLOPT_INFILE 传给 cURL 的 stream resource;第三个参数是最大可以读取的数据的数量。回 调函数必须返回一个字符串,长度小于或等于请求的数据量(第三个参数)。一般从传入的 stream resource 读取。返回空字符串作为 EOF(文件结束) 信号。 |
CURLOPT_WRITEFUNCTION | 回调函数名。该函数应接受两个参数。第一个是 cURL resource;第二个是要写入的数据字符串。数 据必须在函数中被保存。函数必须返回准确的传入的要写入数据的字节数,否则传输会被一个错误所中 断。 |
返回值
成功时返回 TRUE, 或者在失败时返回 FALSE。
实例
初始化一个新的cURL会话并获取一个网页
<?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); ?>
上传文件实例:
<?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); ?>
以上实例输出结果如下:
注释
传递一个数组到CURLOPT_POSTFIELDS,cURL会把数据编码成 multipart/form-data,而然传递一个URL-encoded字符串时,数据会被编码成 application/x-www-form-urlencoded。
【相关文章推荐】
Das obige ist der detaillierte Inhalt vonEinführung in das Konzept und Anwendungsbeispiele der PHP-Funktion „curl_setopt'.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!