①在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
地址:

php 自己封装一个调用第三方接口的函数的更多相关文章

  1. java springboot调用第三方接口 借助hutoool工具类 爬坑

    楼主是个后端小白一枚,之前没接触过后端,只学了java基本语法,还是在学校老师教的,学的很浅,什么ssh.ssm框架都没有学,最近在自学spring boot,看书学也看不是很懂,就在b站上看教学视频 ...

  2. Java调用第三方接口示范

    在项目开发中经常会遇到调用第三方接口的情况,比如说调用第三方的天气预报接口. 使用流程[1]准备工作:在项目的工具包下导入HttpClientUtil这个工具类,或者也可以使用Spring框架的res ...

  3. java代码调用第三方接口

    一.利用httpclient来字符串参数(url是第三方接口,不带参数,如:http://192.168.16.200:8081/faceInfo/list,param是url后面所要带的参数) pu ...

  4. Java调用第三方接口工具类(json、form)

    1.JSON值访问 /** * 调用对方接口方法 * @param path 对方或第三方提供的路径 * @param data 向对方或第三方发送的数据,大多数情况下给对方发送JSON数据让对方解析 ...

  5. 使用WebClient调用第三方接口

    需要调用一个第三方接口,传参返回数据 本来是很简单的一个需求,搞了一天没整好 首先在POSTMAN中测试没有问题,但是使用jquery ajax在前台就会涉及到跨域 虽然设置了 无论怎么写都会报错 C ...

  6. 使用HttpClient调用第三方接口

    最近项目中需要调用第三方的Http接口,这里我用到了HttpClient. 首先我们要搞明白第三方接口中需要我们传递哪些参数.数据,搞明白参数以后我们就可以使用HttpClient调用接口了. 1.调 ...

  7. SpringMVC 结合HttpClient调用第三方接口实现

    使用HttpClient 依赖jar包 1:commons-httpclient-3.0.jar 2:commons-logging-1.1.1.jar 3:commons-codec-1.6.jar ...

  8. 输入网址调用第三方接口获取结果_java

    最近公司给了一个第三方服务的网址,要我调用后返回需要用到的信息 具体网址:http://www.xxxx.com/xxx-api/xxxx/getXxxByUserId?userId=" + ...

  9. 分享一个PHP调用RestFul接口的函数

    php越来越前端化,大型系统中的php经常是调用后端服务的接口,这里分享一个函数.希望对大家有用. /** * [http 调用接口函数] * @Date 2016-07-11 * @Author G ...

随机推荐

  1. c# winfrom 可折叠的树形控件

    首先需要一个可绑定实体 [Serializable] public class TreeNodeModel { private Image _nodePic; /// <summary> ...

  2. 树莓派中安装QT

    树莓派中安装QT 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境: 主机:WIN7 硬件:树莓派 步骤: 参考链接:http://qt-proje ...

  3. U盘免疫

    界面如下: 关键部分代码如下: void CImmunityUDlg::OnBnClickedButtonOk() { // TODO: 在此添加控件通知处理程序代码 TCHAR szPath[MAX ...

  4. web.congfig 禁用 ViewState Session

    <!--禁用 ViewState Session--> <pages enableViewState="false" enableSessionState=&qu ...

  5. Delphi 10.2 Tokyo的新特性

    Delphi 10.2(Tokyo)出来一段时间了,最重要的新特性就是支持Linux的服务端. 官网有详细的介绍: 这里是主要的特性介绍:https://www.embarcadero.com/pro ...

  6. Spring cloud stream【消息分区】

      在上篇文章中我们给大家介绍了Stream的消息分组,可以实现消息的重复消费的问题,但在某些场景下分组还不能满足我们的需求,比如,同时有多条同一个用户的数据,发送过来,我们需要根据用户统计,但是消息 ...

  7. ios开发系列之内存泄漏分析(下)

    接上篇,本篇主要讲解通知和 KVO 不移除观察者.block 循环引用 .NSThread 和 RunLoop一起使用造成的内存泄漏. 1.通知造成的内存泄漏 1.1.ios9 以后,一般的通知,都不 ...

  8. WebService跨域配置、Ajax跨域请求、附开发过程源码

    项目开发过程中需要和其他公司的数据对接,当时我们公司提供的是WebService,本地测试,都是好的,Ajax跨域请求,就报错,配置WebService过程中,花了不少功夫,入不少坑,不过最终问题还是 ...

  9. java获取系统类型与版本

    System的properties中有很多系统属性: System.out.println(System.getProperty("os.name")); System.out.p ...

  10. H5离线缓存基础系列

    1.什么是离线缓存 离线缓存:离线缓存可以将站点的一些文件缓存到本地,它是浏览器自己的一种机制,将需要的文件缓存下来,以便后期即使没有连接网络,被缓存的页面也可以展示. 2.离线缓存的优势 在没有网络 ...