php 自己封装一个调用第三方接口的函数
①在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 自己封装一个调用第三方接口的函数的更多相关文章
- java springboot调用第三方接口 借助hutoool工具类 爬坑
楼主是个后端小白一枚,之前没接触过后端,只学了java基本语法,还是在学校老师教的,学的很浅,什么ssh.ssm框架都没有学,最近在自学spring boot,看书学也看不是很懂,就在b站上看教学视频 ...
- Java调用第三方接口示范
在项目开发中经常会遇到调用第三方接口的情况,比如说调用第三方的天气预报接口. 使用流程[1]准备工作:在项目的工具包下导入HttpClientUtil这个工具类,或者也可以使用Spring框架的res ...
- java代码调用第三方接口
一.利用httpclient来字符串参数(url是第三方接口,不带参数,如:http://192.168.16.200:8081/faceInfo/list,param是url后面所要带的参数) pu ...
- Java调用第三方接口工具类(json、form)
1.JSON值访问 /** * 调用对方接口方法 * @param path 对方或第三方提供的路径 * @param data 向对方或第三方发送的数据,大多数情况下给对方发送JSON数据让对方解析 ...
- 使用WebClient调用第三方接口
需要调用一个第三方接口,传参返回数据 本来是很简单的一个需求,搞了一天没整好 首先在POSTMAN中测试没有问题,但是使用jquery ajax在前台就会涉及到跨域 虽然设置了 无论怎么写都会报错 C ...
- 使用HttpClient调用第三方接口
最近项目中需要调用第三方的Http接口,这里我用到了HttpClient. 首先我们要搞明白第三方接口中需要我们传递哪些参数.数据,搞明白参数以后我们就可以使用HttpClient调用接口了. 1.调 ...
- SpringMVC 结合HttpClient调用第三方接口实现
使用HttpClient 依赖jar包 1:commons-httpclient-3.0.jar 2:commons-logging-1.1.1.jar 3:commons-codec-1.6.jar ...
- 输入网址调用第三方接口获取结果_java
最近公司给了一个第三方服务的网址,要我调用后返回需要用到的信息 具体网址:http://www.xxxx.com/xxx-api/xxxx/getXxxByUserId?userId=" + ...
- 分享一个PHP调用RestFul接口的函数
php越来越前端化,大型系统中的php经常是调用后端服务的接口,这里分享一个函数.希望对大家有用. /** * [http 调用接口函数] * @Date 2016-07-11 * @Author G ...
随机推荐
- 如何设计firemonkey的style样式
您好,在窗体上添加一个 TStyleBook(StyleBook1), 可以载入.编辑.另存这些样式.编辑 StyleBook1 后, 可以把它直接赋给窗体的 StyleBook 属性: proced ...
- Python之二叉树Binarytree
二叉树是树的简化版,除根节点之外的所有节点都有一个父节点,任意节点都可以最多有一个左子节点和右子节点. 二叉树的遍历是非常重要的算法,主要分为深度优先遍历和广度优先遍历. 其中深度优先遍历按照访问根节 ...
- Varnish动静分离配置示例
动静分离 [root@varnish ~]# vim /etc/varnish/default.vclvcl 4.0;backend web { .host = "192.168.30.15 ...
- 用Docker搭建LNMP
程序员经常会说的一句话:在我的机器上是正常的,肯定是你的机器有问题.因此,Docker诞生了,它把应用所需要的一切东西都打包,从而可以很方便地进行部署. Docker 的主要用途,目前有三大类: 提供 ...
- Rails.cache相关知识
可能里面的一些知识已经不被大家使用了,但是作为学习,我想和大家分享一下个人关于Rails.cache的浅显的认识,望大家指教. 1.Rails.cache是什么 它是Rails中的缓存,拥有所有缓存的 ...
- 【JDK】ArrayList集合 源码阅读
这是博主第二次读ArrayList 源码,第一次是在很久之前了,当时读起来有些费劲,记得那时候HashMap的源码还是哈希表+链表的数据结构. 时隔多年,再次阅读起来ArrayList感觉还蛮简单的, ...
- 【nginx】反向代理
反向代理事项负载均衡 是什么:百度 版本 :tomcat8 x2 nginx 1.8.1 保证两台tomcat正常启动. 配置文件:D:\nginx-1.8.1\conf\nginx.conf ,红色 ...
- Spring Boot 整合 Freemarker,50 多行配置是怎么省略掉的?
Spring Boot2 系列教程接近完工,最近进入修修补补阶段.Freemarker 整合貌似还没和大家聊过,因此今天把这个补充上. 已经完工的 Spring Boot2 教程,大家可以参考这里: ...
- 分析了16年的福利彩票记录,原来可以用Python这么买彩票
目录 0 引言 1 环境 2 需求分析 3 代码实现 4 后记 0 引言 上周被一则新闻震惊到了,<2454万元大奖无人认领!福彩史上第二大弃奖在广东中山产生 >,在2019年5月2日开奖 ...
- HDU 3061:Battle(最大权闭合图)
http://acm.hdu.edu.cn/showproblem.php?pid=3061 题意:中文题意. 思路:和上一题神似啊,比上一题还简单,重新看了遍论文让我对这个理解更加深了. 闭合图:如 ...