| 常數 |
說明 |
CURLOPT_ABSTRACT_UNIX_SOCKET (整數) |
啟用使用抽象 Unix 網域通訊端,而不是建立與主機的 TCP 連線,並將路徑設定為指定的字串。此選項與 CURLOPT_UNIX_SOCKET_PATH 共享相同的語義。這兩個選項共享相同的儲存空間,因此每個控制代碼只能設定其中一個。自 PHP 7.3.0 和 cURL 7.53.0 起可用。
|
CURLOPT_ACCEPT_ENCODING (整數) |
設定一個包含在 HTTP 請求中傳送的 Accept-Encoding: 標頭內容的 字串。設定為 null 以停用傳送 Accept-Encoding: 標頭。預設為 null。自 cURL 7.21.6 起可用。
|
CURLOPT_ACCEPTTIMEOUT_MS (整數) |
使用主動 FTP 連線時,等待伺服器連回 cURL 的最大毫秒數。此選項接受任何可以轉換為有效 整數 的值。預設為 60000 毫秒。自 cURL 7.24.0 起可用。
|
CURLOPT_ADDRESS_SCOPE (整數) |
連線到 IPv6 位址時要使用的範圍 ID 值。此選項接受任何可以轉換為有效 整數 的值。預設為 0。自 cURL 7.19.0 起可用。
|
CURLOPT_ALTSVC (整數) |
傳遞一個 字串,其中包含 cURL 用作 Alt-Svc 快取檔案的檔名,用於讀取現有的快取內容,並且可能在傳輸後寫回,除非透過 CURLOPT_ALTSVC_CTRL 設定 CURLALTSVC_READONLYFILE。從 PHP 8.2.0 和 cURL 7.64.1 開始提供。
|
CURLOPT_ALTSVC_CTRL (整數) |
使用正確的功能集填充位元遮罩,以指示 cURL 如何使用此控制代碼處理傳輸的 Alt-Svc。 cURL 僅接受透過 HTTPS 的 Alt-Svc 標頭。它也只會在替代來源正確地透過 HTTPS 裝載的情況下,完成對替代來源的請求。設定任何位元將啟用 alt-svc 引擎。設定為任何 CURLALTSVC_* 常數。預設為停用 Alt-Svc 處理。從 PHP 8.2.0 和 cURL 7.64.1 開始提供。
|
CURLOPT_APPEND (整數) |
將此選項設定為 1 將使 FTP 上傳附加到遠端檔案,而不是覆蓋它。預設為 0。從 cURL 7.17.0 開始提供。
|
CURLOPT_AUTOREFERER (整數) |
true 表示在請求中自動設定 Referer: 欄位,其中它跟隨 Location: 重定向。預設為 0。從 cURL 7.1.0 開始提供。
|
CURLOPT_AWS_SIGV4 (整數) |
以 字串 的形式在 HTTP(S) 標頭上提供 AWS V4 簽章驗證。此選項會覆蓋在 CURLOPT_HTTPAUTH 中設定的任何其他驗證類型。此方法不能與其他驗證類型組合使用。從 PHP 8.2.0 和 cURL 7.75.0 開始提供。
|
CURLOPT_BINARYTRANSFER (整數) |
從 PHP 5.5.0 開始,此常數不再使用。從 PHP 8.4.0 開始棄用。
|
CURLOPT_BUFFERSIZE (整數) |
每次讀取使用的緩衝區大小。但是,不能保證此請求會被滿足。此選項接受任何可以轉換為有效 整數 的值。預設為 CURL_MAX_WRITE_SIZE(目前為 16kB)。從 cURL 7.10 開始提供。
|
CURLOPT_CAINFO (整數) |
一個 字串,其中包含持有用於驗證對等方的憑證的檔案名稱。這僅在與 CURLOPT_SSL_VERIFYPEER 結合使用時才有意義。可能需要絕對路徑。從 cURL 7.4.2 開始提供。
|
CURLOPT_CAINFO_BLOB (整數) |
一個包含用於驗證對等端的一個或多個證書的 PEM 檔案名稱的字串。此選項會覆寫CURLOPT_CAINFO。從 PHP 8.2.0 和 cURL 7.77.0 開始可用。
|
CURLOPT_CAPATH (整數) |
一個包含多個 CA 證書的目錄的字串。請將此選項與CURLOPT_SSL_VERIFYPEER搭配使用。從 cURL 7.9.8 開始可用。
|
CURLOPT_CA_CACHE_TIMEOUT (整數) |
設定任何記憶體中快取的 CA 證書儲存庫可以保留並重複用於新連線的最長時間(以秒為單位)。此選項接受任何可以轉換為有效整數的值。預設值為 86400(24 小時)。從 PHP 8.3.0 和 cURL 7.87.0 開始可用。
|
CURLOPT_CERTINFO (整數) |
在安全傳輸時,設為true 會將 SSL 證書資訊輸出到STDERR。需要將CURLOPT_VERBOSE設為開啟才能生效。預設值為false。從 cURL 7.19.1 開始可用。
|
CURLOPT_CONNECTTIMEOUT (整數) |
嘗試連線時等待的秒數。使用 0 表示無限期等待。此選項接受任何可以轉換為有效整數的值。預設值為 300。從 cURL 7.7.0 開始可用。
|
CURLOPT_CONNECTTIMEOUT_MS (整數) |
嘗試連線時等待的毫秒數。使用 0 表示無限期等待。如果 cURL 建置為使用標準系統名稱解析器,則連線的該部分仍將使用整秒解析度進行逾時,允許的最小逾時為一秒。此選項接受任何可以轉換為有效整數的值。預設值為 300000。從 cURL 7.16.2 開始可用。
|
CURLOPT_CONNECT_ONLY (整數) |
true 告知程式庫執行所有必要的代理驗證和連線設定,但不進行資料傳輸。此選項適用於 HTTP、SMTP 和 POP3。預設值為false。從 cURL 7.15.2 開始可用。
|
CURLOPT_CONNECT_TO (整數) |
連線到指定的 host 和 port,而不是 URL 的 host 和 port。接受格式為 HOST:PORT:CONNECT-TO-HOST:CONNECT-TO-PORT 的陣列 字串。從 PHP 7.0.7 和 cURL 7.49.0 開始可用。
|
CURLOPT_COOKIE (整數) |
一個包含 HTTP 請求中使用的 Cookie: 標頭內容的 字串。請注意,多個 Cookie 以分號和空格分隔(例如,fruit=apple; colour=red)。從 cURL 7.1.0 開始提供。
|
CURLOPT_COOKIEFILE (整數) |
包含 Cookie 資料的檔案名稱 字串。Cookie 檔案可以是 Netscape 格式,或只是純 HTTP 樣式的標頭傾印到檔案中。如果名稱是一個空的 字串,則不會載入任何 Cookie,但 Cookie 處理仍會啟用。從 cURL 7.1.0 開始提供。
|
CURLOPT_COOKIEJAR (整數) |
一個 字串,其中包含在控制代碼的解構函式被呼叫時要儲存所有內部 Cookie 的檔案名稱。從 cURL 7.9.0 開始提供。 警告
從 PHP 8.0.0 開始,curl_close() 是一個無運算函式,並且*不會*銷毀控制代碼。如果需要在控制代碼被自動銷毀之前寫入 Cookie,請在控制代碼上呼叫 unset()。
|
CURLOPT_COOKIELIST (整數) |
Cookie 字串(即 Netscape/Mozilla 格式的單行,或一般的 HTTP 樣式 Set-Cookie 標頭)會將該單個 Cookie 添加到內部 Cookie 存放區。 ALL 會清除記憶體中保存的所有 Cookie,SESS 會清除記憶體中保存的所有工作階段 Cookie,FLUSH 會將所有已知的 Cookie 寫入 CURLOPT_COOKIEJAR 指定的檔案,RELOAD 會從 CURLOPT_COOKIEFILE 指定的檔案載入所有 Cookie。 從 cURL 7.14.1 開始提供。
|
CURLOPT_COOKIESESSION (整數) |
true 將此標記為新的 Cookie「工作階段」。它將強制 cURL 忽略所有即將載入的、來自先前工作階段的「工作階段 Cookie」。預設情況下,cURL 總是儲存和載入所有 Cookie,無論它們是否是工作階段 Cookie。工作階段 Cookie 是沒有到期日期的 Cookie,它們僅 meant to be alive and existing for this "session" only. 從 cURL 7.9.7 開始提供。
|
CURLOPT_CRLF (整數) |
true 表示在傳輸時將 Unix 換行符轉換為 CRLF 換行符。從 cURL 7.1.0 開始提供。
|
CURLOPT_CRLFILE (整數) |
傳入一個 字串,指定一個包含 CRL(憑證撤銷清單)(PEM 格式)的文件名稱,用於 SSL 交換期間的憑證驗證。當 cURL 使用 GnuTLS 構建時,無法影響 CRL 的使用來協助驗證過程。當 cURL 使用 OpenSSL 支援構建時,會設定 X509_V_FLAG_CRL_CHECK 和 X509_V_FLAG_CRL_CHECK_ALL,如果傳入 CRL 檔案,則需要針對憑證鏈中的所有元素進行 CRL 檢查。另請注意,由於 OpenSSL 的一個錯誤,從 cURL 7.71.0 開始,CURLOPT_CRLFILE 會隱含 CURLSSLOPT_NO_PARTIALCHAIN。從 cURL 7.19.0 開始可用。
|
CURLOPT_CUSTOMREQUEST (整數) |
在執行 HTTP 請求時,用於取代 GET 或 HEAD 的自訂請求方法。這對於執行 DELETE 或其他更少見的 HTTP 請求很有用。有效值例如 GET、POST、CONNECT 等等;也就是說,不要在此輸入完整的 HTTP 請求行。例如,輸入 GET /index.html HTTP/1.0\r\n\r\n 是不正確的。這個選項接受一個 字串 或 null。從 cURL 7.1.0 開始可用。 注意事項:
在使用自訂請求方法之前,請先確認伺服器支援該方法。
|
CURLOPT_DEFAULT_PROTOCOL (整數) |
一個 字串,用於指定當 URL 缺少通訊協定名稱時的預設通訊協定。從 PHP 7.0.7 和 cURL 7.45.0 開始可用。
|
CURLOPT_DIRLISTONLY (整數) |
將此選項設定為 1 將會根據所使用的通訊協定而產生不同的效果。基於 FTP 和 SFTP 的 URL 將只會列出目錄中的檔案名稱。POP3 將會列出 POP3 伺服器上的電子郵件訊息。對於 FILE,此選項沒有作用,因為在此模式下目錄始終會被列出。將此選項與 CURLOPT_WILDCARDMATCH 一起使用將會阻止後者產生任何作用。預設值為 0。從 cURL 7.17.0 開始可用。
|
CURLOPT_DISALLOW_USERNAME_IN_URL (整數) |
設定為 true 將不允許包含使用者名稱的 URL。預設允許使用者名稱。從 PHP 7.3.0 和 cURL 7.61.0 開始可用。
|
CURLOPT_DNS_CACHE_TIMEOUT (整數) |
將 DNS 記錄保留在記憶體中的秒數。此選項預設設定為 120(2 分鐘)。此選項接受任何可以轉換為有效 整數 的值。從 cURL 7.9.3 開始可用。
|
CURLOPT_DNS_INTERFACE (整數) |
設定 DNS 解析器應該綁定的網路介面名稱。這必須是一個介面名稱(不是地址)。此選項接受 字串 或 null。從 PHP 7.0.7 和 cURL 7.33.0 開始可用。
|
CURLOPT_DNS_LOCAL_IP4 (整數) |
設定解析器應該綁定的本地 IPv4 地址。參數應包含單個數值 IPv4 地址。此選項接受 字串 或 null。從 PHP 7.0.7 和 cURL 7.33.0 開始可用。
|
CURLOPT_DNS_LOCAL_IP6 (整數) |
設定解析器應該綁定的本地 IPv6 地址。參數應包含單個數值 IPv6 地址。此選項接受 字串 或 null。從 PHP 7.0.7 和 cURL 7.33.0 開始可用。
|
CURLOPT_DNS_SERVERS (整數) |
傳遞一個以逗號分隔的 DNS 伺服器清單 字串,以取代系統預設值(例如:192.168.1.100,192.168.1.101:8080)。從 cURL 7.24.0 開始可用。
|
CURLOPT_DNS_SHUFFLE_ADDRESSES (整數) |
設定為 true 以隨機排列所有返回地址的順序,以便在解析名稱並返回多個 IP 地址時,將以隨機順序使用它們。這可能導致 IPv4 在 IPv6 之前使用,反之亦然。從 PHP 7.3.0 和 cURL 7.60.0 開始可用。
|
CURLOPT_DNS_USE_GLOBAL_CACHE (整數) |
設定為 true 以使用全域 DNS 快取。此選項並非執行緒安全。如果 PHP 是為非執行緒使用而建置的(CLI、FCGI、Apache2-Prefork 等),則預設情況下會啟用此選項。從 cURL 7.9.3 開始可用,並從 cURL 7.11.1 開始棄用。從 PHP 8.4 開始,此選項不再有任何作用。
|
CURLOPT_DOH_SSL_VERIFYHOST (整數) |
設定為 2 以根據主機名稱驗證 DNS-over-HTTPS 伺服器的 SSL 憑證名稱欄位。從 PHP 8.2.0 和 cURL 7.76.0 開始可用。
|
CURLOPT_DOH_SSL_VERIFYPEER (整數) |
設定為 1 以啟用,設定為 0 以停用 DNS-over-HTTPS 伺服器 SSL 憑證的驗證。從 PHP 8.2.0 和 cURL 7.76.0 開始可用。
|
CURLOPT_DOH_SSL_VERIFYSTATUS (整數) |
設定為 1 以啟用,設定為 0 以停用使用「憑證狀態請求」TLS 擴充功能 (OCSP stapling) 驗證 DNS-over-HTTPS 伺服器憑證的狀態。從 PHP 8.2.0 和 cURL 7.76.0 開始可用。
|
CURLOPT_DOH_URL (整數) |
提供 DNS-over-HTTPS URL。此選項接受 字串 或 null。PHP 8.1.0 和 cURL 7.62.0 起可用。
|
CURLOPT_EGDSOCKET (整數) |
類似 CURLOPT_RANDOM_FILE,但指定的是熵收集守護進程 (Entropy Gathering Daemon) socket 的檔案名稱。cURL 7.7.0 起可用,cURL 7.84.0 起棄用。
|
CURLOPT_ENCODING (整數) |
Accept-Encoding: 標頭的內容,為 字串 格式。這可以啟用回應的解碼。支援的編碼方式有:identity、deflate、gzip。如果設定為空 字串,則會發送包含所有支援編碼類型的標頭。cURL 7.10 起可用,cURL 7.21.6 起棄用。
|
CURLOPT_EXPECT_100_TIMEOUT_MS (整數) |
Expect: 100-continue 回應的逾時時間,單位為毫秒。預設為 1000 毫秒。此選項接受任何可以轉換為有效 整數 的值。PHP 7.0.7 和 cURL 7.36.0 起可用。
|
CURLOPT_FAILONERROR (整數) |
若傳回的 HTTP 狀態碼大於或等於 400,則設為 true 會明確地失敗。預設行為是正常返回頁面,忽略狀態碼。cURL 7.1.0 起可用。
|
CURLOPT_FILE (整數) |
接受檔案控制代碼 資源,表示傳輸應寫入的檔案。預設為 STDOUT(瀏覽器視窗)。cURL 7.1.0 起可用,cURL 7.9.7 起棄用。
|
CURLOPT_FILETIME (整數) |
設為 true 以嘗試取得遠端文件的修改日期。可以使用 curl_getinfo() 搭配 CURLINFO_FILETIME 選項來取得此值。cURL 7.5.0 起可用。
|
CURLOPT_FNMATCH_FUNCTION (整數) |
傳遞一個將用於萬用字元比對的 可呼叫物件。回呼函式的簽章應為
回呼函式( 資源 $curlHandle, 字串 $pattern, 字串 $string): 整數
curlHandle
-
cURL 句柄。
pattern
-
萬用字元模式。
string
-
要執行萬用字元模式比對的 字串。
如果模式符合 字串,回呼函式應回傳 CURL_FNMATCHFUNC_MATCH;如果不符合,則回傳 CURL_FNMATCHFUNC_NOMATCH;如果發生錯誤,則回傳 CURL_FNMATCHFUNC_FAIL。從 cURL 7.21.0 版本開始提供。
|
CURLOPT_FOLLOWLOCATION (整數) |
設定為 true 以追蹤伺服器在 HTTP 標頭中傳送的任何 Location: 標頭。另請參閱 CURLOPT_MAXREDIRS。當啟用 open_basedir 時,此常數無法使用。從 cURL 7.1.0 版本開始提供。
|
CURLOPT_FORBID_REUSE (整數) |
設定為 true 可強制連線在處理完成後明確關閉,並且不放入池中重複使用。從 cURL 7.7.0 版本開始提供。
|
CURLOPT_FRESH_CONNECT (整數) |
設定為 true 可強制使用新的連線,而不是使用快取的連線。從 cURL 7.7.0 版本開始提供。
|
CURLOPT_FTPAPPEND (整數) |
設定為 true 可附加到遠端檔案,而不是覆寫它。從 cURL 7.1.0 版本開始提供,並從 cURL 7.16.4 版本開始棄用。
|
CURLOPT_FTPASCII (整數) |
CURLOPT_TRANSFERTEXT 的別名。請改用它。從 cURL 7.1 版本開始提供,從 cURL 7.11.1 版本開始棄用,最後可在 cURL 7.15.5 中使用。從 PHP 7.3.0 版本開始移除。
|
CURLOPT_FTPLISTONLY (整數) |
設定為 true 僅列出 FTP 目錄的名稱。從 cURL 7.1.0 版本開始提供,並從 cURL 7.16.4 版本開始棄用。
|
CURLOPT_FTPPORT (整數) |
一個 字串,將用於取得 FTP PORT 指令要使用的 IP 位址。PORT 指令會告知遠端伺服器連線到我們指定的 IP 位址。該 字串 可以是純 IP 位址、主機名稱、網路介面名稱 (在 Unix 下),或者只是單純的 - 以使用系統的預設 IP 位址。此選項接受 字串 或 null。從 cURL 7.1.0 版本開始提供。
|
CURLOPT_FTPSSLAUTH (整數) |
設定 FTP over SSL 驗證方法(如果已啟用)為任何 CURLFTPAUTH_* 常數。預設為 CURLFTPAUTH_DEFAULT。從 cURL 7.12.2 版本開始提供。
|
CURLOPT_FTP_ACCOUNT (整數) |
傳遞一個 字串,在提供使用者名稱和密碼給伺服器後,該字串將作為帳戶資訊透過 FTP 傳送(使用 ACCT 命令)。設定為 null 以停用傳送帳戶資訊。預設為 null。從 cURL 7.13.0 版本開始提供。
|
CURLOPT_FTP_ALTERNATIVE_TO_USER (整數) |
傳遞一個 字串,如果 USER/PASS 協商失敗,將使用該字串嘗試透過 FTP 進行驗證。從 cURL 7.15.5 版本開始提供。
|
CURLOPT_FTP_CREATE_MISSING_DIRS (整數) |
設定為 true,以便在 FTP 操作遇到目前不存在的路徑時建立缺少的目錄。從 cURL 7.10.7 版本開始提供。
|
CURLOPT_FTP_FILEMETHOD (整數) |
告訴 cURL 使用哪種方法來存取 FTP(S) 伺服器上的檔案。可能的值為任何 CURLFTPMETHOD_* 常數。預設為 CURLFTPMETHOD_MULTICWD。從 cURL 7.15.1 版本開始提供。
|
CURLOPT_FTP_RESPONSE_TIMEOUT (整數) |
cURL 等待 FTP 伺服器回應的逾時時間(以秒為單位)。此選項會覆寫 CURLOPT_TIMEOUT。此選項接受任何可以轉換為有效 整數 的值。此選項名稱已由 CURLOPT_SERVER_RESPONSE_TIMEOUT 取代,從 PHP 8.4.0 版本開始提供。從 cURL 7.10.8 版本開始提供,並從 cURL 7.85.0 版本開始棄用。
|
CURLOPT_FTP_SKIP_PASV_IP (整數) |
如果此選項設定為 1,cURL 將不會使用伺服器在其對 cURL 的 PASV 命令的 227 回應中建議的 IP 位址,而是使用它用於連線的 IP 位址。cURL 不會忽略從 227 回應接收到的埠號。從 cURL 7.74.0 版本開始預設為 1,在此之前的版本預設為 0。從 cURL 7.15.0 版本開始提供。
|
CURLOPT_FTP_SSL (整數) |
從 cURL 7.11.0 版本開始提供,並從 cURL 7.16.4 版本開始棄用。
|
CURLOPT_FTP_SSL_CCC (整數) |
這個選項讓 cURL 使用 CCC(清除命令通道),它會在驗證後關閉 SSL/TLS 層,使控制通道的其餘通訊未加密。使用其中一個 CURLFTPSSL_CCC_* 常數。預設為 CURLFTPSSL_CCC_NONE。從 cURL 7.16.1 開始可用。
|
CURLOPT_FTP_USE_EPRT (整數) |
設定為 true 表示在執行主動 FTP 下載時使用 EPRT(以及 LPRT)。設定為 false 表示停用 EPRT 和 LPRT,並且僅使用 PORT。從 cURL 7.10.5 開始可用。
|
CURLOPT_FTP_USE_EPSV (整數) |
設定為 true 表示在 FTP 傳輸時先嘗試 EPSV 命令,然後再恢復為 PASV。設定為 false 表示停用 EPSV。從 cURL 7.9.2 開始可用。
|
CURLOPT_FTP_USE_PRET (整數) |
設定為 1 表示在 PASV(和 EPSV)之前傳送 PRET 命令。在使用主動 FTP 傳輸模式時無效。預設為 0。從 cURL 7.20.0 開始可用。
|
CURLOPT_GSSAPI_DELEGATION (整數) |
設定為 CURLGSSAPI_DELEGATION_FLAG 允許無條件的 GSSAPI 憑證委派。設定為 CURLGSSAPI_DELEGATION_POLICY_FLAG 僅在服務票證中設定了 OK-AS-DELEGATE 旗標時才委派。預設為 CURLGSSAPI_DELEGATION_NONE。從 cURL 7.22.0 開始可用。
|
CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS (整數) |
Happy eyeballs 演算法中 IPv6 的領先時間。Happy eyeballs 會嘗試連線到雙堆疊主機的 IPv4 和 IPv6 位址,在超時毫秒數內優先使用 IPv6。預設為 CURL_HET_DEFAULT,目前為 200 毫秒。此選項接受任何可以轉換為有效 整數 的值。從 PHP 7.3.0 和 cURL 7.59.0 開始可用。
|
CURLOPT_HAPROXYPROTOCOL (整數) |
true 表示在連線開始時傳送 HAProxy PROXY 協定 v1 標頭。預設動作是不傳送此標頭。從 PHP 7.3.0 和 cURL 7.60.0 開始可用。
|
|
設定為 true 表示在傳送到由 CURLOPT_WRITEFUNCTION 定義的回呼函式的輸出中包含標頭。從 cURL 7.1.0 開始可用。
|
|
具有以下簽章的 可呼叫 函式
callback( 資源 $curlHandle, 字串 $headerData): 整數
curlHandle
-
cURL 句柄。
headerData
-
回呼函式必須寫入的標頭資料。
回呼函式應返回寫入的位元組數。從 cURL 7.7.2 開始提供。
|
|
將 HTTP 標頭同時發送到代理伺服器和主機,或分別發送。可能的值為任何 CURLHEADER_* 常數。從 cURL 7.42.1 開始,預設值為 CURLHEADER_SEPARATE,而在之前的版本中,預設值為 CURLHEADER_UNIFIED。從 PHP 7.0.7 和 cURL 7.37.0 開始提供。
|
CURLOPT_HSTS (整數) |
包含 HSTS(HTTP 嚴格傳輸安全)快取檔案名稱的字串,或 null 以允許 HSTS 不讀取或寫入任何檔案,並清除要從中讀取 HSTS 資料的檔案列表。從 PHP 8.2.0 和 cURL 7.74.0 開始提供。
|
CURLOPT_HSTS_CTRL (整數) |
接受由 CURLHSTS_* 常數定義的 HSTS(HTTP 嚴格傳輸安全)功能的位元遮罩。從 PHP 8.2.0 和 cURL 7.74.0 開始提供。
|
CURLOPT_HTTP09_ALLOWED (整數) |
是否允許 HTTP/0.9 回應。從 cURL 7.66.0 開始,預設值為 false;之前的預設值為 true。分別從 PHP 7.3.15 和 7.4.3 以及 cURL 7.64.0 開始提供。
|
CURLOPT_HTTP200ALIASES (整數) |
一個 陣列,其中包含將被視為有效回應而不是錯誤的 HTTP 200 回應。從 cURL 7.10.3 開始提供。
|
CURLOPT_HTTPAUTH (整數) |
要使用的 HTTP 驗證方法的位元遮罩。選項包括:CURLAUTH_BASIC、CURLAUTH_DIGEST、CURLAUTH_GSSNEGOTIATE、CURLAUTH_NTLM、CURLAUTH_AWS_SIGV4、CURLAUTH_ANY、CURLAUTH_ANYSAFE。如果使用多種方法,cURL 將會輪詢伺服器以查看其支援哪些方法,並選擇最佳方法。CURLAUTH_ANY 設定所有位元。cURL 將自動選擇它認為最安全的方法。CURLAUTH_ANYSAFE 設定除 CURLAUTH_BASIC 之外的所有位元。cURL 將自動選擇它認為最安全的方法。從 cURL 7.10.6 開始提供。
|
CURLOPT_HTTPGET (整數) |
設定為 true 可將 HTTP 請求方法重置為 GET。由於 GET 是預設值,因此僅在請求方法已更改時才需要這樣做。從 cURL 7.8.1 版本開始提供。
|
|
要設定的 HTTP 標頭欄位陣列,格式為 array('Content-type: text/plain', 'Content-length: 100') 。從 cURL 7.1.0 版本開始提供。
|
CURLOPT_HTTPPROXYTUNNEL (整數) |
設定為 true 可透過指定的 HTTP 代理伺服器建立通道。從 cURL 7.3.0 版本開始提供。
|
CURLOPT_HTTP_CONTENT_DECODING (整數) |
設定為 false 可取得原始 HTTP 回應主體。從 cURL 7.16.2 版本開始提供。
|
CURLOPT_HTTP_TRANSFER_DECODING (整數) |
如果設定為 0,則停用傳輸解碼。如果設定為 1,則啟用傳輸解碼。除非此選項設定為 0,否則 cURL 預設會執行分塊傳輸解碼。預設值為 1。從 cURL 7.16.2 版本開始提供。
|
CURLOPT_HTTP_VERSION (整數) |
設定為其中一個 CURL_HTTP_VERSION_* 常數,讓 cURL 使用指定的 HTTP 版本。從 cURL 7.9.1 版本開始提供。
|
CURLOPT_IGNORE_CONTENT_LENGTH (整數) |
如果設定為 1,則忽略 HTTP 回應中的 Content-Length 標頭,並且在 FTP 傳輸中忽略請求或依賴它。預設值為 0。從 cURL 7.14.1 版本開始提供。
|
CURLOPT_INFILE (整數) |
接受檔案控制代碼 資源,指向上傳時應讀取傳輸資料的檔案。從 cURL 7.1.0 版本開始提供,並從 cURL 7.9.7 版本開始棄用。請改用 CURLOPT_READDATA。
|
CURLOPT_INFILESIZE (整數) |
將檔案上傳到遠端網站時,檔案的預期大小(以位元組為單位)。請注意,使用此選項並不會阻止 cURL 傳送更多資料,因為實際傳送的內容取決於 CURLOPT_READFUNCTION。此選項接受任何可以轉換為有效 整數 的值。從 cURL 7.1.0 版本開始提供。
|
CURLOPT_INTERFACE (整數) |
設定為包含要使用的輸出網路介面名稱的 字串。這可以是介面名稱、IP 位址或主機名稱。從 cURL 7.1.0 版本開始提供。
|
CURLOPT_IPRESOLVE (整數) |
允許應用程式選擇在解析主機名稱時使用的 IP 位址類型。僅當使用可解析多個 IP 版本位址的主機名稱時,此選項才有意義。設定為其中一個 CURL_IPRESOLVE_* 常數。預設為 CURL_IPRESOLVE_WHATEVER。從 cURL 7.10.8 開始提供。
|
CURLOPT_ISSUERCERT (整數) |
如果設定為一個 字串,指定一個包含 PEM 格式 CA 憑證的檔案,則會對同儕憑證執行額外檢查,以驗證發行者確實是與此選項提供的憑證相關聯的發行者。要將檢查結果視為失敗,應將此選項與 CURLOPT_SSL_VERIFYPEER 選項一起使用。從 cURL 7.19.0 開始提供。
|
CURLOPT_ISSUERCERT_BLOB (整數) |
傳遞一個包含 PEM 格式 CA SSL 憑證二進位資料的 字串。如果設定,則會對同儕憑證執行額外檢查,以驗證發行者確實是與此選項提供的憑證相關聯的發行者。從 PHP 8.1.0 和 cURL 7.71.0 開始提供。
|
CURLOPT_KEEP_SENDING_ON_ERROR (整數) |
設定為 true,如果返回的 HTTP 程式碼大於或等於 300,則繼續傳送請求主體。預設動作是停止傳送並關閉串流或連線。適用於手動 NTLM 驗證。大多數應用程式不需要此選項。從 PHP 7.3.0 和 cURL 7.51.0 開始提供。
|
CURLOPT_KEYPASSWD (整數) |
設定為包含使用 CURLOPT_SSLKEY 或 CURLOPT_SSH_PRIVATE_KEYFILE 私鑰所需的密碼的 字串。將此選項設定為 null 將停用這些選項的密碼使用。從 cURL 7.17.0 開始提供。
|
CURLOPT_KRB4LEVEL (整數) |
KRB4 (Kerberos 4) 安全等級。以下任何 字串 值(從最低到最高)皆有效:clear、safe、confidential、private。如果 字串 不符合其中任何一個,則使用 private。將此選項設定為 null 將停用 KRB4 安全性。目前 KRB4 安全性僅適用於 FTP 傳輸。從 cURL 7.3.0 開始提供,並從 cURL 7.17.0 開始棄用。
|
CURLOPT_KRBLEVEL (整數) |
設定 FTP 的 Kerberos 安全等級,並啟用 Kerberos 感知。應設定為以下其中一個 字串:clear、safe、confidential、private。如果設定了 字串 但不符合其中任何一個,則使用 private。將此選項設定為 null 將停用 FTP 的 Kerberos 支援。預設為 null。從 cURL 7.16.4 開始提供。
|
CURLOPT_LOCALPORT (整數 (int)) |
設定連線所用通訊端 (socket) 的本地埠號。此選項接受任何可以轉換為有效整數 (int) 的值。預設值為 0。從 cURL 7.15.2 版本開始提供。
|
CURLOPT_LOCALPORTRANGE (整數 (int)) |
cURL 嘗試尋找可用本地埠號的次數,從 CURLOPT_LOCALPORT 設定的埠號開始。此選項接受任何可以轉換為有效整數 (int) 的值。預設值為 1。從 cURL 7.15.2 版本開始提供。
|
CURLOPT_LOGIN_OPTIONS (整數 (int)) |
可用於設定特定協定的登入選項,例如透過 AUTH=NTLM 或 AUTH=* 設定偏好的驗證機制,並且應與 CURLOPT_USERNAME 選項一起使用。從 PHP 7.0.7 和 cURL 7.34.0 版本開始提供。
|
CURLOPT_LOW_SPEED_LIMIT (整數 (int)) |
傳輸速度,以每秒位元組數為單位,在 CURLOPT_LOW_SPEED_TIME 秒內,傳輸速度低於此值時,PHP 會認為傳輸速度過慢並中止。此選項接受任何可以轉換為有效整數 (int) 的值。從 cURL 7.1.0 版本開始提供。
|
CURLOPT_LOW_SPEED_TIME (整數 (int)) |
傳輸速度低於 CURLOPT_LOW_SPEED_LIMIT 的秒數,超過此秒數後,PHP 會認為傳輸速度過慢並中止。此選項接受任何可以轉換為有效整數 (int) 的值。從 cURL 7.1.0 版本開始提供。
|
CURLOPT_MAIL_AUTH (整數 (int)) |
設定一個字串 (string),其中包含要轉送到另一台伺服器的已提交訊息的驗證地址(識別碼)。地址不應以尖括號 (><) 括起來。如果使用空字串,則 cURL 會根據 RFC 2554 的要求傳送一對括號。從 cURL 7.25.0 版本開始提供。
|
CURLOPT_MAIL_FROM (整數 (int)) |
傳送 SMTP 郵件時,設定一個字串 (string) 作為寄件者的電子郵件地址。電子郵件地址應該以尖括號 (><) 括起來,如果未指定,則會自動新增。如果未指定此參數,則會向 SMTP 伺服器傳送一個空地址,這可能會導致電子郵件被拒絕。從 cURL 7.20.0 版本開始提供。
|
CURLOPT_MAIL_RCPT (整數 (int)) |
設定為一個字串 (string) 陣列 (array),其中包含要在 SMTP 郵件請求中傳遞給伺服器的收件者。每個收件者都應該以尖括號 (><) 括起來。如果第一個字元未使用尖括號,cURL 會假設已提供單一電子郵件地址,並將該地址括在括號內。從 cURL 7.20.0 版本開始提供。
|
CURLOPT_MAIL_RCPT_ALLLOWFAILS (整數) |
設定為 1 可允許 RCPT TO 命令針對某些收件人失敗,這使得 cURL 忽略個別收件人的錯誤,並繼續處理其餘已接受的收件人。如果所有收件人都觸發失敗且指定了此旗標,cURL 將中止 SMTP 對話,並返回從最後一個 RCPT TO 命令收到的錯誤。從 cURL 8.2.0 開始由 CURLOPT_MAIL_RCPT_ALLOWFAILS 取代。從 PHP 8.2.0 和 cURL 7.69.0 開始可用。從 cURL 8.2.0 開始棄用。
|
CURLOPT_MAXAGE_CONN (整數) |
允許現有連線被視為可重複使用的最大閒置時間。預設最大期限設定為 118 秒。此選項接受任何可以轉換為有效 整數 的值。從 PHP 8.2.0 和 cURL 7.65.0 開始可用。
|
CURLOPT_MAXCONNECTS (整數) |
允許的持續連線最大數量。達到限制時,快取中最舊的連線將被關閉,以防止開啟的連線數量增加。此選項接受任何可以轉換為有效 整數 的值。從 cURL 7.7.0 開始可用。
|
CURLOPT_MAXFILESIZE (整數) |
設定允許下載的檔案最大大小(以位元組為單位)。如果請求的檔案大於此值,則傳輸將中止,並返回 CURLE_FILESIZE_EXCEEDED。傳遞 0 將停用此選項,傳遞負大小將返回 CURLE_BAD_FUNCTION_ARGUMENT。如果在下載開始之前檔案大小未知,則此選項無效。若要設定大於 2GB 的大小限制,應使用 CURLOPT_MAXFILESIZE_LARGE。從 cURL 8.4.0 開始,如果正在進行的傳輸達到此閾值,此選項也會停止傳輸。此選項接受任何可以轉換為有效 整數 的值。預設值為 0。從 cURL 7.10.8 開始可用。
|
CURLOPT_MAXFILESIZE_LARGE (整數) |
允許下載的最大檔案大小(以位元組為單位)。如果請求的檔案大於此值,則傳輸將不會開始,並返回 CURLE_FILESIZE_EXCEEDED。檔案大小在下載前並非總是已知,對於此類檔案,即使檔案傳輸最終大於此給定限制,此選項也無效。此選項接受任何可以轉換為有效 整數 的值。從 PHP 8.2.0 和 cURL 7.11.0 開始可用。
|
CURLOPT_MAXLIFETIME_CONN (整數) |
允許重複使用現有連線的最長時間(以秒為單位),從連線建立起算。如果在快取中找到的連線比此值舊,則在任何進行中的傳輸完成後,該連線將被關閉。預設值為 0 秒,表示此選項被停用,所有連線都可重複使用。此選項接受任何可以轉換為有效 int 的值。自 PHP 8.2.0 和 cURL 7.80.0 起可用。
|
CURLOPT_MAXREDIRS (int) |
要追蹤的 HTTP 重定向的最大數量。請將此選項與 CURLOPT_FOLLOWLOCATION 一起使用。預設值為 20,用於防止無限重定向。設定為 -1 允許無限重定向,而 0 則拒絕所有重定向。自 cURL 7.5.0 起可用。
|
CURLOPT_MAX_RECV_SPEED_LARGE (int) |
如果在傳輸過程中,下載速度(以每秒位元組數計算)的累積平均值超過此速度,則傳輸將會暫停,以保持平均速率小於或等於參數值。預設為無速度限制。此選項接受任何可以轉換為有效 int 的值。自 cURL 7.15.5 起可用。
|
CURLOPT_MAX_SEND_SPEED_LARGE (int) |
如果在傳輸過程中,上傳速度(以每秒位元組數計算)的累積平均值超過此速度,則傳輸將會暫停,以保持平均速率小於或等於參數值。預設為無速度限制。此選項接受任何可以轉換為有效 int 的值。自 cURL 7.15.5 起可用。
|
CURLOPT_MIME_OPTIONS (int) |
設定為 CURLMIMEOPT_* 常數的位元遮罩。目前只有一個可用選項:CURLMIMEOPT_FORMESCAPE。自 PHP 8.3.0 和 cURL 7.81.0 起可用。
|
CURLOPT_MUTE (int) |
設定為 true 可使 cURL 函式完全靜默。請改用 CURLOPT_RETURNTRANSFER。自 cURL 7.1.0 起可用,自 cURL 7.8.0 起棄用,最後可用於 cURL 7.15.5。自 PHP 7.3.0 起移除。
|
CURLOPT_NETRC (int) |
設定為 true 以掃描 ~/.netrc 檔案,以查找正在建立連線的遠端站點的使用者名稱和密碼。自 cURL 7.1.0 起可用。
|
CURLOPT_NETRC_FILE (int) |
設定一個包含 .netrc 檔案完整路徑名稱的 字串。如果省略此選項且設定了 CURLOPT_NETRC,cURL 會在目前使用者的家目錄中檢查 .netrc 檔案。從 cURL 7.11.0 開始可用。
|
CURLOPT_NEW_DIRECTORY_PERMS (整數) |
設定在遠端伺服器上新建立目錄的權限值(整數)。預設值為 0755。可以使用此選項的協定只有 sftp://、scp:// 和 file://。從 cURL 7.16.4 開始可用。
|
CURLOPT_NEW_FILE_PERMS (整數) |
設定在遠端伺服器上新建立檔案的權限值(整數)。預設值為 0644。可以使用此選項的協定只有 sftp://、scp:// 和 file://。從 cURL 7.16.4 開始可用。
|
CURLOPT_NOBODY (整數) |
設定為 true 可從輸出中排除主體內容。對於 HTTP(S),cURL 會發出 HEAD 請求。對於大多數其他協定,cURL 根本不會要求主體資料。將此選項更改為 false 將導致主體資料包含在輸出中。從 cURL 7.1.0 開始可用。
|
CURLOPT_NOPROGRESS (整數) |
設定為 true 可停用 cURL 傳輸的進度計。 注意事項:
PHP 會自動將此選項設定為 true,僅應在除錯時更改此選項。
從 cURL 7.1.0 開始可用。
|
CURLOPT_NOPROXY (整數) |
設定一個 字串,其中包含以逗號分隔的不需要透過代理伺服器即可連線的主機名稱清單。此清單中的每個名稱都與包含主機名稱的網域或主機名稱本身相符。 字串 中唯一可用的萬用字元是單個 * 字元,它會比對所有主機,有效地停用代理伺服器。將此選項設定為空 字串 將為所有主機名稱啟用代理伺服器。從 cURL 7.86.0 開始,可以使用 CIDR 標記法提供使用此選項設定的 IP 位址。從 cURL 7.19.4 開始可用。
|
CURLOPT_NOSIGNAL (整數) |
true 表示忽略任何導致向 PHP 程序發送信號的 cURL 函式。在多執行緒 SAPI 中,預設會開啟此選項,以便仍可使用逾時選項。從 cURL 7.10 開始可用。
|
CURLOPT_PASSWDFUNCTION (整數) |
具有以下簽章的 可呼叫 函式
回呼函式( 資源 $curlHandle, 字串 $passwordPrompt, 整數 $maximumPasswordLength): 字串
curlHandle
-
cURL 句柄。
passwordPrompt
-
密碼提示。
maximumPasswordLength
-
密碼的最大長度。
此回呼函式應返回一個包含密碼的字串。從 cURL 7.4.2 開始可用,從 cURL 7.11.1 開始棄用,最後可用於 cURL 7.15.5。從 PHP 7.3.0 開始移除。
|
CURLOPT_PASSWORD (整數) |
設定為一個包含用於驗證的密碼的字串。從 cURL 7.19.1 開始可用。
|
CURLOPT_PATH_AS_IS (整數) |
設定為 true 可讓 cURL 在將 URL 路徑傳遞到伺服器之前不修改它們。預設值為 false,這會根據 RFC 3986 第 5.2.4 節移除 URL 路徑部分中可能存在的 /../ 或 /./ 序列。從 PHP 7.0.7 和 cURL 7.42.0 開始可用。
|
CURLOPT_PINNEDPUBLICKEY (整數) |
設定一個包含固定公鑰的字串。該字串可以是 PEM 或 DER 檔案格式的固定公鑰的檔案名稱。該字串也可以是任何數量的以 sha256// 開頭並以 ; 分隔的 base64 編碼 sha256 雜湊值。從 PHP 7.0.7 和 cURL 7.39.0 開始可用。
|
CURLOPT_PIPEWAIT (整數) |
設定為 true 可讓程式在建立和使用新連線之前,等待現有連線確認它是否可以進行多工,如果可以則使用它。從 PHP 7.0.7 和 cURL 7.43.0 開始可用。
|
CURLOPT_PORT (整數) |
一個整數,指定要連線的替代埠號,而不是 URL 中指定的埠號或所用協定的預設埠號。從 cURL 7.1.0 開始可用。
|
CURLOPT_POST (整數) |
設定為 true 即可執行 HTTP POST 請求。此請求使用 application/x-www-form-urlencoded 標頭。預設值為 false。從 cURL 7.1.0 開始可用。
|
CURLOPT_POSTFIELDS (整數) |
在 HTTP POST 操作中要發佈的完整資料。此參數可以作為 urlencoded 的 字串 傳遞,例如 'para1=val1¶2=val2&...',或者作為 陣列 傳遞,其中欄位名稱作為鍵,欄位資料作為值。如果 value 是一個 陣列,Content-Type 標頭將被設定為 multipart/form-data。可以使用 CURLFile 或 CURLStringFile 傳送檔案,在這種情況下,value 必須是一個 陣列。cURL 7.1.0 版本起可用。
|
CURLOPT_POSTQUOTE (整數) |
一個 FTP 命令 字串 陣列,在執行 FTP 請求後在伺服器上執行。cURL 7.1.0 版本起可用。
|
CURLOPT_POSTREDIR (整數) |
如果設定了 CURLOPT_FOLLOWLOCATION 並且發生特定類型的重新導向時,HTTP POST 方法應該被保留,則設定為 CURL_REDIR_POST_301、CURL_REDIR_POST_302 和 CURL_REDIR_POST_303 的位元遮罩。cURL 7.19.1 版本起可用。
|
CURLOPT_PRE_PROXY (整數) |
設定一個包含主機名稱或點分十進位 IP 位址的 字串,以作為 cURL 在連線到為即將到來的請求在 CURLOPT_PROXY 選項中指定的 HTTP(S) 代理伺服器之前所連線的預代理伺服器。預代理伺服器只能是 SOCKS 代理伺服器,並且應該以 [scheme]:// 作為前綴來指定使用的 socks 類型。數值 IPv6 位址必須寫在 [括號] 內。將預代理伺服器設定為空 字串 將明確停用預代理伺服器的使用。要在這個 字串 中指定埠號,請在主機名稱的末尾附加 :[port]。代理伺服器的埠號可以選擇使用單獨的選項 CURLOPT_PROXYPORT 指定。如果未指定埠,則預設使用代理伺服器的埠 1080。PHP 7.3.0 和 cURL 7.52.0 版本起可用。
|
CURLOPT_PREQUOTE (整數) |
設定一個 FTP 命令 字串 陣列,在設定傳輸類型後傳遞給伺服器。這些命令在執行目錄列表時不會執行,僅適用於檔案傳輸。cURL 7.9.5 版本起可用。
|
CURLOPT_PRIVATE (整數) |
任何應該與此 cURL 句柄關聯的數據。此數據之後可以透過 curl_getinfo() 的 CURLINFO_PRIVATE 選項來取得。cURL 不會對此數據執行任何操作。當使用 cURL 多重句柄時,此私有數據通常是一個用於識別標準 cURL 句柄的唯一鍵值。cURL 7.10.3 起可用。
|
CURLOPT_PROGRESSFUNCTION (int) |
具有以下簽章的 可呼叫 函式
回呼函數( 資源 $curlHandle, int $bytesToDownload, int $bytesDownloaded, int $bytesToUpload, int $bytesUploaded): int
curlHandle
-
cURL 句柄。
bytesToDownload
-
預期在此次傳輸中下載的總位元組數。
bytesDownloaded
-
目前已下載的位元組數。
bytesToUpload
-
預期在此次傳輸中上傳的總位元組數。
bytesUploaded
-
目前已上傳的位元組數。
回呼函數應回傳一個非零值的 int 以中止傳輸並設定 CURLE_ABORTED_BY_CALLBACK 錯誤。注意事項:
僅當 CURLOPT_NOPROGRESS 選項設為 false 時,才會呼叫回呼函數。
cURL 7.1.0 起可用,cURL 7.32.0 起棄用。請改用 CURLOPT_XFERINFOFUNCTION。
|
CURLOPT_PROTOCOLS (int) |
CURLPROTO_* 值的位元遮罩。如果使用,此位元遮罩會限制 cURL 在傳輸中可使用的協議。預設為 CURLPROTO_ALL,即 cURL 將接受其支援的所有協議。另請參閱 CURLOPT_REDIR_PROTOCOLS。cURL 7.19.4 起可用,cURL 7.85.0 起棄用。
|
CURLOPT_PROTOCOLS_STR (int) |
設定為一個以逗號分隔、不區分大小寫的協議名稱(URL 結構描述)列表的 字串,以允許在傳輸中使用。設定為 ALL 以啟用所有協議。預設情況下,cURL 接受其建置時支援的所有協議。可用的協議有:DICT、FILE、FTP、FTPS、GOPHER、GOPHERS、HTTP、HTTPS、IMAP、IMAPS、LDAP、LDAPS、MQTT、POP3、POP3S、RTMP、RTMPE、RTMPS、RTMPT、RTMPTE、RTMPTS、RTSP、SCP、SFTP、SMB、SMBS、SMTP、SMTPS、TELNET、TFTP、WS、WSS。PHP 8.3.0 和 cURL 7.85.0 起可用。
|
CURLOPT_PROXY (int) |
一個 字串,指定用於傳送請求的 HTTP 代理。這應該是主機名稱、點分十進位 IP 位址或以方括號括住的數值 IPv6 位址。從 cURL 7.1.0 版本開始提供。
|
CURLOPT_PROXYAUTH (整數) |
用於代理連線的 HTTP 驗證方法 (CURLAUTH_* 常數) 的位元遮罩。對於代理驗證,目前僅支援 CURLAUTH_BASIC 和 CURLAUTH_NTLM。預設為 CURLAUTH_BASIC。從 cURL 7.10.7 版本開始提供。
|
|
一個自訂 HTTP 標頭 字串 的 陣列,用於傳遞給代理伺服器。從 PHP 7.0.7 和 cURL 7.37.0 版本開始提供。
|
CURLOPT_PROXYPASSWORD (整數) |
設定一個 字串 作為用於代理驗證的密碼。從 cURL 7.19.1 版本開始提供。
|
CURLOPT_PROXYPORT (整數) |
一個 整數,指定要連線的代理伺服器埠號。此埠號也可以在 CURLOPT_PROXY 中設定。將此值設定為零會使 cURL 使用預設的代理埠號或代理 URL 字串 中指定的埠號。從 cURL 7.1.0 版本開始提供。
|
CURLOPT_PROXYTYPE (整數) |
將代理類型設定為 CURLPROXY_* 常數之一。預設為 CURLPROXY_HTTP。從 cURL 7.10 版本開始提供。
|
CURLOPT_PROXYUSERNAME (整數) |
設定一個 字串 作為用於代理驗證的使用者名稱。從 cURL 7.19.1 版本開始提供。
|
CURLOPT_PROXYUSERPWD (整數) |
一個格式為 [username]:[password] 的 字串,包含使用者名稱和密碼,用於代理連線。從 cURL 7.1.0 版本開始提供。
|
CURLOPT_PROXY_CAINFO (整數) |
代理憑證授權單位 (CA) 叢集的路徑。將路徑設定為一個 字串,該字串指定一個包含一個或多個憑證的檔案,用於驗證 HTTPS 代理。此選項用於連線到 HTTPS 代理,而不是 HTTPS 伺服器。預設設定為系統路徑,其中假設儲存了 cURL 的 cacert 叢集。從 PHP 7.3.0 和 cURL 7.52.0 版本開始提供。
|
CURLOPT_PROXY_CAINFO_BLOB (整數) |
一個 字串,包含 PEM 檔案的名稱,該檔案持有一個或多個用於驗證 HTTPS 代理伺服器的憑證。此選項用於連接到 HTTPS 代理伺服器,而不是 HTTPS 伺服器。預設設定為系統路徑,其中假設儲存了 cURL 的 cacert 軟體包。自 PHP 8.2.0 和 cURL 7.77.0 起可用。
|
CURLOPT_PROXY_CAPATH (整數) |
一個 字串,包含用於驗證 HTTPS 代理伺服器的多個 CA 憑證的目錄。自 PHP 7.3.0 和 cURL 7.52.0 起可用。
|
CURLOPT_PROXY_CRLFILE (整數) |
設定為一個 字串,其中包含 PEM 格式的 CRL(憑證撤銷清單)串聯的檔案名稱,用於在 SSL 交換期間進行的憑證驗證。自 PHP 7.3.0 和 cURL 7.52.0 起可用。
|
CURLOPT_PROXY_ISSUERCERT (整數) |
代理伺服器發行者 SSL 憑證檔案名稱 字串。自 PHP 8.1.0 和 cURL 7.71.0 起可用。
|
CURLOPT_PROXY_ISSUERCERT_BLOB (整數) |
一個包含代理伺服器發行者 SSL 憑證的 字串。自 PHP 8.1.0 和 cURL 7.71.0 起可用。
|
CURLOPT_PROXY_KEYPASSWD (整數) |
設定用作使用 CURLOPT_PROXY_SSLKEY 私鑰所需的密碼的 字串。載入憑證不需要密碼,但載入私鑰需要密碼。此選項用於連接到 HTTPS 代理伺服器,而不是 HTTPS 伺服器。自 PHP 7.3.0 和 cURL 7.52.0 起可用。
|
CURLOPT_PROXY_PINNEDPUBLICKEY (整數) |
設定 HTTPS 代理伺服器的固定公鑰。字串 可以是固定公鑰的檔案名稱,預期其格式為 PEM 或 DER 檔案。字串 也可以是任何數量的以 sha256// 開頭,並以 ; 分隔的 base64 編碼 sha256 雜湊值。自 PHP 7.3.0 和 cURL 7.52.0 起可用。
|
CURLOPT_PROXY_SERVICE_NAME (整數) |
一個包含代理伺服器驗證服務名稱的 字串。自 PHP 7.0.7、cURL 7.43.0(適用於 HTTP 代理伺服器)和 cURL 7.49.0(適用於 SOCKS5 代理伺服器)起可用。
|
CURLOPT_PROXY_SSLCERT (整數) |
一個字串,包含用於連線到 HTTPS 代理伺服器的客戶端憑證檔案名稱。預設格式在 Secure Transport 上為 P12,在其他引擎上為 PEM,可以使用 CURLOPT_PROXY_SSLCERTTYPE 更改。使用 NSS 或 Secure Transport 時,這也可以是安全資料庫中用於驗證的憑證暱稱。如果要使用目前目錄中的檔案,則必須在其前面加上 ./ 以避免與暱稱混淆。PHP 7.3.0 和 cURL 7.52.0 起可用。
|
CURLOPT_PROXY_SSLCERTTYPE (整數) |
一個字串,包含連線到 HTTPS 代理伺服器時使用的客戶端憑證格式。支援的格式為 PEM 和 DER,Secure Transport 除外。 OpenSSL(0.9.3 版及更高版本)和 Secure Transport(iOS 5 或更高版本,或 OS X 10.7 或更高版本)也支援 PKCS#12 編碼檔案的 P12 格式。預設為 PEM。PHP 7.3.0 和 cURL 7.52.0 起可用。
|
CURLOPT_PROXY_SSLCERT_BLOB (整數) |
一個字串,包含 SSL 代理客戶端憑證。PHP 8.1.0 和 cURL 7.71.0 起可用。
|
CURLOPT_PROXY_SSLKEY (整數) |
一個字串,包含用於連線到 HTTPS 代理伺服器的私鑰檔案名稱。預設格式為 PEM,可以使用 CURLOPT_PROXY_SSLKEYTYPE 更改。(僅限 iOS 和 Mac OS X)如果 cURL 是針對 Secure Transport 建置的,則會忽略此選項。在啟用 TLS 的情況下可用。PHP 7.3.0 和 cURL 7.52.0 起可用。
|
CURLOPT_PROXY_SSLKEYTYPE (整數) |
一個字串,包含私鑰的格式。支援的格式有:PEM、DER、ENG。PHP 7.3.0 和 cURL 7.52.0 起可用。
|
CURLOPT_PROXY_SSLKEY_BLOB (整數) |
一個字串,包含用於連線到 HTTPS 代理伺服器的私鑰。PHP 8.1.0 和 cURL 7.71.0 起可用。
|
CURLOPT_PROXY_SSLVERSION (整數) |
將偏好的 HTTPS 代理 TLS 版本設定為 CURL_SSLVERSION_* 常數之一。預設為 CURL_SSLVERSION_DEFAULT。 PHP 7.3.0 和 cURL 7.52.0 起可用。
|
CURLOPT_PROXY_SSL_CIPHER_LIST (整數) |
一個以冒號分隔的字串,其中包含用於連線到 HTTPS 代理伺服器的加密演算法清單。當與 OpenSSL 一起使用時,逗號和空格也可以作為分隔符號,並且可以使用 !、- 和 + 作為運算符。PHP 7.3.0 和 cURL 7.52.0 起可用。
|
CURLOPT_PROXY_SSL_OPTIONS (整數) |
設定代理伺服器 SSL 行為選項,它是 CURLSSLOPT_* 常數的位元遮罩。PHP 7.3.0 和 cURL 7.52.0 起可用。
|
CURLOPT_PROXY_SSL_VERIFYHOST (整數) |
設定為 2 以根據代理伺服器名稱驗證 HTTPS 代理伺服器憑證中的名稱欄位。設定為 0 時,無論憑證中使用的名稱為何,連線都會成功。請謹慎使用此功能!在 cURL 7.28.0 和更早版本中,設定為 1 作為除錯選項。在 cURL 7.28.1 到 7.65.3 中設定為 1 會傳回 CURLE_BAD_FUNCTION_ARGUMENT。從 cURL 7.66.0 開始,1 和 2 被視為相同的值。預設值為 2。在正式環境中,此選項的值應保持為 2。PHP 7.3.0 和 cURL 7.52.0 起可用。
|
CURLOPT_PROXY_SSL_VERIFYPEER (整數) |
設定為 false 以停止 cURL 驗證對等憑證。可以使用 CURLOPT_CAINFO 選項指定要驗證的替代憑證,或者可以使用 CURLOPT_CAPATH 選項指定憑證目錄。設定為 false 時,對等憑證驗證將會成功,無論憑證為何。預設值為 true。PHP 7.3.0 和 cURL 7.52.0 起可用。
|
CURLOPT_PROXY_TLS13_CIPHERS (整數) |
一個以冒號分隔的字串,其中包含用於與代理伺服器建立 TLS 1.3 連線的加密演算法清單。目前僅在 cURL 建置為使用 OpenSSL 1.1.1 或更高版本時才使用此選項。當使用不同的 SSL 後端時,可以使用 CURLOPT_PROXY_SSL_CIPHER_LIST 選項設定 TLS 1.3 加密套件。PHP 7.3.0 和 cURL 7.61.0 起可用。
|
CURLOPT_PROXY_TLSAUTH_PASSWORD (整數) |
一個字串,其中包含用於 CURLOPT_PROXY_TLSAUTH_TYPE 選項指定的 TLS 驗證方法的密碼。需要同時設定 CURLOPT_PROXY_TLSAUTH_USERNAME 選項。PHP 7.3.0 和 cURL 7.52.0 起可用。
|
CURLOPT_PROXY_TLSAUTH_TYPE (整數) |
HTTPS 連線使用的 TLS 驗證方法。支援的方法為 SRP。 注意事項:
如果雙方都有一個共享密鑰,則 TLS 的安全遠端密碼 (SRP) 驗證可提供相互驗證。要使用 TLS-SRP,還必須設定 CURLOPT_PROXY_TLSAUTH_USERNAME 和 CURLOPT_PROXY_TLSAUTH_PASSWORD 選項。
PHP 7.3.0 和 cURL 7.52.0 起可用。
|
CURLOPT_PROXY_TLSAUTH_USERNAME (int) |
用於 HTTPS 代理伺服器 TLS 驗證方法的使用者名稱,該方法由 CURLOPT_PROXY_TLSAUTH_TYPE 選項指定。需要同時設定 CURLOPT_PROXY_TLSAUTH_PASSWORD 選項。PHP 7.3.0 和 cURL 7.52.0 起可用。
|
CURLOPT_PROXY_TRANSFER_MODE (int) |
設定為 1 可透過將 type=a 或 type=i 附加到 URL 來設定透過 HTTP 代理伺服器進行 FTP 傳輸的傳輸模式(二進位或 ASCII)。如果沒有此設定或將其設定為 0,則在透過代理伺服器進行 FTP 時,CURLOPT_TRANSFERTEXT 不會有作用。預設值為 0。cURL 7.18.0 起可用。
|
CURLOPT_PUT (int) |
true 表示使用 HTTP PUT 上傳檔案。要 PUT 的檔案必須使用 CURLOPT_READDATA 和 CURLOPT_INFILESIZE 設定。cURL 7.1.0 起可用,並在 cURL 7.12.1 起棄用。
|
CURLOPT_QUICK_EXIT (int) |
設定為 true 可讓 cURL 在從逾時中恢復時跳過資源清理。這允許快速終止 cURL 程序,但可能會洩漏相關資源。PHP 8.3.0 和 cURL 7.87.0 起可用。
|
CURLOPT_QUOTE (int) |
一個 陣列,包含要在 FTP 請求之前在伺服器上執行的 FTP 命令 字串。cURL 7.1.0 起可用。
|
CURLOPT_RANDOM_FILE (int) |
一個 字串,其中包含要用於為 SSL 初始化隨機數產生器的檔案名稱。cURL 7.7.0 起可用,並在 cURL 7.84.0 起棄用。
|
CURLOPT_RANGE (int) |
一個 字串,其中包含要擷取的資料範圍,格式為 X-Y,其中 X 或 Y 是可選的。HTTP 傳輸也支援多個區間,以逗號分隔,格式為 X-Y,N-M。設定為 null 可停用請求位元組範圍。cURL 7.1.0 起可用。
|
CURLOPT_READDATA (int) |
設定一個檔案指標 資源,該資源將由使用 CURLOPT_READFUNCTION 設定的檔案讀取函式使用。cURL 7.9.7 起可用。
|
CURLOPT_READFUNCTION (整數) |
具有以下簽章的 可呼叫 函式
回呼函式( 資源 $curlHandle, 資源 $streamResource, 整數 $maxAmountOfDataToRead): 字串
curlHandle
-
cURL 句柄。
streamResource
-
透過選項
CURLOPT_READDATA 提供給 cURL 的串流 資源。
maxAmountOfDataToRead
-
要讀取的最大資料量。
回呼函式應返回一個長度等於或小於請求資料量的 字串,通常是透過從傳遞的串流 資源 讀取資料來實現。它應該返回一個空的 字串 來表示 EOF(檔案結束)。從 cURL 7.1.0 開始可用。
|
CURLOPT_REDIR_PROTOCOLS (整數) |
CURLPROTO_* 值的位元遮罩,當啟用 CURLOPT_FOLLOWLOCATION 時,它限制 cURL 在重定向傳輸中可使用的協議。這允許限制特定傳輸只允許在重定向中使用協議的子集。從 cURL 7.19.4 開始,預設情況下,cURL 將允許除 FILE 和 SCP 之外的所有協議。在 cURL 7.19.4 之前,cURL 會無條件地遵循所有支援的協議。有關協議常數值,另請參閱 CURLOPT_PROTOCOLS。從 cURL 7.19.4 開始可用,並從 cURL 7.85.0 開始棄用。
|
CURLOPT_REDIR_PROTOCOLS_STR (整數) |
設定為一個以逗號分隔、不區分大小寫的協議名稱(URL 結構)列表的字串,以便在啟用CURLOPT_FOLLOWLOCATION時允許在重定向中追蹤。設定為ALL以啟用所有協議。從 cURL 7.65.2 開始,預設為FTP、FTPS、HTTP和HTTPS。從 cURL 7.40.0 到 7.65.1,預設為除FILE、SCP、SMB和SMBS之外的所有協議。在 cURL 7.40.0 之前,預設為除FILE和SCP之外的所有協議。可用的協議有:DICT、FILE、FTP、FTPS、GOPHER、GOPHERS、HTTP、HTTPS、IMAP、IMAPS、LDAP、LDAPS、MQTT、POP3、POP3S、RTMP、RTMPE、RTMPS、RTMPT、RTMPTE、RTMPTS、RTSP、SCP、SFTP、SMB、SMBS、SMTP、SMTPS、TELNET、TFTP、WS、WSS。從 PHP 8.3.0 和 cURL 7.85.0 開始可用。
|
CURLOPT_REFERER (整數) |
一個包含 HTTP 請求中要使用的 Referer: 標頭內容的字串。從 cURL 7.1.0 開始可用。
|
CURLOPT_REQUEST_TARGET (整數) |
一個在即將發出的請求中使用的字串,用於取代從 URL 擷取的路徑。從 PHP 7.3.0 和 cURL 7.55.0 開始可用。
|
CURLOPT_RESOLVE (整數) |
提供一個以冒號分隔的字串的陣列,其中包含特定主機和連接埠對的自訂位址,格式如下: array( "example.com:80:127.0.0.1", "example2.com:443:127.0.0.2", ) 從 cURL 7.21.3 開始可用。
|
CURLOPT_RESUME_FROM (整數) |
恢復傳輸的偏移量,以位元組為單位。此選項接受任何可以轉換為有效整數的值。從 cURL 7.1.0 開始可用。
|
CURLOPT_RETURNTRANSFER (整數) |
true 將傳輸作為 curl_exec() 返回值的字串返回,而不是直接輸出。
|
CURLOPT_RTSP_CLIENT_CSEQ (整數) |
設定一個整數,作為下一個 RTSP 請求的 CSEQ 號碼。如果應用程式正在恢復先前中斷的連線,則此選項很有用。CSEQ 將從這個新號碼開始遞增。預設值為0。從 cURL 7.20.0 開始可用。
|
CURLOPT_RTSP_REQUEST (整數) |
設定要發出的 RTSP 請求類型。必須是 CURL_RTSPREQ_* 常數之一。從 cURL 7.20.0 開始提供。
|
CURLOPT_RTSP_SERVER_CSEQ (整數) |
設定一個 整數,其中包含預期下一個 RTSP 伺服器到客戶端請求的 CSEQ 編號。此功能(監聽伺服器請求)尚未實現。預設值為 0。從 cURL 7.20.0 開始提供。
|
CURLOPT_RTSP_SESSION_ID (整數) |
設定一個 字串,其中包含目前控制代碼的 RTSP 工作階段 ID 值。一旦將此值設定為任何非 空值 的值,如果從伺服器接收到的 ID 不相符,cURL 將返回 CURLE_RTSP_SESSION_ERROR。如果設定為 空值,cURL 會在伺服器第一次在回應中設定 ID 時自動設定 ID。預設值為 空值。從 cURL 7.20.0 開始提供。
|
CURLOPT_RTSP_STREAM_URI (整數) |
設定一個 字串,其中包含要操作的串流 URI。如果未設定,cURL 預設會通過在 RTSP 串流 URI 的位置傳遞 * 來操作一般伺服器選項。使用 RTSP 時,CURLOPT_RTSP_STREAM_URI 指示在請求標頭中要傳送到伺服器的 URL,而 CURLOPT_URL 指示要連線的位置。從 cURL 7.20.0 開始提供。
|
CURLOPT_RTSP_TRANSPORT (整數) |
設定此 RTSP 工作階段的 Transport: 標頭。從 cURL 7.20.0 開始提供。
|
CURLOPT_SAFE_UPLOAD (整數) |
永遠為 真,這會停用在 CURLOPT_POSTFIELDS 中使用 @ 前綴上傳檔案的功能,這表示以 @ 開頭的值可以安全地作為欄位傳遞。CURLFile 可用於上傳。
|
CURLOPT_SASL_AUTHZID (整數) |
傳輸的授權識別碼 (authzid) 字串。僅適用於 PLAIN SASL 驗證機制,其中它是可選的。如果未指定,則只會將使用者名稱指定的驗證識別碼 (authcid) 與密碼一起傳送到伺服器。伺服器在未提供 authzid 時將從 authcid 衍生 authzid,然後在內部使用。從 PHP 8.2.0 和 cURL 7.66.0 開始提供。
|
CURLOPT_SASL_IR (整數 (int)) |
設為 true 以啟用在第一個封包中發送初始回應。PHP 7.0.7 和 cURL 7.31.0 起可用。
|
CURLOPT_SERVICE_NAME (整數 (int)) |
一個包含驗證服務名稱的 字串 (string)。PHP 7.0.7 和 cURL 7.43.0 起可用。
|
CURLOPT_SHARE (整數 (int)) |
curl_share_init() 的結果。使 cURL 句柄使用來自共享句柄的數據。cURL 7.10 起可用。
|
CURLOPT_SOCKS5_AUTH (整數 (int)) |
要使用的 SOCKS5 驗證方法。選項有:CURLAUTH_BASIC、CURLAUTH_GSSAPI、CURLAUTH_NONE。設定多個方法時,cURL 會輪詢伺服器以查看其支援哪些方法,並選擇最佳方法。預設為 CURLAUTH_BASIC|CURLAUTH_GSSAPI。使用 CURLOPT_PROXYUSERPWD 選項設定實際的使用者名稱和密碼。PHP 7.3.0 和 cURL 7.55.0 起可用。
|
CURLOPT_SOCKS5_GSSAPI_NEC (整數 (int)) |
設為 1 以啟用,設為 0 以停用作為 GSSAPI 協商一部分的保護模式協商的未受保護交換。cURL 7.19.4 起可用。
|
CURLOPT_SOCKS5_GSSAPI_SERVICE (整數 (int)) |
設定一個包含 SOCKS5 服務名稱的 字串 (string)。預設為 rcmd。cURL 7.19.4 起可用,並自 cURL 7.49.0 起棄用。請改用 CURLOPT_PROXY_SERVICE_NAME。
|
CURLOPT_SSH_AUTH_TYPES (整數 (int)) |
由以下一個或多個常數組成的位元遮罩:CURLSSH_AUTH_PUBLICKEY、CURLSSH_AUTH_PASSWORD、CURLSSH_AUTH_HOST、CURLSSH_AUTH_KEYBOARD、CURLSSH_AUTH_AGENT、CURLSSH_AUTH_ANY。預設為 CURLSSH_AUTH_ANY。cURL 7.16.1 起可用。
|
CURLOPT_SSH_COMPRESSION (整數 (int)) |
true 表示啟用,false 表示停用內建的 SSH 壓縮。請注意,伺服器可以忽略此請求。預設為 false。PHP 7.3.0 和 cURL 7.56.0 起可用。
|
CURLOPT_SSH_HOSTKEYFUNCTION (整數 (int)) |
一個在需要驗證 SSH 主機金鑰時會被呼叫的 可呼叫物件。該回呼函式必須具有以下簽章:
回呼函數( 資源 $curlHandle, 整數 $keyType, 字串 $key, 整數 $keyLength): int
curlHandle
-
cURL 句柄。
keyType
-
CURLKHTYPE_* 金鑰類型之一。
key
-
要檢查的金鑰。
keyLength
-
金鑰的長度,以位元組為單位。
此回呼函式會覆寫 CURLOPT_SSH_KNOWNHOSTS。從 PHP 8.3.0 和 cURL 7.84.0 開始可用。
|
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 (整數) |
一個包含 32 個十六進位數字的 字串,其中應包含遠端主機公開金鑰的 MD5 校驗和,除非 md5 校驗和相符,否則 cURL 將拒絕連線到該主機。此選項僅適用於 SCP 和 SFTP 傳輸。從 cURL 7.17.1 開始可用。
|
CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256 (整數) |
一個包含遠端主機公開金鑰的 base64 編碼 SHA256 雜湊值的 字串。如果給定的雜湊值與遠端主機提供的雜湊值不符,則傳輸將會失敗。從 PHP 8.2.0 和 cURL 7.80.0 開始可用。
|
CURLOPT_SSH_KNOWNHOSTS (整數) |
設定為要使用的 known_host 檔案的檔案名稱,該檔案應使用 libssh2 支援的 OpenSSH 檔案格式。從 cURL 7.19.6 開始可用。
|
CURLOPT_SSH_PRIVATE_KEYFILE (整數) |
私鑰的檔案名稱。如果未使用,如果設定了 HOME 環境變數,cURL 預設為 $HOME/.ssh/id_dsa,如果未設定 HOME,則預設為目前目錄中的 id_dsa。如果檔案受密碼保護,請使用 CURLOPT_KEYPASSWD 設定密碼。從 cURL 7.16.1 開始可用。
|
CURLOPT_SSH_PUBLIC_KEYFILE (整數) |
公開金鑰的檔案名稱。如果未使用,如果設定了 HOME 環境變數,cURL 預設為 $HOME/.ssh/id_dsa.pub,如果未設定 HOME,則預設為目前目錄中的 id_dsa.pub。從 cURL 7.16.1 開始可用。
|
CURLOPT_SSLCERT (整數) |
包含 PEM 格式憑證的檔案名稱。從 cURL 7.1.0 開始可用。
|
CURLOPT_SSLCERTPASSWD (整數) |
使用 CURLOPT_SSLCERT 憑證所需的密碼。從 cURL 7.1.0 開始可用,並從 cURL 7.17.0 開始棄用。
|
CURLOPT_SSLCERTTYPE (整數) |
一個格式為憑證格式的 字串。支援的格式有:PEM、DER、ENG、P12。 P12(適用於 PKCS#12 編碼的檔案)自 OpenSSL 0.9.3 起可用。預設為 PEM。自 cURL 7.9.3 起可用。
|
CURLOPT_SSLCERT_BLOB (整數) |
一個包含 SSL 用戶端憑證的 字串。自 PHP 8.1.0 和 cURL 7.71.0 起可用。
|
CURLOPT_SSLENGINE (整數) |
在 CURLOPT_SSLKEY 中指定的私密 SSL 金鑰的加密引擎的 字串 識別碼。自 cURL 7.9.3 起可用。
|
CURLOPT_SSLENGINE_DEFAULT (整數) |
用於非對稱加密操作的加密引擎的 字串 識別碼。自 cURL 7.9.3 起可用。
|
CURLOPT_SSLKEY (整數) |
包含私密 SSL 金鑰的檔案名稱。自 cURL 7.9.3 起可用。
|
CURLOPT_SSLKEYPASSWD (整數) |
使用 CURLOPT_SSLKEY 中指定的私密 SSL 金鑰所需的密碼。 注意事項:
由於此選項包含敏感密碼,請務必妥善保管包含它的 PHP 指令碼。
自 cURL 7.9.3 起可用,並自 cURL 7.17.0 起棄用。
|
CURLOPT_SSLKEYTYPE (整數) |
在 CURLOPT_SSLKEY 中指定的私密 SSL 金鑰的金鑰類型。支援的金鑰類型有:PEM、DER、ENG。預設為 PEM。自 cURL 7.9.3 起可用。
|
CURLOPT_SSLKEY_BLOB (整數) |
用戶端憑證的 字串 私密金鑰。自 PHP 8.1.0 和 cURL 7.71.0 起可用。
|
CURLOPT_SSLVERSION (整數) |
CURL_SSLVERSION_* 常數之一。 預設為 CURL_SSLVERSION_DEFAULT。自 cURL 7.1.0 起可用。
|
CURLOPT_SSL_CIPHER_LIST (整數) |
以冒號分隔的 字串,用於 TLS 1.2 (1.1, 1.0) 連線的加密套件。自 cURL 7.9 起可用。
|
CURLOPT_SSL_EC_CURVES (整數) |
以冒號分隔的橢圓曲線演算法列表。例如,X25519:P-521 是一個包含兩個橢圓曲線的有效列表。此選項定義了 SSL 握手過程中客戶端的金鑰交換演算法,如果 cURL 建置的 SSL 後端支援此功能的話。PHP 8.2.0 和 cURL 7.73.0 起可用。
|
CURLOPT_SSL_ENABLE_ALPN (int) |
false 可在 SSL 握手過程中停用 ALPN(如果 cURL 建置的 SSL 後端支援此功能),可用於協商 http2。PHP 7.0.7 和 cURL 7.36.0 起可用。
|
CURLOPT_SSL_ENABLE_NPN (int) |
false 可在 SSL 握手過程中停用 NPN(如果 cURL 建置的 SSL 後端支援此功能),可用於協商 http2。PHP 7.0.7 和 cURL 7.36.0 起可用,並自 cURL 7.86.0 起棄用。
|
CURLOPT_SSL_FALSESTART (int) |
true 啟用 TLS False Start,false 則停用。TLS False Start 是一種 TLS 用戶端在驗證伺服器 Finished 訊息之前就開始傳送應用程式資料的模式。PHP 7.0.7 和 cURL 7.42.0 起可用。
|
CURLOPT_SSL_OPTIONS (int) |
設定 SSL 行為選項,它是 CURLSSLOPT_* 常數的位元遮罩 (bitmask)。預設情況下,不會設定任何位元。PHP 7.0.7 和 cURL 7.25.0 起可用。
|
CURLOPT_SSL_SESSIONID_CACHE (int) |
設定為 0 可停用 SSL 階段作業 ID 快取,設定為 1 可啟用。預設情況下,所有傳輸都使用啟用快取的方式進行。cURL 7.16.0 起可用。
|
CURLOPT_SSL_VERIFYHOST (int) |
2 表示驗證 SSL 對等憑證中的通用名稱欄位或主體別名欄位是否與提供的網域名稱相符。0 表示不檢查名稱。1 不應使用。在正式環境中,此選項的值應保持為 2(預設值)。cURL 7.28.1 中移除了對值 1 的支援。cURL 7.8.1 起可用。
|
CURLOPT_SSL_VERIFYPEER (int) |
false 表示阻止 cURL 驗證對等憑證。可以使用 CURLOPT_CAINFO 選項指定要驗證的替代憑證,或者可以使用 CURLOPT_CAPATH 選項指定憑證目錄。從 cURL 7.10 開始,預設值為 true。從 cURL 7.10 開始安裝預設的 CA 憑證套件。cURL 7.4.2 起可用。
|
CURLOPT_SSL_VERIFYSTATUS (整數 (int)) |
設為 true 以啟用憑證狀態驗證,設為 false 則停用。PHP 7.0.7 及 cURL 7.41.0 起可用。
|
CURLOPT_STDERR (整數 (int)) |
接受一個指向檔案控制代碼的 資源 (resource),將錯誤輸出到指定位置,而不是 STDERR。cURL 7.1.0 起可用。
|
CURLOPT_STREAM_WEIGHT (整數 (int)) |
設定串流權重值(介於 1 和 256 之間的數字)。PHP 7.0.7 及 cURL 7.46.0 起可用。
|
|
當使用 CURLOPT_HTTPPROXYTUNNEL 並發出 CONNECT 請求時,設為 true 可抑制使用者回呼函式 CURLOPT_HEADERFUNCTION 和 CURLOPT_WRITEFUNCTION 接收代理伺服器 CONNECT 回應標頭。預設為 false。PHP 7.3.0 及 cURL 7.54.0 起可用。
|
CURLOPT_TCP_FASTOPEN (整數 (int)) |
設為 true 以啟用 TCP Fast Open,設為 false 則停用。PHP 7.0.7 及 cURL 7.49.0 起可用。
|
CURLOPT_TCP_KEEPALIVE (整數 (int)) |
如果設為 1,將會發送 TCP keepalive 探測。這些探測的延遲和頻率可以通過 CURLOPT_TCP_KEEPIDLE 和 CURLOPT_TCP_KEEPINTVL 選項控制,前提是作業系統支援它們。如果設為 0(預設值),則停用 keepalive 探測。最大探測次數可以使用 CURLOPT_TCP_KEEPCNT 選項設定。cURL 7.25.0 起可用。
|
CURLOPT_TCP_KEEPIDLE (整數 (int)) |
如果啟用了 CURLOPT_TCP_KEEPALIVE,則設定作業系統在連線閒置時等待多久(以秒為單位)後才發送 keepalive 探測。並非所有作業系統都支援此選項。預設值為 60。cURL 7.25.0 起可用。
|
CURLOPT_TCP_KEEPINTVL (整數 (int)) |
如果啟用了 CURLOPT_TCP_KEEPALIVE,則設定作業系統發送 keepalive 探測的間隔時間(以秒為單位)。並非所有作業系統都支援此選項。預設值為 60。cURL 7.25.0 起可用。
|
CURLOPT_TCP_KEEPCNT (整數 (int)) |
設定 TCP keep-alive 探測的最大次數。預設值為 9。PHP 8.4.0 及 cURL 8.9.0 起可用。
|
CURLOPT_TCP_NODELAY (整數 (int)) |
設為 true 可停用 TCP 的 Nagle 演算法,該演算法會嘗試減少網路上小封包的數量。預設為 true。從 cURL 7.11.2 版開始提供。
|
CURLOPT_TELNETOPTIONS (整數 (int)) |
設定一個 陣列 (array) 的 字串 (string) 以傳遞給 telnet 協商。變數應採用 >選項=值< 的格式。cURL 支援 TTYPE、XDISPLOC 和 NEW_ENV 選項。從 cURL 7.7.0 版開始提供。
|
CURLOPT_TFTP_BLKSIZE (整數 (int)) |
設定用於 TFTP 資料傳輸的區塊大小。有效範圍為 8-65464 位元組。如果未指定此選項,則使用預設值 512 位元組。僅當遠端伺服器支援時,才會使用指定的區塊大小。如果伺服器未返回選項確認或返回的選項確認中沒有區塊大小,則使用預設值 512 位元組。從 cURL 7.19.4 版開始提供。
|
CURLOPT_TFTP_NO_OPTIONS (整數 (int)) |
設為 true 表示不發送 TFTP 選項請求。預設為 false。從 PHP 7.0.7 和 cURL 7.48.0 版開始提供。
|
CURLOPT_TIMECONDITION (整數 (int)) |
設定 CURLOPT_TIMEVALUE 的處理方式。使用 CURL_TIMECOND_IFMODSINCE 僅在頁面自 CURLOPT_TIMEVALUE 指定的時間以來已修改時才返回頁面。如果未修改,假設 CURLOPT_HEADER 為 true,則會返回 304 Not Modified 標頭。使用 CURL_TIMECOND_IFUNMODSINCE 可產生相反的效果。使用 CURL_TIMECOND_NONE 可忽略 CURLOPT_TIMEVALUE 並始終返回頁面。CURL_TIMECOND_NONE 為預設值。在 cURL 7.46.0 之前的版本中,預設值為 CURL_TIMECOND_IFMODSINCE。從 cURL 7.1.0 版開始提供。
|
CURLOPT_TIMEOUT (整數 (int)) |
允許 cURL 函式執行的最大秒數。預設為 0,表示函式在傳輸期間永不逾時。從 cURL 7.1.0 版開始提供。
|
CURLOPT_TIMEOUT_MS (整數 (int)) |
允許 cURL 函式執行的最大毫秒數。如果 cURL 使用標準系統名稱解析器構建,則連線的該部分仍將使用整秒解析度進行逾時,最小逾時時間為一秒。預設值為 0,表示函式在傳輸過程中永不逾時。從 cURL 7.16.2 開始可用。
|
CURLOPT_TIMEVALUE (整數) |
自 1970 年 1 月 1 日起的秒數。此時間將由 CURLOPT_TIMECONDITION 使用。預設值為 0。從 cURL 7.1.0 開始可用。
|
CURLOPT_TIMEVALUE_LARGE (整數) |
自 1970 年 1 月 1 日起的秒數。此時間將由 CURLOPT_TIMECONDITION 使用。預設值為零。此選項與 CURLOPT_TIMEVALUE 的區別在於參數的類型。在「長整數」只有 32 位元的系統上,必須使用此選項來設定 2038 年以後的日期。從 PHP 7.3.0 和 cURL 7.59.0 開始可用。
|
CURLOPT_TLS13_CIPHERS (整數) |
一個 字串,其中包含以冒號分隔的加密套件清單,用於 TLS 1.3 連線。目前,僅當 cURL 使用 OpenSSL 1.1.1 或更高版本構建時,才會使用此選項。當使用不同的 SSL 後端時,可以使用 CURLOPT_SSL_CIPHER_LIST 選項設定 TLS 1.3 加密套件。從 PHP 7.3.0 和 cURL 7.61.0 開始可用。
|
CURLOPT_TLSAUTH_PASSWORD (整數) |
設定用於 CURLOPT_TLSAUTH_TYPE 選項指定的 TLS 驗證方法的密碼。需要同時設定 CURLOPT_TLSAUTH_USERNAME 選項。此功能依賴於 TLS SRP,它不適用於 TLS 1.3。從 cURL 7.21.4 開始可用。
|
CURLOPT_TLSAUTH_TYPE (整數) |
設定一個 字串,其中包含 TLS 驗證的方法。支援的方法是 SRP(TLS 安全遠端密碼驗證)。從 cURL 7.21.4 開始可用。
|
CURLOPT_TLSAUTH_USERNAME (整數) |
設定一個 字串,其中包含用於 CURLOPT_TLSAUTH_TYPE 選項指定的 TLS 驗證方法的使用者名稱。需要同時設定 CURLOPT_TLSAUTH_PASSWORD 選項。此功能依賴於 TLS SRP,它不適用於 TLS 1.3。從 cURL 7.21.4 開始可用。
|
CURLOPT_TRANSFER_ENCODING (整數) |
設定為 1 以啟用,設定為 0 以停用在發出的 HTTP 請求中請求壓縮的 Transfer Encoding。如果伺服器以壓縮的 Transfer Encoding 回應,cURL 將在接收時自動解壓縮。預設值為 0。從 cURL 7.21.6 版本開始提供。
|
CURLOPT_TRANSFERTEXT (int) |
true 使用 ASCII 模式進行 FTP 傳輸。對於 LDAP,它以純文字而非 HTML 檢索資料。在 Windows 系統上,它不會將 STDOUT 設定為二進位模式。預設值為 false。從 cURL 7.1.1 版本開始提供。
|
CURLOPT_UNIX_SOCKET_PATH (int) |
啟用使用 Unix 網域通訊端作為連線端點,並將路徑設定為指定的 字串。設定為 null 以停用。預設值為 null。從 PHP 7.0.7 和 cURL 7.40.0 版本開始提供。
|
CURLOPT_UNRESTRICTED_AUTH (int) |
true 表示即使主機名稱已更改,在追蹤位置時(使用 CURLOPT_FOLLOWLOCATION)仍繼續傳送使用者名稱和密碼。預設值為 false。從 cURL 7.10.4 版本開始提供。
|
CURLOPT_UPKEEP_INTERVAL_MS (int) |
某些協定具有「連線維持」機制。這些機制通常會在現有連線上傳送一些流量以保持它們的活動狀態。此選項定義連線維持間隔。目前,唯一具有連線維持機制的協定是 HTTP/2。當超過連線維持間隔時,會在連線上傳送 HTTP/2 PING 訊框。預設值為 CURL_UPKEEP_INTERVAL_DEFAULT,目前為 60 秒。從 PHP 8.2.0 和 cURL 7.62.0 版本開始提供。
|
CURLOPT_UPLOAD (int) |
true 表示準備並執行上傳。預設值為 false。從 cURL 7.1.0 版本開始提供。
|
CURLOPT_UPLOAD_BUFFERSIZE (int) |
cURL 上傳緩衝區的偏好緩衝區大小,以位元組為單位。預設的上傳緩衝區大小為 64 KB。允許設定的最大緩衝區大小為 2 MB。允許設定的最小緩衝區大小為 16 KB。從 PHP 8.2.0 和 cURL 7.62.0 版本開始提供。
|
CURLOPT_URL (int) |
要擷取的 URL。這也可以在使用 curl_init() 初始化工作階段時設定。從 cURL 7.1.0 版本開始提供。
|
CURLOPT_USE_SSL (int) |
設定使用 FTP、SMTP、POP3、IMAP 等通訊協定時,傳輸所需的 SSL/TLS 層級。這些協定一開始都是純文字,並使用 STARTTLS 命令「升級」為 SSL。設定為其中一個 CURLUSESSL_* 常數。從 cURL 7.17.0 版開始提供。
|
CURLOPT_USERAGENT (int) |
在 HTTP 請求中使用的 User-Agent: 標頭的內容。從 cURL 7.1.0 版開始提供。
|
CURLOPT_USERNAME (int) |
用於驗證的使用者名稱。從 cURL 7.19.1 版開始提供。
|
CURLOPT_USERPWD (int) |
用於連線的使用者名稱和密碼,格式為 [username]:[password]。從 cURL 7.1.0 版開始提供。
|
CURLOPT_VERBOSE (int) |
true 表示輸出詳細資訊。將輸出寫入 STDERR,或使用 CURLOPT_STDERR 指定的檔案。預設值為 false。從 cURL 7.1.0 版開始提供。
|
CURLOPT_WILDCARDMATCH (int) |
設定為 1 即可根據檔名模式傳輸多個檔案。該模式可以作為 CURLOPT_URL 選項的一部分來指定,在 URL 的最後一部分(檔名)中使用類似 fnmatch 的模式(Shell 模式比對)。從 cURL 7.21.0 版開始提供。
|
CURLOPT_WRITEFUNCTION (int) |
具有以下簽章的 可呼叫 函式
curlHandle
-
cURL 句柄。
資料
-
要寫入的資料。
資料必須由回呼函式儲存,且回呼函式必須返回寫入的準確位元組數,否則傳輸將會中止並出現錯誤。從 cURL 7.1.0 版開始提供。
|
|
接受檔案控制代碼 resource,指向要將傳輸的標頭部分寫入的檔案。從 cURL 7.1.0 版開始提供。
|
CURLOPT_WS_OPTIONS (int) |
接受設定 WebSocket 行為選項的位元遮罩。唯一可用的選項是 CURLWS_RAW_MODE。預設值為 0。從 PHP 8.3.0 和 cURL 7.86.0 版開始提供。
|
CURLOPT_XFERINFOFUNCTION (int) |
具有以下簽章的 可呼叫 函式
回呼函數( 資源 $curlHandle, int $bytesToDownload, int $bytesDownloaded, int $bytesToUpload, int $bytesUploaded): int
curlHandle
-
cURL 句柄。
bytesToDownload
-
預期在此次傳輸中下載的總位元組數。
bytesDownloaded
-
目前已下載的位元組數。
bytesToUpload
-
預期在此次傳輸中上傳的總位元組數。
bytesUploaded
-
目前已上傳的位元組數。
返回 1 以中止傳輸並設定 CURLE_ABORTED_BY_CALLBACK 錯誤。從 PHP 8.2.0 和 cURL 7.32.0 版開始提供。
|
CURLOPT_SERVER_RESPONSE_TIMEOUT (整數) |
cURL 等待 FTP、SFTP、IMAP、SCP、SMTP 或 POP3 伺服器回應的逾時時間(以秒為單位)。此選項取代了現有的 CURLOPT_FTP_RESPONSE_TIMEOUT 選項,該選項在 cURL 7.85.0 中已棄用。自 PHP 8.4.0 起可用。
|
CURLOPT_XOAUTH2_BEARER (整數) |
指定 OAuth 2.0 存取權杖。設定為 null 以停用。預設值為 null。自 PHP 7.0.7 和 cURL 7.33.0 起可用。
|
CURLOPT_PREREQFUNCTION (整數) |
一個具有以下簽章的 可呼叫函式,它會在建立連線後、但在發送請求有效負載(例如 HTTP 連線的 GET/POST/DELETE 請求)之前被呼叫,並且可以用於根據來源和目標 IP 位址和埠號來中止或允許連線
回呼函數( CurlHandle $curlHandle, 字串 $destination_ip, 字串 $local_ip, 整數 $destination_port, 整數 $local_port): int
curlHandle
-
cURL 句柄。
destination_ip
-
與此連線建立的遠端伺服器主要 IP。對於 FTP,這是控制連線的 IP。IPv6 位址表示時不帶方括號。
local_ip
-
此連線的來源 IP。IPv6 位址表示時不帶方括號。
destination_port
-
與此連線建立的遠端伺服器主要埠號。對於 FTP,這是控制連線的埠。根據通訊協定,這可以是 TCP 或 UDP 埠號。
local_port
-
此連線的來源埠號。根據通訊協定,這可以是 TCP 或 UDP 埠號。
返回 CURL_PREREQFUNC_OK 以允許請求,或返回 CURL_PREREQFUNC_ABORT 以中止傳輸。自 PHP 8.4.0 和 cURL 7.80.0 起可用。
|
CURLOPT_DEBUGFUNCTION (整數) |
自 PHP 8.4.0 起可用。此選項需要啟用 CURLOPT_VERBOSE 選項。一個 可呼叫函式 來取代標準的 cURL 冗長輸出。此回呼函式會在請求的各個階段被呼叫,並帶有冗長的除錯資訊。回呼函式應符合以下簽章:
curlHandle
-
cURL 句柄。
類型
-
以下常數之一,指示
data 值的類型
資料
-
由
type 參數指示類型的詳細除錯資料。
|