av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

PHP curl get post 請(qǐng)求的封裝函數(shù)示例【get、post、put、delete等請(qǐng)求類型】

瀏覽:150日期:2022-06-10 16:51:11

一、get

//get請(qǐng)求
function getUrl($url, $header = [])
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HTTPGET, true);
    if ($header) {
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    }
    curl_setopt($ch, CURLOPT_TIMEOUT, 30); //設(shè)置超時(shí)時(shí)間:30s
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); //忽略ssl檢測(cè)
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //1 或 TRUE 將curl_exec()獲取的信息以字符串返回,而不是直接輸出。-
    curl_setopt($ch, CURLINFO_HEADER_OUT, true); //TRUE 時(shí)追蹤句柄的請(qǐng)求字符串,從 PHP 5.1.3 開始可用。這個(gè)很關(guān)鍵,就是允許你查看請(qǐng)求header
    $output = curl_exec($ch);
    if (!$output) {
//echo "request $url fail:", (array)curl_error($ch); //記錄日志
    }
    curl_close($ch);
//    echo "request $url success:" . json_encode(array($url, $header, $output), true); //記錄日志
    return $output;
}

二、del

//del請(qǐng)求
function delUrl($url, $header = []) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); //為true,則會(huì)跟蹤爬取重定向頁(yè)面,否則,不會(huì)跟蹤重定向頁(yè)面
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    curl_setopt($ch, CURLOPT_TIMEOUT, 30); //設(shè)置超時(shí)時(shí)間:30s
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); //忽略ssl檢測(cè)
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //1 或 TRUE 將curl_exec()獲取的信息以字符串返回,而不是直接輸出。-
    curl_setopt($ch, CURLINFO_HEADER_OUT, true); //TRUE 時(shí)追蹤句柄的請(qǐng)求字符串,從 PHP 5.1.3 開始可用。這個(gè)很關(guān)鍵,就是允許你查看請(qǐng)求header
    curl_setopt($ch, CURLOPT_URL, $url);
    $output = curl_exec($ch);
    if (!$output) {
//echo "request $url fail:", (array)curl_error($ch); //記錄日志
    }
    curl_close($ch);
//    echo "request $url success:" . json_encode(array($url, $header, $output), true); //記錄日志
    return $output;
}

三、put

//put請(qǐng)求
function putUrl($url, $data = [], $header = []) {
    $ch = curl_init();
    if (!empty($data)) {
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); //定義提交的數(shù)據(jù)
    }
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); //為true,則會(huì)跟蹤爬取重定向頁(yè)面,否則,不會(huì)跟蹤重定向頁(yè)面
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    curl_setopt($ch, CURLOPT_TIMEOUT, 30); //設(shè)置超時(shí)時(shí)間:30s
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); //忽略ssl檢測(cè)
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //1 或 TRUE 將curl_exec()獲取的信息以字符串返回,而不是直接輸出。-
    curl_setopt($ch, CURLINFO_HEADER_OUT, true); //TRUE 時(shí)追蹤句柄的請(qǐng)求字符串,從 PHP 5.1.3 開始可用。這個(gè)很關(guān)鍵,就是允許你查看請(qǐng)求header
    curl_setopt($ch, CURLOPT_URL, $url);
    $output = curl_exec($ch);
    if (!$output) {
//echo "request $url fail:", (array)curl_error($ch); //記錄日志
    }
    curl_close($ch);
//    echo "request $url success:" . json_encode(array($url, $header, $output), true); //記錄日志
    return $output;
}

四、post

//post請(qǐng)求
function postUrl($url, $data, $header = [])
{
    $ch = curl_init();
    if (!empty($data)) {
curl_setopt($ch, CURLOPT_POST,true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    }
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); //為true,則會(huì)跟蹤爬取重定向頁(yè)面,否則,不會(huì)跟蹤重定向頁(yè)面
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    curl_setopt($ch, CURLOPT_TIMEOUT, 30); //設(shè)置超時(shí)時(shí)間:30s
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); //忽略ssl檢測(cè)
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //1 或 TRUE 將curl_exec()獲取的信息以字符串返回,而不是直接輸出。-
    curl_setopt($ch, CURLINFO_HEADER_OUT, true); //TRUE 時(shí)追蹤句柄的請(qǐng)求字符串,從 PHP 5.1.3 開始可用。這個(gè)很關(guān)鍵,就是允許你查看請(qǐng)求header
    curl_setopt($ch, CURLOPT_URL, $url);
    $output = curl_exec($ch);
    if (!$output) {
//echo "request $url fail:", (array)curl_error($ch); //記錄日志
    }
    curl_close($ch);
