主頁 > 知識庫 > php curl發(fā)送請求實例方法

php curl發(fā)送請求實例方法

熱門標簽:外呼系統(tǒng)撥打暫時無法接通 江西手機自動外呼防封系統(tǒng)是什么 怎么向銷售公司推銷外呼系統(tǒng) 廣東地市地圖標注 長春人工外呼系統(tǒng)服務商 高德地圖標注家 仁和怎么申請400開頭的電話 廣州防封卡外呼系統(tǒng)多少錢一個月 哪里辦理400電話

cURL可以使用URL的語法模擬瀏覽器來傳輸數(shù)據(jù),因為它是模擬瀏覽器,因此它同樣支持多種協(xié)議,F(xiàn)TP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP等協(xié)議都可以很好的支持,包括一些:HTTPS認證,HTTP POST方法,HTTP PUT方法,F(xiàn)TP上傳,keyberos認證,HTTP上傳,代理服務器,cookies,用戶名/密碼認證,下載文件斷點續(xù)傳,上傳文件斷點續(xù)傳,http代理服務器管道,甚至它還支持IPv6,scoket5代理服務器,通過http代理服務器上傳文件到FTP服務器等等。

使用PHP的cURL庫可以簡單和有效地去抓網(wǎng)頁。你只需要運行一個腳本,然后分析一下你所抓取的網(wǎng)頁,然后就可以以程序的方式得到你想要的數(shù)據(jù)了。無論是你想從從一個鏈接上取部分數(shù)據(jù),或是取一個XML文件并把其導入數(shù)據(jù)庫,那怕就是簡單的獲取網(wǎng)頁內容,cURL 是一個功能強大的PHP庫。

1、PHP建立CURL請求的基本步驟

①:初始化

curl_init()

②:設置屬性

curl_setopt().有一長串cURL參數(shù)可供設置,它們能指定URL請求的各個細節(jié)。

③:執(zhí)行并獲取結果

curl_exec()

④:釋放句柄

curl_close()

2、實例:

php curl 發(fā)送get請求:

//初始化

$curl = curl_init();

//設置抓取的url

curl_setopt($curl, CURLOPT_URL, 'http://www.baidu.com');

//設置頭文件的信息作為數(shù)據(jù)流輸出

curl_setopt($curl, CURLOPT_HEADER, 1);

//設置獲取的信息以文件流的形式返回,而不是直接輸出。

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

//執(zhí)行命令

$data = curl_exec($curl);

echo curl_getinfo($curl,CURLINFO_HTTP_CODE); //輸出請求狀態(tài)碼

//關閉URL請求

curl_close($curl);

//顯示獲得的數(shù)據(jù)

print_r($data);

php curl 發(fā)送post請求:

//初始化

$curl = curl_init();

//設置抓取的url

curl_setopt($curl, CURLOPT_URL, 'http://localhost/test/test.php');

//設置頭文件的信息作為數(shù)據(jù)流輸出

curl_setopt($curl, CURLOPT_HEADER, 1);

//設置獲取的信息以文件流的形式返回,而不是直接輸出。

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

//設置post方式提交

curl_setopt($curl, CURLOPT_POST, 1);

//設置post數(shù)據(jù)

$post_data = array(

  "title" => "1290800466",

  "content" => "3424243243"

);

//post提交的數(shù)據(jù)

curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);

//執(zhí)行命令

$data = curl_exec($curl);

//關閉URL請求

curl_close($curl);

//顯示獲得的數(shù)據(jù)

print_r($data);

test.php:

?php

$title = $_REQUEST['title'];

$content = $_REQUEST['content'];

error_log($title."\n",3,'error.log');

error_log($content."\n",3,'error.log');

echo 'ok';

3、PHP cURL 函數(shù):

以下包含了PHP cURL函數(shù)列表:

