①在php.ini中開啟php_curl擴展(必須開啟)
②建議在php.ini中開啟php_openssl擴展(本身不是curl必須的,是調用一些第三方接口需要的
③如果以上操作重啟apache后,curl還是不能使用,需要將php安裝目錄設置到環境變量。
//封裝 調用外部接口信息函數 if(!function_exists('curl_reuqest')){ function curl_reuqest($url,$type=false,$params=[],$https=false){ // 初始化請求 $ch = curl_init($url); // 判斷發送什么請求,默認get請求 if($type){ // 設置請求方式 curl_setopt($ch,CURLOPT_POST ,true); // 設置請求參數 curl_setopt($ch,CURLOPT_POSTFIELDS,$params); } // 如果是https請求,設置禁止從服務器驗證本地證書 if($https){ curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false); } // 發送請求設置以文件流形式返回 curl_setopt($ch,CURLOPT_RETURNTRANSFER ,true); $res = curl_exec($ch); // 調試運行時錯誤信息,調試完刪除 if(!$res){ // 錯誤信息 $error = curl_error($ch); // 錯誤碼 $error = curl_errno($ch); } // 關閉請求 curl_close($ch); // 返回請求內容 return $res; }
測試代碼
<div> {foreach $list as $rows} 快遞實時跟蹤時間: <span>{$rows['datetime']}</span></br> 地址:<input type="text" name="" id="" value="{$rows['remark']}"><br> {/foreach} </div>
public function index(){ // url地址 $url = "http://v.juhe.cn/exp/index?key=e82ce96ccb085c23faf007a887c8abfc&com=yt&no=806827436235013721"; // 請求方式 get // 發送請求 $res = curl_reuqest($url); // 對結果進行處理 if(!$res){ echo '請求錯誤';exit; } // 解析返回的數據 json格式的字符串 $arr = json_decode($res,true); if($arr['resultcode'] != 200){ echo $arr['reason'];die; echo '查詢失敗';die; } // 取出有用的字段 $list = $arr['result']['list']; // 渲染頁面 return view('index',['list'=>$list]); }
測試結果
快遞實時跟蹤時間: 2019-07-09 21:14:57
地址:
快遞實時跟蹤時間: 2019-07-09 22:09:10
地址:
快遞實時跟蹤時間: 2019-07-10 02:17:02
地址:
快遞實時跟蹤時間: 2019-07-10 03:25:52
地址:
快遞實時跟蹤時間: 2019-07-11 15:12:29
地址: