男女疯狂一边摸一边做羞羞视频|啊好深好硬快点用力别停动态图|亚洲一区无码中文字幕|特级无码毛片免费视频播放▽|久久狠狠躁免费观看|国内精品久久久久久网站

curl_setopt

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

curl_setopt設置 cURL 傳輸選項

說(shuō)明

curl_setopt(resource $ch, int $option, mixed $value): bool

為 cURL 會(huì )話(huà)句柄設置選項。

參數

handle

curl_init() 返回的 cURL 句柄。

option

需要設置的CURLOPT_XXX選項。

value

將設置在option選項上的值。

以下 option 參數的 value應該被設置成 bool 類(lèi)型:

選項 value 設置為 備注
CURLOPT_AUTOREFERER true 時(shí)將根據 Location: 重定向時(shí),自動(dòng)設置 header 中的Referer:信息。
CURLOPT_BINARYTRANSFER 設為 true ,將在啟用 CURLOPT_RETURNTRANSFER 時(shí),返回原生的(Raw)輸出。 從 PHP 5.1.3 開(kāi)始,此選項不再有效果:使用 CURLOPT_RETURNTRANSFER 后總是會(huì )返回原生的(Raw)內容。
CURLOPT_COOKIESESSION 設為 true 時(shí)將開(kāi)啟新的一次 cookie 會(huì )話(huà)。它將強制 libcurl 忽略之前會(huì )話(huà)時(shí)存的其他 cookie。 libcurl 在默認狀況下無(wú)論是否為會(huì )話(huà),都會(huì )儲存、加載所有 cookie。會(huì )話(huà) cookie 是指沒(méi)有過(guò)期時(shí)間,只存活在會(huì )話(huà)之中。
CURLOPT_CERTINFO true 將在安全傳輸時(shí)輸出 SSL 證書(shū)信息到 STDERR。 在 cURL 7.19.1 中添加。 PHP 5.3.2 后有效。 需要開(kāi)啟 CURLOPT_VERBOSE 才有效。
CURLOPT_CONNECT_ONLY true 將讓庫執行所有需要的代理、驗證、連接過(guò)程,但不傳輸數據。此選項用于 HTTP、SMTP 和 POP3。 在 7.15.2 中添加。 PHP 5.5.0 起有效。
CURLOPT_CRLF 啟用時(shí)將Unix的換行符轉換成回車(chē)換行符。
CURLOPT_DNS_USE_GLOBAL_CACHE true 會(huì )啟用一個(gè)全局的DNS緩存。此選項非線(xiàn)程安全的,默認已開(kāi)啟。
CURLOPT_FAILONERROR 當 HTTP 狀態(tài)碼大于等于 400,true 將將顯示錯誤詳情。 默認情況下將返回頁(yè)面,忽略 HTTP 代碼。
CURLOPT_SSL_FALSESTART true 開(kāi)啟 TLS False Start (一種 TLS 握手優(yōu)化方式) cURL 7.42.0 中添加。自 PHP 7.0.7 起有效。
CURLOPT_FILETIME true 時(shí),會(huì )嘗試獲取遠程文檔中的修改時(shí)間信息。 信息可通過(guò)curl_getinfo()函數的CURLINFO_FILETIME 選項獲取。
CURLOPT_FOLLOWLOCATION true 時(shí)將會(huì )根據服務(wù)器返回 HTTP 頭中的 "Location: " 重定向。(注意:這是遞歸的,"Location: " 發(fā)送幾次就重定向幾次,除非設置了 CURLOPT_MAXREDIRS,限制最大重定向次數。)。
CURLOPT_FORBID_REUSE true 在完成交互以后強制明確的斷開(kāi)連接,不能在連接池中重用。
CURLOPT_FRESH_CONNECT true 強制獲取一個(gè)新的連接,而不是緩存中的連接。
CURLOPT_FTP_USE_EPRT true 時(shí),當 FTP 下載時(shí),使用 EPRT (和 LPRT)命令。 設置為 false 時(shí)禁用 EPRT 和 LPRT,僅僅使用PORT 命令。
CURLOPT_FTP_USE_EPSV true 時(shí),在FTP傳輸過(guò)程中,回到 PASV 模式前,先嘗試 EPSV 命令。設置為 false 時(shí)禁用 EPSV。
CURLOPT_FTP_CREATE_MISSING_DIRS true 時(shí),當 ftp 操作不存在的目錄時(shí)將創(chuàng )建它。
CURLOPT_FTPAPPEND true 為追加寫(xiě)入文件,而不是覆蓋。
CURLOPT_TCP_NODELAY true 時(shí)禁用 TCP 的 Nagle 算法,就是減少網(wǎng)絡(luò )上的小包數量。 PHP 5.2.1 有效,編譯時(shí)需要 libcurl 7.11.2 及以上。
CURLOPT_FTPASCII CURLOPT_TRANSFERTEXT 的別名。
CURLOPT_FTPLISTONLY true 時(shí)只列出 FTP 目錄的名字。
CURLOPT_HEADER 啟用時(shí)會(huì )將頭文件的信息作為數據流輸出。
CURLINFO_HEADER_OUT true 時(shí)追蹤句柄的請求字符串。 從 PHP 5.1.3 開(kāi)始可用。CURLINFO_ 的前綴是有意的(intentional)。
CURLOPT_HTTPGET true 時(shí)會(huì )設置 HTTP 的 method 為 GET,由于默認是 GET,所以只有 method 被修改時(shí)才需要這個(gè)選項。
CURLOPT_HTTPPROXYTUNNEL true 會(huì )通過(guò)指定的 HTTP 代理來(lái)傳輸。
CURLOPT_MUTE true 時(shí)將完全靜默,無(wú)論是何 cURL 函數。 在 cURL 7.15.5 中移出(可以使用 CURLOPT_RETURNTRANSFER 作為代替)
CURLOPT_NETRC true 時(shí),在連接建立時(shí),訪(fǎng)問(wèn)~/.netrc文件獲取用戶(hù)名和密碼來(lái)連接遠程站點(diǎn)。
CURLOPT_NOBODY true 時(shí)將不輸出 BODY 部分。同時(shí) Mehtod 變成了 HEAD。修改為 false 時(shí)不會(huì )變成 GET。
CURLOPT_NOPROGRESS

true 時(shí)關(guān)閉 cURL 的傳輸進(jìn)度。

注意:

PHP 默認自動(dòng)設置此選項為 true,只有為了調試才需要改變設置。

CURLOPT_NOSIGNAL true 時(shí)忽略所有的 cURL 傳遞給 PHP 進(jìn)程的信號。在 SAPI 多線(xiàn)程傳輸時(shí)此項被默認啟用,所以超時(shí)選項仍能使用。 cURL 7.10時(shí)被加入。
CURLOPT_PATH_AS_IS true 不處理 dot dot sequences (即 ../ ) cURL 7.42.0 時(shí)被加入。 PHP 7.0.7 起有效。
CURLOPT_PIPEWAIT true 則等待 pipelining/multiplexing。 cURL 7.43.0 時(shí)被加入。 PHP 7.0.7 起有效。
CURLOPT_POST true 時(shí)會(huì )發(fā)送 POST 請求,類(lèi)型為:application/x-www-form-urlencoded,是 HTML 表單提交時(shí)最常見(jiàn)的一種。
CURLOPT_PUT true 時(shí)允許 HTTP 發(fā)送文件。要被 PUT 的文件必須在 CURLOPT_INFILECURLOPT_INFILESIZE 中設置。
CURLOPT_RETURNTRANSFER truecurl_exec()獲取的信息以字符串返回,而不是直接輸出。
CURLOPT_SAFE_UPLOAD true 禁用 @ 前綴在 CURLOPT_POSTFIELDS 中發(fā)送文件。 意味著(zhù) @ 可以在字段中安全得使用了。 可使用 CURLFile 作為上傳的代替。 PHP 5.5.0 中添加,默認值 false。 PHP 5.6.0 改默認值為 true。. PHP 7 刪除了此選項, 必須使用 CURLFile interface 來(lái)上傳文件。
CURLOPT_SASL_IR true 開(kāi)啟,收到首包(first packet)后發(fā)送初始的響應(initial response)。 cURL 7.31.10 中添加,自 PHP 7.0.7 起有效。
CURLOPT_SSL_ENABLE_ALPN false 禁用 SSL 握手中的 ALPN (如果 SSL 后端的 libcurl 內建支持) 用于協(xié)商到 http2。 cURL 7.36.0 中增加, PHP 7.0.7 起有效。
CURLOPT_SSL_ENABLE_NPN false 禁用 SSL 握手中的 NPN(如果 SSL 后端的 libcurl 內建支持),用于協(xié)商到 http2。 cURL 7.36.0 中增加, PHP 7.0.7 起有效。
CURLOPT_SSL_VERIFYPEER false 禁止 cURL 驗證對等證書(shū)(peer's certificate)。要驗證的交換證書(shū)可以在 CURLOPT_CAINFO 選項中設置,或在 CURLOPT_CAPATH中設置證書(shū)目錄。 自cURL 7.10開(kāi)始默認為 true。從 cURL 7.10開(kāi)始默認綁定安裝。
CURLOPT_SSL_VERIFYSTATUS true 驗證證書(shū)狀態(tài)。 cURL 7.41.0 中添加, PHP 7.0.7 起有效。
CURLOPT_TCP_FASTOPEN true 開(kāi)啟 TCP Fast Open。 cURL 7.49.0 中添加, PHP 7.0.7 起有效。
CURLOPT_TFTP_NO_OPTIONS true 不發(fā)送 TFTP 的 options 請求。 自 cURL 7.48.0 添加, PHP 7.0.7 起有效。
CURLOPT_TRANSFERTEXT true 對 FTP 傳輸使用 ASCII 模式。對于LDAP,它檢索純文本信息而非 HTML。在 Windows 系統上,系統不會(huì )把 STDOUT 設置成二進(jìn)制 模式。
CURLOPT_UNRESTRICTED_AUTH true 在使用CURLOPT_FOLLOWLOCATION重定向 header 中的多個(gè) location 時(shí)繼續發(fā)送用戶(hù)名和密碼信息,哪怕主機名已改變。
CURLOPT_UPLOAD true 準備上傳。
CURLOPT_VERBOSE true 會(huì )輸出所有的信息,寫(xiě)入到STDERR,或在CURLOPT_STDERR中指定的文件。

以下 optionvalue應該被設置成 integer

選項 設置value 備注
CURLOPT_BUFFERSIZE 每次讀入的緩沖的尺寸。當然不保證每次都會(huì )完全填滿(mǎn)這個(gè)尺寸。 在cURL 7.10中被加入。
CURLOPT_CLOSEPOLICY CURLCLOSEPOLICY_* 中的一個(gè)。

注意:

此選項已被廢棄,它不會(huì )被實(shí)現,永遠不會(huì )有效果啦。

PHP 5.6.0 中移除。
CURLOPT_CONNECTTIMEOUT 在嘗試連接時(shí)等待的秒數。設置為0,則無(wú)限等待。
CURLOPT_CONNECTTIMEOUT_MS 嘗試連接等待的時(shí)間,以毫秒為單位。設置為0,則無(wú)限等待。 如果 libcurl 編譯時(shí)使用系統標準的名稱(chēng)解析器( standard system name resolver),那部分的連接仍舊使用以秒計的超時(shí)解決方案,最小超時(shí)時(shí)間還是一秒鐘。 在 cURL 7.16.2 中被加入。從 PHP 5.2.3 開(kāi)始可用。
CURLOPT_DNS_CACHE_TIMEOUT 設置在內存中緩存 DNS 的時(shí)間,默認為120秒(兩分鐘)。
CURLOPT_EXPECT_100_TIMEOUT_MS 超時(shí)預計: 100毫秒內的 continue 響應 默認為 1000 毫秒。 cURL 7.36.0 中添加,自 PHP 7.0.7 有效。
CURLOPT_FTPSSLAUTH FTP驗證方式(啟用的時(shí)候):CURLFTPAUTH_SSL (首先嘗試SSL),CURLFTPAUTH_TLS (首先嘗試TLS)或CURLFTPAUTH_DEFAULT (讓cURL 自個(gè)兒決定)。 在 cURL 7.12.2 中被加入。
CURLOPT_HEADEROPT How to deal with headers. One of the following constants: CURLHEADER_UNIFIED: the headers specified in CURLOPT_HTTPHEADER will be used in requests both to servers and proxies. With this option enabled, CURLOPT_PROXYHEADER will not have any effect. CURLHEADER_SEPARATE: makes CURLOPT_HTTPHEADER headers only get sent to a server and not to a proxy. Proxy headers must be set with CURLOPT_PROXYHEADER to get used. Note that if a non-CONNECT request is sent to a proxy, libcurl will send both server headers and proxy headers. When doing CONNECT, libcurl will send CURLOPT_PROXYHEADER headers only to the proxy and then CURLOPT_HTTPHEADER headers only to the server. Defaults to CURLHEADER_SEPARATE as of cURL 7.42.1, and CURLHEADER_UNIFIED before. Added in cURL 7.37.0. Available since PHP 7.0.7.
CURLOPT_HTTP_VERSION CURL_HTTP_VERSION_NONE (默認值,讓 cURL 自己判斷使用哪個(gè)版本),CURL_HTTP_VERSION_1_0 (強制使用 HTTP/1.0)或CURL_HTTP_VERSION_1_1 (強制使用 HTTP/1.1)。
CURLOPT_HTTPAUTH

使用的 HTTP 驗證方法。選項有: CURLAUTH_BASIC、 CURLAUTH_DIGEST、 CURLAUTH_GSSNEGOTIATE、 CURLAUTH_NTLM、 CURLAUTH_ANYCURLAUTH_ANYSAFE。

可以使用 | 位域(OR)操作符結合多個(gè)值,cURL 會(huì )讓服務(wù)器選擇受支持的方法,并選擇最好的那個(gè)。

CURLAUTH_ANYCURLAUTH_BASIC | CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM 的別名。

CURLAUTH_ANYSAFECURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM 的別名。

CURLOPT_INFILESIZE 希望傳給遠程站點(diǎn)的文件尺寸,字節(byte)為單位。 注意無(wú)法用這個(gè)選項阻止 libcurl 發(fā)送更多的數據,確切發(fā)送什么取決于 CURLOPT_READFUNCTION。
CURLOPT_LOW_SPEED_LIMIT 傳輸速度,每秒字節(bytes)數,根據CURLOPT_LOW_SPEED_TIME秒數統計是否因太慢而取消傳輸。
CURLOPT_LOW_SPEED_TIME 當傳輸速度小于CURLOPT_LOW_SPEED_LIMIT時(shí)(bytes/sec),PHP會(huì )判斷是否因太慢而取消傳輸。
CURLOPT_MAXCONNECTS 允許的最大連接數量。達到限制時(shí),會(huì )通過(guò)CURLOPT_CLOSEPOLICY決定應該關(guān)閉哪些連接。
CURLOPT_MAXREDIRS 指定最多的 HTTP 重定向次數,這個(gè)選項是和CURLOPT_FOLLOWLOCATION一起使用的。
CURLOPT_PORT 用來(lái)指定連接端口。
CURLOPT_POSTREDIR 位掩碼, 1 (301 永久重定向), 2 (302 Found) 和 4 (303 See Other) 設置 CURLOPT_FOLLOWLOCATION 時(shí),什么情況下需要再次 HTTP POST 到重定向網(wǎng)址。 cURL 7.19.1 中添加,PHP 5.3.2 開(kāi)始可用。
CURLOPT_PROTOCOLS

CURLPROTO_*的位掩碼。 啟用時(shí),會(huì )限制 libcurl 在傳輸過(guò)程中可使用哪些協(xié)議。 這將允許你在編譯libcurl時(shí)支持眾多協(xié)議,但是限制只用允許的子集。默認 libcurl 將使用所有支持的協(xié)議。 參見(jiàn)CURLOPT_REDIR_PROTOCOLS。

可用的協(xié)議選項為: 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。

在 cURL 7.19.4 中被加入。
CURLOPT_PROXYAUTH HTTP 代理連接的驗證方式。使用在CURLOPT_HTTPAUTH中的位掩碼。 當前僅僅支持 CURLAUTH_BASICCURLAUTH_NTLM。 在 cURL 7.10.7 中被加入。
CURLOPT_PROXYPORT 代理服務(wù)器的端口。端口也可以在CURLOPT_PROXY中設置。
CURLOPT_PROXYTYPE 可以是 CURLPROXY_HTTP (默認值) CURLPROXY_SOCKS4、 CURLPROXY_SOCKS5、 CURLPROXY_SOCKS4ACURLPROXY_SOCKS5_HOSTNAME。 在 cURL 7.10 中被加入。
CURLOPT_REDIR_PROTOCOLS CURLPROTO_* 值的位掩碼。如果被啟用,位掩碼會(huì )限制 libcurl 在 CURLOPT_FOLLOWLOCATION開(kāi)啟時(shí),使用的協(xié)議。 默認允許除 FILE 和 SCP 外所有協(xié)議。 這和 7.19.4 前的版本無(wú)條件支持所有支持的協(xié)議不同。關(guān)于協(xié)議常量,請參照CURLOPT_PROTOCOLS。 在 cURL 7.19.4 中被加入。
CURLOPT_RESUME_FROM 在恢復傳輸時(shí),傳遞字節為單位的偏移量(用來(lái)斷點(diǎn)續傳)。
CURLOPT_SSL_OPTIONS Set SSL behavior options, which is a bitmask of any of the following constants: CURLSSLOPT_ALLOW_BEAST: do not attempt to use any workarounds for a security flaw in the SSL3 and TLS1.0 protocols. CURLSSLOPT_NO_REVOKE: disable certificate revocation checks for those SSL backends where such behavior is present. Added in cURL 7.25.0. Available since PHP 7.0.7.
CURLOPT_SSL_VERIFYHOST 設置為 1 是檢查服務(wù)器SSL證書(shū)中是否存在一個(gè)公用名(common name)。譯者注:公用名(Common Name)一般來(lái)講就是填寫(xiě)你將要申請SSL證書(shū)的域名 (domain)或子域名(sub domain)。 設置成 2,會(huì )檢查公用名是否存在,并且是否與提供的主機名匹配。 0 為不檢查名稱(chēng)。 在生產(chǎn)環(huán)境中,這個(gè)值應該是 2(默認值)。 1 的支持在 cURL 7.28.1 中被刪除了。
CURLOPT_SSLVERSION CURL_SSLVERSION_DEFAULT (0), CURL_SSLVERSION_TLSv1 (1), CURL_SSLVERSION_SSLv2 (2), CURL_SSLVERSION_SSLv3 (3), CURL_SSLVERSION_TLSv1_0 (4), CURL_SSLVERSION_TLSv1_1 (5) , CURL_SSLVERSION_TLSv1_2 (6) 中的其中一個(gè)。

注意:

你最好別設置這個(gè)值,讓它使用默認值。 設置為 2 或 3 比較危險,在 SSLv2 和 SSLv3 中有弱點(diǎn)存在。

CURLOPT_STREAM_WEIGHT 設置 stream weight 數值 ( 1 和 256 之間的數字). cURL 7.46.0 中添加,自 PHP 7.0.7 起有效。
CURLOPT_TIMECONDITION 設置如何對待 CURLOPT_TIMEVALUE。 使用 CURL_TIMECOND_IFMODSINCE,僅在頁(yè)面 CURLOPT_TIMEVALUE 之后修改,才返回頁(yè)面。沒(méi)有修改則返回 "304 Not Modified" 頭,假設設置了 CURLOPT_HEADERtrue。CURL_TIMECOND_IFUNMODSINCE則起相反的效果。 默認為 CURL_TIMECOND_IFMODSINCE。
CURLOPT_TIMEOUT 允許 cURL 函數執行的最長(cháng)秒數。
CURLOPT_TIMEOUT_MS 設置cURL允許執行的最長(cháng)毫秒數。 如果 libcurl 編譯時(shí)使用系統標準的名稱(chēng)解析器( standard system name resolver),那部分的連接仍舊使用以秒計的超時(shí)解決方案,最小超時(shí)時(shí)間還是一秒鐘。 在 cURL 7.16.2 中被加入。從 PHP 5.2.3 起可使用。
CURLOPT_TIMEVALUE 秒數,從 1970年1月1日開(kāi)始。這個(gè)時(shí)間會(huì )被 CURLOPT_TIMECONDITION使。默認使用CURL_TIMECOND_IFMODSINCE。
CURLOPT_MAX_RECV_SPEED_LARGE 如果下載速度超過(guò)了此速度(以每秒字節數來(lái)統計) ,即傳輸過(guò)程中累計的平均數,傳輸就會(huì )降速到這個(gè)參數的值。默認不限速。 cURL 7.15.5 中添加, PHP 5.4.0 有效。
CURLOPT_MAX_SEND_SPEED_LARGE 如果上傳的速度超過(guò)了此速度(以每秒字節數來(lái)統計),即傳輸過(guò)程中累計的平均數 ,傳輸就會(huì )降速到這個(gè)參數的值。默認不限速。 cURL 7.15.5 中添加, PHP 5.4.0 有效。
CURLOPT_SSH_AUTH_TYPES A bitmask consisting of one or more of CURLSSH_AUTH_PUBLICKEY, CURLSSH_AUTH_PASSWORD, CURLSSH_AUTH_HOST, CURLSSH_AUTH_KEYBOARD. Set to CURLSSH_AUTH_ANY to let libcurl pick one. cURL 7.16.1 中添加。
CURLOPT_IPRESOLVE 允許程序選擇想要解析的 IP 地址類(lèi)別。只有在地址有多種 ip 類(lèi)別的時(shí)候才能用,可以的值有: CURL_IPRESOLVE_WHATEVER、 CURL_IPRESOLVE_V4、 CURL_IPRESOLVE_V6,默認是 CURL_IPRESOLVE_WHATEVER。 cURL 7.10.8 中添加。
CURLOPT_FTP_FILEMETHOD 告訴 curl 使用哪種方式來(lái)獲取 FTP(s) 服務(wù)器上的文件??赡艿闹涤校? CURLFTPMETHOD_MULTICWD、 CURLFTPMETHOD_NOCWDCURLFTPMETHOD_SINGLECWD。 cURL 7.15.1 中添加, PHP 5.3.0 起有效。

對于下面的這些option,value應該被設置成 string

選項 設置的value 備注
CURLOPT_CAINFO 一個(gè)保存著(zhù)1個(gè)或多個(gè)用來(lái)讓服務(wù)端驗證的證書(shū)的文件名。這個(gè)參數僅僅在和CURLOPT_SSL_VERIFYPEER一起使用時(shí)才有意義。 . 可能需要絕對路徑。
CURLOPT_CAPATH 一個(gè)保存著(zhù)多個(gè)CA證書(shū)的目錄。這個(gè)選項是和CURLOPT_SSL_VERIFYPEER一起使用的。
CURLOPT_COOKIE 設定 HTTP 請求中"Cookie: "部分的內容。多個(gè) cookie 用分號分隔,分號后帶一個(gè)空格(例如, "fruit=apple; colour=red")。
CURLOPT_COOKIEFILE 包含 cookie 數據的文件名,cookie 文件的格式可以是 Netscape 格式,或者只是純 HTTP 頭部風(fēng)格,存入文件。如果文件名是空的,不會(huì )加載 cookie,但 cookie 的處理仍舊啟用。
CURLOPT_COOKIEJAR 連接結束后,比如,調用 curl_close 后,保存 cookie 信息的文件。
CURLOPT_CUSTOMREQUEST

HTTP 請求時(shí),使用自定義的 Method 來(lái)代替"GET""HEAD"。對 "DELETE" 或者其他更隱蔽的 HTTP 請求有用。 有效值如 "GET","POST","CONNECT"等等;也就是說(shuō),不要在這里輸入整行 HTTP 請求。例如輸入"GET /index.html HTTP/1.0\r\n\r\n"是不正確的。

注意:

不確定服務(wù)器支持這個(gè)自定義方法則不要使用它。

CURLOPT_DEFAULT_PROTOCOL

URL不帶協(xié)議的時(shí)候,使用的默認協(xié)議。

cURL 7.45.0 中添加,自 PHP 7.0.7 起有效。
CURLOPT_DNS_INTERFACE

Set the name of the network interface that the DNS resolver should bind to. This must be an interface name (not an address).

Added in cURL 7.33.0. Available since PHP 7.0.7.
CURLOPT_DNS_LOCAL_IP4

Set the local IPv4 address that the resolver should bind to. The argument should contain a single numerical IPv4 address as a string.

Added in cURL 7.33.0. Available since PHP 7.0.7.
CURLOPT_DNS_LOCAL_IP6

Set the local IPv6 address that the resolver should bind to. The argument should contain a single numerical IPv6 address as a string.

Added in cURL 7.33.0. Available since PHP 7.0.7.
CURLOPT_EGDSOCKET 類(lèi)似CURLOPT_RANDOM_FILE,除了一個(gè)Entropy Gathering Daemon套接字。
CURLOPT_ENCODING HTTP請求頭中"Accept-Encoding: "的值。 這使得能夠解碼響應的內容。 支持的編碼有"identity","deflate""gzip"。如果為空字符串"",會(huì )發(fā)送所有支持的編碼類(lèi)型。 在 cURL 7.10 中被加入。
CURLOPT_FTPPORT 這個(gè)值將被用來(lái)獲取供FTP"PORT"指令所需要的IP地址。 "PORT" 指令告訴遠程服務(wù)器連接到我們指定的IP地址。這個(gè)字符串可以是純文本的IP地址、主機名、一個(gè)網(wǎng)絡(luò )接口名(UNIX下)或者只是一個(gè)'-'來(lái)使用默認的 IP 地址。
CURLOPT_INTERFACE 發(fā)送的網(wǎng)絡(luò )接口(interface),可以是一個(gè)接口名、IP 地址或者是一個(gè)主機名。
CURLOPT_KEYPASSWD 使用 CURLOPT_SSLKEYCURLOPT_SSH_PRIVATE_KEYFILE 私鑰時(shí)候的密碼。 在 cURL 7.16.1 中添加。
CURLOPT_KRB4LEVEL KRB4 (Kerberos 4) 安全級別。下面的任何值都是有效的(從低到高的順序):"clear"、"safe"、"confidential"、"private".。如果字符串以上這些,將使用"private"。 這個(gè)選項設置為 null 時(shí)將禁用 KRB4 安全認證。目前 KRB4 安全認證只能用于 FTP 傳輸。
CURLOPT_LOGIN_OPTIONS Can be used to set protocol specific login options, such as the preferred authentication mechanism via "AUTH=NTLM" or "AUTH=*", and should be used in conjunction with the CURLOPT_USERNAME option. Added in cURL 7.34.0. Available since PHP 7.0.7.
CURLOPT_PINNEDPUBLICKEY Set the pinned public key. The string can be the file name of your pinned public key. The file format expected is "PEM" or "DER". The string can also be any number of base64 encoded sha256 hashes preceded by "sha256//" and separated by ";". Added in cURL 7.39.0. Available since PHP 7.0.7.
CURLOPT_POSTFIELDS 全部數據使用HTTP協(xié)議中的 "POST" 操作來(lái)發(fā)送。 要發(fā)送文件,在文件名前面加上@前綴并使用完整路徑。 文件類(lèi)型可在文件名后以 ';type=mimetype' 的格式指定。 這個(gè)參數可以是 urlencoded 后的字符串,類(lèi)似'para1=val1&para2=val2&...',也可以使用一個(gè)以字段名為鍵值,字段數據為值的數組。 如果value是一個(gè)數組,Content-Type頭將會(huì )被設置成multipart/form-data。 從 PHP 5.2.0 開(kāi)始,使用 @ 前綴傳遞文件時(shí),value 必須是個(gè)數組。 從 PHP 5.5.0 開(kāi)始, @ 前綴已被廢棄,文件可通過(guò) CURLFile 發(fā)送。 設置 CURLOPT_SAFE_UPLOADtrue 可禁用 @ 前綴發(fā)送文件,以增加安全性。
CURLOPT_PRIVATE Any data that should be associated with this cURL handle. This data can subsequently be retrieved with the CURLINFO_PRIVATE option of curl_getinfo(). cURL does nothing with this data. When using a cURL multi handle, this private data is typically a unique key to identify a standard cURL handle. Added in cURL 7.10.3.
CURLOPT_PROXY HTTP 代理通道。
CURLOPT_PROXY_SERVICE_NAME 代理驗證服務(wù)的名稱(chēng)。 cURL 7.34.0 中添加,PHP 7.0.7 起有效。
CURLOPT_PROXYUSERPWD 一個(gè)用來(lái)連接到代理的"[username]:[password]"格式的字符串。
CURLOPT_RANDOM_FILE 一個(gè)被用來(lái)生成 SSL 隨機數種子的文件名。
CURLOPT_RANGE "X-Y"的形式,其中X和Y都是可選項獲取數據的范圍,以字節計。HTTP傳輸線(xiàn)程也支持幾個(gè)這樣的重復項中間用逗號分隔如"X-Y,N-M"。
CURLOPT_REFERER 在HTTP請求頭中"Referer: "的內容。
CURLOPT_SERVICE_NAME 驗證服務(wù)的名稱(chēng) cURL 7.43.0 起添加,自 PHP 7.0.7 有效。
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 包含 32 位長(cháng)的 16 進(jìn)制數值。這個(gè)字符串應該是遠程主機公鑰(public key) 的 MD5 校驗值。在不匹配的時(shí)候 libcurl 會(huì )拒絕連接。 此選項僅用于 SCP 和 SFTP 的傳輸。 cURL 7.17.1 中添加。
CURLOPT_SSH_PUBLIC_KEYFILE The file name for your public key. If not used, libcurl defaults to $HOME/.ssh/id_dsa.pub if the HOME environment variable is set, and just "id_dsa.pub" in the current directory if HOME is not set. Added in cURL 7.16.1.
CURLOPT_SSH_PRIVATE_KEYFILE The file name for your private key. If not used, libcurl defaults to $HOME/.ssh/id_dsa if the HOME environment variable is set, and just "id_dsa" in the current directory if HOME is not set. If the file is password-protected, set the password with CURLOPT_KEYPASSWD. Added in cURL 7.16.1.
CURLOPT_SSL_CIPHER_LIST 一個(gè)SSL的加密算法列表。例如RC4-SHATLSv1都是可用的加密列表。
CURLOPT_SSLCERT 一個(gè)包含 PEM 格式證書(shū)的文件名。
CURLOPT_SSLCERTPASSWD 使用CURLOPT_SSLCERT證書(shū)需要的密碼。
CURLOPT_SSLCERTTYPE 證書(shū)的類(lèi)型。支持的格式有"PEM" (默認值), "DER""ENG"。 在 cURL 7.9.3中 被加入。
CURLOPT_SSLENGINE 用來(lái)在CURLOPT_SSLKEY中指定的SSL私鑰的加密引擎變量。
CURLOPT_SSLENGINE_DEFAULT 用來(lái)做非對稱(chēng)加密操作的變量。
CURLOPT_SSLKEY 包含 SSL 私鑰的文件名。
CURLOPT_SSLKEYPASSWD

CURLOPT_SSLKEY中指定了的SSL私鑰的密碼。

注意:

由于這個(gè)選項包含了敏感的密碼信息,記得保證這個(gè)PHP腳本的安全。

CURLOPT_SSLKEYTYPE CURLOPT_SSLKEY中規定的私鑰的加密類(lèi)型,支持的密鑰類(lèi)型為"PEM"(默認值)、"DER""ENG"。
CURLOPT_UNIX_SOCKET_PATH 使用 Unix 套接字作為連接,并用指定的 string 作為路徑。 cURL 7.40.0 中添加, PHP 7.0.7 起有效。
CURLOPT_URL 需要獲取的 URL 地址,也可以在curl_init() 初始化會(huì )話(huà)的時(shí)候。
CURLOPT_USERAGENT 在HTTP請求中包含一個(gè)"User-Agent: "頭的字符串。
CURLOPT_USERNAME 驗證中使用的用戶(hù)名。 cURL 7.19.1 中添加,PHP 5.5.0 起有效。
CURLOPT_USERPWD 傳遞一個(gè)連接中需要的用戶(hù)名和密碼,格式為:"[username]:[password]"。
CURLOPT_XOAUTH2_BEARER 指定 OAuth 2.0 access token。 cURL 7.33.0 中添加,自 PHP 7.0.7 添加。

以下option,value應該被設置成數組:

選項 可選value 備注
CURLOPT_CONNECT_TO 連接到指定的主機和端口,替換 URL 中的主機和端口。接受指定字符串格式的數組: HOST:PORT:CONNECT-TO-HOST:CONNECT-TO-PORT。 cURL 7.49.0 中添加, PHP 7.0.7 起有效。
CURLOPT_HTTP200ALIASES HTTP 200 響應碼數組,數組中的響應碼被認為是正確的響應,而非錯誤。 在 cURL 7.10.3 中被加入。
CURLOPT_HTTPHEADER 設置 HTTP 頭字段的數組。格式: array('Content-type: text/plain', 'Content-length: 100')
CURLOPT_POSTQUOTE 在 FTP 請求執行完成后,在服務(wù)器上執行的一組array格式的 FTP 命令。
CURLOPT_PROXYHEADER 傳給代理的自定義 HTTP 頭。 cURL 7.37.0 中添加,自 PHP 7.0.7 添加。
CURLOPT_QUOTE 一組先于 FTP 請求的在服務(wù)器上執行的FTP命令。
CURLOPT_RESOLVE 提供自定義地址,指定了主機和端口。 包含主機、端口和 ip 地址的字符串,組成 array 的,每個(gè)元素以冒號分隔。格式: array("example.com:80:127.0.0.1") 在 cURL 7.21.3 中添加,自 PHP 5.5.0 起可用。

以下 option,value應該被設置成流資源 (例如使用fopen()):

選項 可選value
CURLOPT_FILE 設置輸出文件,默認為STDOUT (瀏覽器)。
CURLOPT_INFILE 上傳文件時(shí)需要讀取的文件。
CURLOPT_STDERR 錯誤輸出的地址,取代默認的STDERR。
CURLOPT_WRITEHEADER 設置 header 部分內容的寫(xiě)入的文件地址。

以下optionvalue應該是有效的函數或者閉包:

選項 value
CURLOPT_HEADERFUNCTION 設置一個(gè)回調函數,這個(gè)函數有兩個(gè)參數,第一個(gè)是cURL的資源句柄,第二個(gè)是輸出的 header 數據。header數據的輸出必須依賴(lài)這個(gè)函數,返回已寫(xiě)入的數據大小。
CURLOPT_PASSWDFUNCTION 設置一個(gè)回調函數,有三個(gè)參數,第一個(gè)是cURL的資源句柄,第二個(gè)是一個(gè)密碼提示符,第三個(gè)參數是密碼長(cháng)度允許的最大值。返回密碼的值。
CURLOPT_PROGRESSFUNCTION

設置一個(gè)回調函數,有五個(gè)參數,第一個(gè)是cURL的資源句柄,第二個(gè)是預計要下載的總字節(bytes)數。第三個(gè)是目前下載的字節數,第四個(gè)是預計傳輸中總上傳字節數,第五個(gè)是目前上傳的字節數。

注意:

只有設置 CURLOPT_NOPROGRESS 選項為 false 時(shí)才會(huì )調用這個(gè)回調函數。

返回非零值將中斷傳輸。 傳輸將設置 CURLE_ABORTED_BY_CALLBACK 錯誤。

CURLOPT_READFUNCTION 回調函數名。該函數應接受三個(gè)參數。第一個(gè)是 cURL resource;第二個(gè)是通過(guò)選項 CURLOPT_INFILE 傳給 cURL 的 stream resource;第三個(gè)參數是最大可以讀取的數據的數量?;?調函數必須返回一個(gè)字符串,長(cháng)度小于或等于請求的數據量(第三個(gè)參數)。一般從傳入的 stream resource 讀取。返回空字符串作為 EOF(文件結束) 信號。
CURLOPT_WRITEFUNCTION 回調函數名。該函數應接受兩個(gè)參數。第一個(gè)是 cURL resource;第二個(gè)是要寫(xiě)入的數據字符串。數 據必須在函數中被保存。 函數必須準確返回寫(xiě)入數據的字節數,否則傳輸會(huì )被一個(gè)錯誤所中 斷。

其他值:

Option 設置 value
CURLOPT_SHARE curl_share_init() 返回的結果。 使 cURL 可以處理共享句柄里的數據。

返回值

成功時(shí)返回 true, 或者在失敗時(shí)返回 false。

更新日志

版本 說(shuō)明
7.0.7 引入 CURL_HTTP_VERSION_2、 CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE、 CURL_HTTP_VERSION_2TLS、 CURL_REDIR_POST_301、 CURL_REDIR_POST_302、 CURL_REDIR_POST_303、 CURL_REDIR_POST_ALL、 CURL_VERSION_KERBEROS5、 CURL_VERSION_PSL、 CURL_VERSION_UNIX_SOCKETS、 CURLAUTH_NEGOTIATE、 CURLAUTH_NTLM_WB、 CURLFTP_CREATE_DIR、 CURLFTP_CREATE_DIR_NONE、 CURLFTP_CREATE_DIR_RETRY、 CURLHEADER_SEPARATE、 CURLHEADER_UNIFIED、 CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE、 CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE、 CURLMOPT_MAX_HOST_CONNECTIONS、 CURLMOPT_MAX_PIPELINE_LENGTH、 CURLMOPT_MAX_TOTAL_CONNECTIONS、 CURLOPT_CONNECT_TO、 CURLOPT_DEFAULT_PROTOCOL、 CURLOPT_DNS_INTERFACE、 CURLOPT_DNS_LOCAL_IP4、 CURLOPT_DNS_LOCAL_IP6、 CURLOPT_EXPECT_100_TIMEOUT_MS、 CURLOPT_HEADEROPT、 CURLOPT_LOGIN_OPTIONS、 CURLOPT_PATH_AS_IS、 CURLOPT_PINNEDPUBLICKEY、 CURLOPT_PIPEWAIT、 CURLOPT_PROXY_SERVICE_NAME、 CURLOPT_PROXYHEADER、 CURLOPT_SASL_IR、 CURLOPT_SERVICE_NAME、 CURLOPT_SSL_ENABLE_ALPN、 CURLOPT_SSL_ENABLE_NPN、 CURLOPT_SSL_FALSESTART、 CURLOPT_SSL_VERIFYSTATUS、 CURLOPT_STREAM_WEIGHT、 CURLOPT_TCP_FASTOPEN、 CURLOPT_TFTP_NO_OPTIONS、 CURLOPT_UNIX_SOCKET_PATH、 CURLOPT_XOAUTH2_BEARER、 CURLPROTO_SMB、 CURLPROTO_SMBS、 CURLPROXY_HTTP_1_0、 CURLSSH_AUTH_AGENTCURLSSLOPT_NO_REVOKE。

范例

示例 #1 初始化一個(gè)新的cURL會(huì )話(huà)并獲取一個(gè)網(wǎng)頁(yè)

<?php
// 創(chuàng )建一個(gè)新cURL資源
$ch curl_init();

// 設置URL和相應的選項
curl_setopt($chCURLOPT_URL"http://www.example.com/");
curl_setopt($chCURLOPT_HEADERfalse);

// 抓取URL并把它傳遞給瀏覽器
curl_exec($ch);

//關(guān)閉cURL資源,并且釋放系統資源
curl_close($ch);
?>

示例 #2 上傳文件 (PHP 5.5.0 后被廢棄)

<?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($chCURLOPT_URL'http://localhost/upload.php');
curl_setopt($chCURLOPT_POST1);
curl_setopt($chCURLOPT_SAFE_UPLOADfalse); //  PHP 5.6.0 后必須開(kāi)啟
curl_setopt($chCURLOPT_POSTFIELDS$data);

curl_exec($ch);
?>

以上例程會(huì )輸出:

Array
(
    [name] => Foo
)
Array
(
    [file] => Array
        (
            [name] => test.png
            [type] => image/png
            [tmp_name] => /tmp/phpcpjNeQ
            [error] => 0
            [size] => 279
        )

)

注釋

注意:

傳遞一個(gè)數組到CURLOPT_POSTFIELDS,cURL會(huì )把數據編碼成 multipart/form-data,而然傳遞一個(gè)URL-encoded字符串時(shí),數據會(huì )被編碼成 application/x-www-form-urlencoded。

參見(jiàn)

男女疯狂一边摸一边做羞羞视频|啊好深好硬快点用力别停动态图|亚洲一区无码中文字幕|特级无码毛片免费视频播放▽|久久狠狠躁免费观看|国内精品久久久久久网站