PHP中使用CURL實現GET和POST請求

2022-07-31 11:27:09 字數 2461 閱讀 7672

curl 是乙個利用url語法規定來傳輸檔案和資料的工具,支援很多協議,如http、ftp、telnet等。最爽的是,php也支援 curl 庫。使用php的curl 庫可以簡單和有效地去抓網頁。你只需要執行乙個指令碼,然後分析一下你所抓取的網頁,然後就可以以程式的方式得到你想要的資料了。無論是你想從從乙個鏈結上取部分資料,或是取乙個xml檔案並把其匯入資料庫,那怕就是簡單的獲取網頁內容,curl 是乙個功能強大的php庫。

①:初始化

curl_init()

②:設定屬性

curl_setopt().有一長串curl 引數可供設定,它們能指定url請求的各個細節。

③:執行並獲取結果

curl_exec()

④:釋放控制代碼

curl_close()

①:get方式實現

//

初始化$curl =curl_init();

//設定抓取的url

curl_setopt($curl, curlopt_url, '');

//設定標頭檔案的資訊作為資料流輸出

curl_setopt($curl, curlopt_header, 1);

//設定獲取的資訊以檔案流的形式返回,而不是直接輸出。

curl_setopt($curl, curlopt_returntransfer, 1);

//執行命令

$data = curl_exec($curl

);

//關閉url請求

curl_close($curl

);

//顯示獲得的資料

print_r($data);

②:post方式實現

//

初始化$curl =curl_init();

//設定抓取的url

curl_setopt($curl, curlopt_url, '');

//設定標頭檔案的資訊作為資料流輸出

curl_setopt($curl, curlopt_header, 1);

//設定獲取的資訊以檔案流的形式返回,而不是直接輸出。

curl_setopt($curl, curlopt_returntransfer, 1);

//設定post方式提交

curl_setopt($curl, curlopt_post, 1);

//設定post資料

$post_data = array

( "username" => "coder",

"password" => "12345");

curl_setopt(

$curl, curlopt_postfields, $post_data

);

//執行命令

$data = curl_exec($curl

);

//關閉url請求

curl_close($curl

);

//顯示獲得的資料

print_r($data);

③:如果獲得的資料時json格式的,使用json_decode函式解釋成陣列。

$output_array = json_decode($data,true); //如果第二個引數為true,就轉為陣列的形式。如果不填就為物件的形式

如果使用json_decode($data)解析的話,將會得到object型別的資料。

簡化版 post請求函式

public

function curl_request($url, $post_data

)

//

引數1:訪問的url,引數2:post資料(不填則為get),引數3:提交的$cookies,引數4:是否返回$cookies

function curl_request($url,$post='',$cookie='', $returncookie=0)

if($cookie

) curl_setopt(

$curl, curlopt_header, $returncookie

); curl_setopt(

$curl, curlopt_timeout, 10);

curl_setopt(

$curl, curlopt_returntransfer, 1);

$data = curl_exec($curl

);

if (curl_errno($curl

)) curl_close(

$curl

);

if($returncookie

)else

}

這倆個函式雖然不難,但是還是值得學習一下的。因為在做介面或者呼叫的介面的時候,必定會用到這倆個函式。

PHP中使用cURL實現Get和Post請求的方法

1.curl介紹 curl 是乙個利用url語法規定來傳輸檔案和資料的工具,支援很多協議,如http ftp telnet等。最爽的是,php也支援 curl 庫。本文將介紹 curl 的一些高階特性,以及在php中如何運用它。2.基本結構 在學習更為複雜的功能之前,先來看一下在php中建立curl...

PHP中使用cURL實現Get和Post請求的方法

1.curl介紹 curl 是乙個利用url語法規定來傳輸檔案和資料的工具,支援很多協議,如http ftp telnet等。最爽的是,php也支援 curl 庫。本文將介紹 curl 的一些高階特性,以及在php中如何運用它。2.基本結構 1 初始化 curl init 2 設定變數 curl s...

PHP中使用cURL實現Get和Post請求的方法

1.curl介紹 curl 是乙個利用url語法規定來傳輸檔案和資料的工具,支援很多協議,如http ftp telnet等。最爽的是,php也支援 curl 庫。本文將介紹 curl 的一些高階特性,以及在php中如何運用它。2.基本結構 在學習更為複雜的功能之前,先來看一下在php中建立curl...