curl操作封裝

2022-08-21 10:45:13 字數 2174 閱讀 3075

<?php/**

* class curl curl簡單封裝 get post */

class

curl

curl_setopt(

$ch, curlopt_url, $url

); curl_setopt(

$ch, curlopt_returntransfer, 1);

curl_setopt(

$ch, curlopt_header, 0);

curl_setopt(

$ch, curlopt_timeout, $timeout

); curl_setopt(

$ch, curlopt_useragent, "mozilla/5.0 (compatible; googlebot/2.1; +");

if ($followaction

)

if ($gzip

)

//curl_setopt($ch, curlopt_referer, '');

$data = curl_exec($ch

);

if ($format == 'json')

if($log

)else

}curl_close(

$ch);

return

$data

; }

/*** @brief post請求

* @param $url 請求的url位址

* @param array $param 請求的引數

* @param array $header http頭

* @param int $ssl 是否啟用ssl

* @param string $format 返回的格式

* @param int $log 是否啟用日誌

* @return mixed

*/public

static

function post($url, $param = array(), $header = array(), $ssl = 0, $format = 'json',$log=0)

else

if (is_string($param))

curl_setopt(

$ch, curlopt_url, $url

); curl_setopt(

$ch, curlopt_timeout, 120); //

設定超時時間

curl_setopt($ch, curlopt_returntransfer, 1); //

返回原生的(raw)輸出

curl_setopt($ch, curlopt_post, 1); //

post

curl_setopt($ch, curlopt_postfields, $urlparam); //

post資料

if ($header

)

if ($ssl

)

$data = curl_exec($ch

);

if ($format == 'json')

if($log

)else

}curl_close(

$ch);

return

$data

; }

/*** 請求資訊記錄日誌

* @param $ch curl控制代碼

* @param $request 請求引數

* @param $response 響應結果

*/private

static

function _logcurlinfo($ch,$request,$response

) }/*

example:

echo curl::get('');

$arr = curl::post('127.0.0.1/test/test.php',['a'=>1,'b'=>2],'',0);

var_dump($arr);

*/

curl封裝請求

一 linux curl用法舉例 1.linux curl抓取網頁 如發現亂碼,可以使用iconv轉碼 fgb2312 iconv的用法請參閱 在linux unix系統下用iconv命令處理文字檔案中文亂碼問題 2.linux curl使用 linux curl使用http 抓取頁面 使用sock...

CURL方法封裝

說到獲取介面方法我們常見的有兩種,一種是獲取feil get contents,一種就是curl。兩種方法都可以遠端獲取資料介面,但是的話,前者在訪問資料不大的情況還好,一旦 併發量上去了,很可能導致伺服器癱瘓,甚至宕機,因為其支援的網路服務較多,而且 獲取資料往往是全部抓取。curl我們就經常用,...

curl的封裝類

class curl 設定乙個請求鏈結 param string url 請求的位址 public function seturl url 設定請求屬性 param boolean ishttps 是否採用https方式請求 param string requesttype 請求方式 執行乙個請求 ...