PHP的curl性能提供了不少函数,需求将这些函数按特定的步骤组合到一同,咱们先来理解下PHP建设curl申请的根本步骤。
$ch = curl_init(); // 创立一个新的CURL资本赋给变量$ch curl_setopt($ch, CURLOPT_URL, $url); // 设置URL $response = curl_exec($ch); // 执行,猎取URL并输入到阅读器 curl_close($ch); // 开释资本
假如咱们心愿猎取内容但没有输入,能够应用 CURLOPT_RETURNTRANSFER 参数,并设置其值为非0或许true值。
代码以下:
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
咱们能够通设置函数curl_setopt()的没有同参数,能够取得没有同的后果,这也是CURL扩大的弱小的地方。curl_setopt()函数的罕用参数选项详细可查阅民间文档,此处就没有罗列。
上面是我罕用的curl get以及post申请的办法:
get申请:
public function httpGet(string $url = '') { // 记载申请信息的日记 // 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 申请 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)) { // 可记载谬误码日记 return null; } // 记载前往后果日记 return $response; } catch (\Exception $e) { $errorLog = [ 'msg' => $e->getMessage(), 'trace' => $e->getTraceAsString(), 'data' => [ 'url' => $url, ] ]; // 记载谬误日记 return null; } } ```php
POST申请:
public function httpPost(string $url = '', array $data = []) { // 记载申请信息的日记 // 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 申请 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)) { // 可记载谬误码日记 return null; } // 记载前往后果日记 return json_decode($result, true); } catch (\Exception $e) { $errorData = [ 'msg' => $e->getMessage(), 'trace' => $e->getTraceAsString(), 'data' => [ 'url' => $url, 'postData' => $data ] ]; // 记载谬误日记 return null; } }
本文系转载,原文地点是:
https://tsmliyun.github.io/php/PHP%E7%9A%84CURL%E5%8A%9F%E8%83%BD%E6%89%A9%E5%B1%95%E5%9F%BA%E6%9C%AC%E7%94%A8%E6%B3%95/
保举:PHP视频教程
以上就是对于PHP的curl性能扩大根本用法的具体内容,更多请存眷资源魔其它相干文章!
标签: php php开发教程 php开发资料 php开发自学
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
抱歉,评论功能暂时关闭!