今天小編給大家分享的是PHP的curl功能擴(kuò)展如何使用,很多人都不太了解,今天小編為了讓大家更加了解PHP的curl功能擴(kuò)展,所以給大家總結(jié)了以下內(nèi)容,一起往下看吧。一定會(huì)有所收獲的哦。

在永康等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需定制制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都全網(wǎng)營銷,外貿(mào)營銷網(wǎng)站建設(shè),永康網(wǎng)站建設(shè)費(fèi)用合理。
PHP的curl功能提供了很多函數(shù),需要將這些函數(shù)按特定的步驟組合到一起,我們先來了解下PHP建立curl請(qǐng)求的基本步驟。
$ch = curl_init(); // 創(chuàng)建一個(gè)新的CURL資源賦給變量$ch curl_setopt($ch, CURLOPT_URL, $url); // 設(shè)置URL $response = curl_exec($ch); // 執(zhí)行,獲取URL并輸出到瀏覽器 curl_close($ch); // 釋放資源
如果我們希望獲取內(nèi)容但不輸出,可以使用 CURLOPT_RETURNTRANSFER 參數(shù),并設(shè)置其值為非0或者true值。
代碼如下:
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
我們可以通設(shè)置函數(shù)curl_setopt()的不同參數(shù),可以獲得不同的結(jié)果,這也是CURL擴(kuò)展的強(qiáng)大之處。curl_setopt()函數(shù)的常用參數(shù)選項(xiàng)具體可查閱官方文檔,此處就不列舉。
下面是我常用的curl get和post請(qǐng)求的方法:
get請(qǐng)求:
public function httpGet(string $url = '')
{
// 記錄請(qǐng)求信息的日志
// todo
try {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
//https 請(qǐng)求
if (strlen($url) > 5 && strtolower(substr($url, 0, 5)) == "https") {
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
}
$response = curl_exec($ch);
$errorCode = curl_errno($ch);
curl_close($ch);
if (!empty($errorCode)) {
// 可記錄錯(cuò)誤碼日志
return null;
}
// 記錄返回結(jié)果日志
return $response;
} catch (\Exception $e) {
$errorLog = [
'msg' => $e->getMessage(),
'trace' => $e->getTraceAsString(),
'data' => [
'url' => $url,
]
];
// 記錄錯(cuò)誤日志
return null;
}
}
```phpPOST請(qǐng)求:
public function httpPost(string $url = '', array $data = [])
{
// 記錄請(qǐng)求信息的日志
// todo
try {
$jsonData = json_encode($data);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $jsonData);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_TIMEOUT, 60);
curl_setopt($curl, CURLOPT_HTTPHEADER, [
'Content-Type: application/json; charset=utf-8',
'Content-Length:' . strlen($jsonData)
]);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//https 請(qǐng)求
if (strlen($url) > 5 && strtolower(substr($url, 0, 5)) == "https") {
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
}
$result = curl_exec($curl);
$errorCode = curl_errno($curl);
curl_close($curl);
if (!empty($errorCode)) {
// 可記錄錯(cuò)誤碼日志
return null;
}
// 記錄返回結(jié)果日志
return json_decode($result, true);
} catch (\Exception $e) {
$errorData = [
'msg' => $e->getMessage(),
'trace' => $e->getTraceAsString(),
'data' => [
'url' => $url,
'postData' => $data
]
];
// 記錄錯(cuò)誤日志
return null;
}
}關(guān)于PHP的curl功能擴(kuò)展如何使用就分享到這里了,當(dāng)然并不止以上和大家分析的辦法,不過小編可以保證其準(zhǔn)確性是絕對(duì)沒問題的。希望以上內(nèi)容可以對(duì)大家有一定的參考價(jià)值,可以學(xué)以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。
當(dāng)前文章:PHP的curl功能擴(kuò)展如何使用
文章轉(zhuǎn)載:http://www.chinadenli.net/article40/pgchho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、標(biāo)簽優(yōu)化、網(wǎng)站設(shè)計(jì)、靜態(tài)網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)