利用php怎么對http請求進行封裝?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
/**
* 發送HTTP請求方法,目前只支持CURL發送請求
* @param string $url 請求URL
* @param array $params 請求參數
* @param string $method 請求方法GET/POST
* @return array $data 響應數據
*/
protected function http($url, $params, $method = 'GET', $header = array(), $multi = false) {
$opts = array(CURLOPT_TIMEOUT => 30, CURLOPT_RETURNTRANSFER => 1, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_SSL_VERIFYHOST => false, CURLOPT_HTTPHEADER => $header);
/* 根據請求類型設置特定參數 */
switch(strtoupper($method)) {
case 'GET' :
$opts[CURLOPT_URL] = $url . '&' . http_build_query($params);
dump($opts[CURLOPT_URL]);
break;
case 'POST' :
//判斷是否傳輸文件
$params = $multi ? $params : http_build_query($params);
$opts[CURLOPT_URL] = $url;
dump($opts[CURLOPT_URL]);
$opts[CURLOPT_POST] = 1;
$opts[CURLOPT_POSTFIELDS] = $params;
break;
default :
throw new Exception('不支持的請求方式!');
}
/* 初始化并執行curl請求 */
$ch = curl_init();
curl_setopt_array($ch, $opts);
$data = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error)
throw new Exception('請求發生錯誤:' . $error);
return $data;
}看完上述內容,你們掌握利用php怎么對http請求進行封裝的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。