1. php curl的幾種用法
總結一下項目中用到curl的幾種方式 1. php curl的默認調用方法,get方式訪問url $ch = curl_init(); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); //設置http頭 curl_setopt($ch, CURLOPT_ENCODING, "gzip" ); //設置為客戶端支持gzip壓縮 curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30 ); //設置連接等待時間 curl_setopt($ch, CURLOPT_URL, $url ); curl_exec( $ch ); if ($error = curl_error($ch) ) {//出錯處理return -1;}fclose($fp); $curl_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); //獲取http返回值 if( $curl_code == 200 ) { //正常訪問url}//異常 2. 設置http header支持curl訪問lighttpd伺服器Java代碼$header[]= 'Expect:'; $header[]= 'Expect:'; 3. 設置curl,只獲取http header,不獲取body:Java代碼curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_NOBODY, 1); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_NOBODY, 1); 或者只獲取body:Java代碼curl_setopt($ch, CURLOPT_HEADER, 0); // make sure we get the body curl_setopt($ch, CURLOPT_NOBODY, 0); curl_setopt($ch, CURLOPT_HEADER, 0); // make sure we get the body curl_setopt($ch, CURLOPT_NOBODY, 0); 4. 訪問虛擬主機,需設置Host $header[]= 'Host: '.$host; 5. 使用post, put, delete等REStful方式訪問urlpost:curl_setopt($ch, CURLOPT_POST, 1 ); put, delete: curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE"); //或者PUT,需要伺服器支持這些方法。6. 保存下載內容為文件
2. php怎樣用curl發送post請求
使用 PHP 中的 cURL 函數來發送 POST 請求是一種常見的網路數據交互方式。下面分步驟說明如何進行。
首先,初始化 cURL 會話,使用 `curl_init()` 函數。
設置請求方式為 POST,使用 `curl_setopt()` 函數,參數 `CURLOPT_POST`。
要發送 POST 數據,使用 `curl_setopt()` 函數設置 `CURLOPT_POSTFIELDS` 參數,提供要發送的數據。
設置請求頭。例如,添加自定義頭,使用 `curl_setopt()` 函數,參數 `CURLOPT_HTTPHEADER`。
要添加帶有用戶名和密碼的 Authorization 請求頭,首先需要進行 Base64 編碼。示例如下:
設置代理伺服器,使用 `curl_setopt()` 函數,參數 `CURLOPT_PROXY`。
為了將響應內容保存到變數,而非直接輸出,使用 `curl_setopt()` 函數設置 `CURLOPT_RETURNTRANSFER` 參數為 true。
關閉請求,使用 `curl_exec()` 函數執行 cURL 會話,隨後使用 `curl_close()` 關閉會話。
執行簡單 GET 請求與 POST 請求的步驟類似,只需調整 `CURLOPT_POST` 參數。
獲取響應頭信息,使用 `curl_getinfo()` 函數,參數為 `curlINFO_HEADER_OUT`。
若請求導致重定向,`curl_getinfo()` 函數返回的 `curlINFO_REDIRECT_URL` 參數將提供重定向後的地址。
要獲取 Set-Cookie 信息,執行請求後,可以將 `curl_exec()` 的結果存入變數,然後解析響應頭或使用 `curl_getinfo()` 的 `curlINFO_COOKIELIST` 參數。
總結,通過以上步驟,可以靈活地利用 PHP cURL 函數實現 POST 請求,包括設置請求參數、頭信息、代理、獲取響應內容等操作,適用於多種網路交互場景。