PHP cURL,全稱為PHP Client URL Library,是一個用于向 URL 發送請求、獲取響應和與服務器交互的 PHP 擴展庫。
最常見的應用場景就是發送 HTTP 請求。例如,一個 Web 開發人員可以使用 cURL 發送 HTTP GET 或 POST 請求來獲取或提交數據。以下是一個使用 cURL 發送 HTTP GET 請求的簡單示例:
$curl = curl_init(); curl_setopt($curl, CURLOPT_URL, "https://example.com/api"); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($curl); curl_close($curl);
這個示例中,我們首先使用curl_init()
函數創建了一個 cURL 句柄。然后,使用curl_setopt()
函數設置了請求的 URL 和一些選項,以告訴 cURL 如何處理這個請求。最后,使用curl_exec()
函數發送請求并獲取響應。最后,我們使用curl_close()
函數關閉 cURL 句柄。響應內容將存儲在 $response 變量中。
另一個常見的應用場景是使用 cURL 發送 HTTP POST 請求。以下是一個向表單提交數據的簡單示例:
$data = array( 'name' =>'John Doe', 'email' =>'john.doe@example.com', 'message' =>'Hello, World!' ); $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, "https://example.com/contact"); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data)); $response = curl_exec($curl); curl_close($curl);
這個示例中,我們首先創建一個包含表單數據的數組。然后,我們使用curl_setopt()
函數設置 URL、POST 請求和表單數據的選項。最后,我們使用curl_exec()
函數發送請求和數據,并獲取響應。響應內容將存儲在 $response 變量中。
除了發送 HTTP 請求之外,cURL 還可以使用其他協議與服務器進行交互,例如 FTP、SMTP、POP3 等。以下是一個使用 cURL 上傳文件到 FTP 服務器的簡單示例:
$curl = curl_init(); curl_setopt($curl, CURLOPT_URL, "ftp://example.com/uploads/filename.png"); curl_setopt($curl, CURLOPT_USERPWD, "username:password"); curl_setopt($curl, CURLOPT_UPLOAD, true); curl_setopt($curl, CURLOPT_INFILE, fopen("/path/to/filename.png", "r")); curl_setopt($curl, CURLOPT_INFILESIZE, filesize("/path/to/filename.png")); $response = curl_exec($curl); curl_close($curl);
這個示例中,我們使用curl_setopt()
函數設置 URL、FTP 認證、上傳選項和上傳的文件流。最后,我們使用curl_exec()
函數上傳文件,并獲取響應。響應內容將存儲在 $response 變量中。
總之,PHP cURL 是一個非常強大的擴展庫,可以幫助開發人員輕松地與服務器交互。無論您想要發送 HTTP 請求、上傳文件還是使用其他協議與服務器通信,基本上都可以使用 cURL 來實現。