函數(shù) 描述
curl_close() 關閉一個cURL會話。
curl_copy_handle() 復制一個cURL句柄和它的所有選項。
curl_errno() 返回最后一次的錯誤號。
curl_error() 返回一個保護當前會話最近一次錯誤的字符串。
curl_escape() 返回轉義字符串,對給定的字符串進行URL編碼。
curl_exec() 執(zhí)行一個cURL會話。
curl_file_create() 創(chuàng)建一個 CURLFile 對象。
curl_getinfo() 獲取一個cURL連接資源句柄的信息。
curl_init() 初始化一個cURL會話。
curl_multi_add_handle() 向curl批處理會話中添加單獨的curl句柄。
curl_multi_close() 關閉一組cURL句柄。
curl_multi_exec() 運行當前 cURL 句柄的子連接。
curl_multi_getcontent() 如果設置了CURLOPT_RETURNTRANSFER,則返回獲取的輸出的文本流。
curl_multi_info_read() 獲取當前解析的cURL的相關傳輸信息。
curl_multi_init() 返回一個新cURL批處理句柄。
curl_multi_remove_handle() 移除curl批處理句柄資源中的某個句柄資源。
curl_multi_select() 等待所有cURL批處理中的活動連接。
curl_multi_setopt() 設置一個批處理cURL傳輸選項。
curl_multi_strerror() 返回描述錯誤碼的字符串文本。
curl_pause() 暫停及恢復連接。
curl_reset() 重置libcurl的會話句柄的所有選項。
curl_setopt_array() 為cURL傳輸會話批量設置選項。
curl_setopt() 設置一個cURL傳輸選項。
curl_share_close() 關閉cURL共享句柄。
curl_share_init() 初始化cURL共享句柄。
curl_share_setopt() 設置一個共享句柄的cURL傳輸選項。
curl_strerror() 返回錯誤代碼的字符串描述。
curl_unescape() 解碼URL編碼后的字符串。
curl_version() 獲取cURL版本信息。

成功時返回 TRUE, 或者在失敗時返回 FALSE。

一些狀態(tài)代碼

1xx:請求收到,繼續(xù)處理

2xx:操作成功收到,分析、接受

3xx:完成此請求必須進一步處理

4xx:請求包含一個錯誤語法或不能完成

5xx:服務器執(zhí)行一個完全有效請求失敗

100——客戶必須繼續(xù)發(fā)出請求

101——客戶要求服務器根據(jù)請求轉換HTTP協(xié)議版本

200——交易成功

201——提示知道新文件的URL

202——接受和處理、但處理未完成

203——返回信息不確定或不完整

204——請求收到,但返回信息為空

205——服務器完成了請求,用戶代理必須復位當前已經(jīng)瀏覽過的文件

206——服務器已經(jīng)完成了部分用戶的GET請求

300——請求的資源可在多處得到

301——刪除請求數(shù)據(jù)

302——在其他地址發(fā)現(xiàn)了請求數(shù)據(jù)

303——建議客戶訪問其他URL或訪問方式

304——客戶端已經(jīng)執(zhí)行了GET,但文件未變化

305——請求的資源必須從服務器指定的地址得到

306——前一版本HTTP中使用的代碼,現(xiàn)行版本中不再使用

307——申明請求的資源臨時性刪除

400——錯誤請求,如語法錯誤

401——請求授權失敗

402——保留有效ChargeTo頭響應

403——請求不允許

404——沒有發(fā)現(xiàn)文件、查詢或URl

405——用戶在Request-Line字段定義的方法不允許

406——根據(jù)用戶發(fā)送的Accept拖,請求資源不可訪問

407——類似401,用戶必須首先在代理服務器上得到授權

408——客戶端沒有在用戶指定的餓時間內完成請求

409——對當前資源狀態(tài),請求不能完成

410——服務器上不再有此資源且無進一步的參考地址

411——服務器拒絕用戶定義的Content-Length屬性請求

412——一個或多個請求頭字段在當前請求中錯誤

413——請求的資源大于服務器允許的大小

414——請求的資源URL長于服務器允許的長度

415——請求資源不支持請求項目格式

416——請求中包含Range請求頭字段,在當前請求資源范圍內沒有range指示值,請求

也不包含If-Range請求頭字段

417——服務器不滿足請求Expect頭字段指定的期望值,如果是代理服務器,可能是下一級服務器不能滿足請求

500——服務器產(chǎn)生內部錯誤

501——服務器不支持請求的函數(shù)

502——服務器暫時不可用,有時是為了防止發(fā)生系統(tǒng)過載

503——服務器過載或暫停維修

504——關口過載,服務器使用另一個關口或服務來響應用戶,等待時間設定值較長

505——服務器不支持或拒絕支請求頭中指定的HTTP版本

以上就是本次介紹的php curl發(fā)送請求的全部知識點,感謝大家對腳本之家的支持。

您可能感興趣的文章:
  • 淺談php使用curl模擬多線程發(fā)送請求
  • PHP中的使用curl發(fā)送請求(GET請求和POST請求)

標簽:廈門 湘西 惠州 黔東 濮陽 海北 梅河口 文山

巨人網(wǎng)絡通訊聲明:本文標題《php curl發(fā)送請求實例方法》,本文關鍵詞  php,curl,發(fā)送,請求,實例,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《php curl發(fā)送請求實例方法》相關的同類信息!
  • 本頁收集關于php curl發(fā)送請求實例方法的相關信息資訊供網(wǎng)民參考!
  • 推薦文章