//    echo "request $url success:" . json_encode(array($url, $header, $output), true); //記錄日志
    return $output;
}

五、post json

//post json 請(qǐng)求
function postJsonUrl($url, $data, $header = [])
{
    $data = json_encode($data);
    $ch = curl_init();
    if (!empty($data)) {
curl_setopt($ch, CURLOPT_POST,true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    }
    $header[]="Content-Type: application/json; charset=utf-8";
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); //為true,則會(huì)跟蹤爬取重定向頁(yè)面,否則,不會(huì)跟蹤重定向頁(yè)面
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    curl_setopt($ch, CURLOPT_TIMEOUT, 30); //設(shè)置超時(shí)時(shí)間:30s
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); //忽略ssl檢測(cè)
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //1 或 TRUE 將curl_exec()獲取的信息以字符串返回,而不是直接輸出。-
    curl_setopt($ch, CURLINFO_HEADER_OUT, true); //TRUE 時(shí)追蹤句柄的請(qǐng)求字符串,從 PHP 5.1.3 開始可用。這個(gè)很關(guān)鍵,就是允許你查看請(qǐng)求header
    curl_setopt($ch, CURLOPT_URL, $url);
    $output = curl_exec($ch);
    if (!$output) {
//echo "request $url fail:", (array)curl_error($ch); //記錄日志
    }
    curl_close($ch);
//    echo "request $url success:" . json_encode(array($url, $header, $output), true); //記錄日志
    return $output;
}

六、計(jì)算請(qǐng)求運(yùn)行時(shí)間

  • 可以在接口請(qǐng)求日志信息中記錄運(yùn)行時(shí)間,以便以后排查問(wèn)題(程序執(zhí)行緩慢,是哪個(gè)接口拖了時(shí)間)
  • 代碼
$startTime = microtime(true);
for ($i = 0; $i < 9999999; $i++) {
};
$endTime = microtime(true);
$runTime = sprintf("%.6f", ($endTime-$startTime));
echo "執(zhí)行時(shí)間為:{$runTime} s";
die;
  • 打印
執(zhí)行時(shí)間為:0.202176 s

PS:針對(duì)常見的post、get、put、delete等請(qǐng)求方式,筆者經(jīng)常使用postman或者ApiFox進(jìn)行請(qǐng)求測(cè)試,并且通常前后端傳輸數(shù)據(jù)以json為主。 

標(biāo)簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 久久免费国产 | 黄色一级片免费看 | 一区二区黄色 | 日韩三级在线播放 | 精品欧美一区二区精品久久 | 亚洲欧美日韩一区 | 午夜www | 男人影院在线观看 | 国产草草影院 | 国产一级大片 | 在线观看黄网站 | 天堂av网站 | 日韩精品一区二区三区免费视频 | 韩日在线视频 | 青青伊人网 | 一级片免费视频 | 超碰com| 免费av在线网站 | 欧美日韩一区二区三区视频 | 国产一级二级三级 | 天海翼一区二区 | 中文字幕av一区 | av色婷婷| 欧美黄网站 | 成人在线小视频 | 日韩精品免费一区二区夜夜嗨 | 欧美成人精品一区二区三区在线看 | 亚洲天堂av在线播放 | 欧洲一区二区 | 成人av在线看| 91精品国产99久久久久久红楼 | 亚洲成人欧美 | 成人日韩在线 | 男人天堂网av | 波多野结衣久久 | 日韩精品久久久久久 | 久久久久久久久久久久久久久久久久久 | 亚洲国产91 | 九九九免费视频 | 午夜性色 | 黄色小说视频网站 |