php curl get post 方法的封装
在开发的时候,需要请求别人的接口,那么就要用到curl了
由于很多地方都会用到,就封装了两个,以后应该都会用到
/*
* @desc curl POST 方式请求接口
*/
function post_api($path, $post){
$curl = curl_init();
$header[] = "Content-type: text/html;charset=utf-8";
curl_setopt($curl, CURLOPT_URL, "$path");
// curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");//3.请求方式
curl_setopt($curl, CURLOPT_USERAGENT,
'Mozilla/5.0 (Windows; U; Windows NT 6.1; zh-CN; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10 QQDownload/1.7');
//curl_setopt($curl, CURLOPT_REFERER, "xxx");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
//curl_setopt($curl, CURLOPT_POST, 80);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
// curl_setopt($curl, CURLOPT_HTTPHEADER, array('Expect:'));
$contents = curl_exec($curl);
// var_dump($contents);
curl_close($curl);
return $contents;
} /**
* get 请求的curl
*/
function get_api($url){
$curl = curl_init(); // 启动一个CURL会话
$header[] = "Content-type: text/html;charset=utf-8";
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在
curl_setopt($curl,CURLOPT_ENCODING,'gzip,deflate');
$contents = curl_exec($curl); //返回api的json对象
$contents = mb_convert_encoding($contents, 'utf-8', 'GBK,UTF-8,ASCII');
//关闭URL请求
curl_close($curl);
// dd($contents);
return $contents; //返回json对象
// $ch = curl_init();
// curl_setopt($ch, CURLOPT_URL, $url);
// curl_setopt($ch, CURLOPT_HEADER, false);
// curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
//// curl_setopt($ch, CURLOPT_ENCODING, "");
// curl_setopt($ch,CURLOPT_ENCODING,'gzip,deflate');
// curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.1 Safari/537.11');
// $res = curl_exec($ch);
// $rescode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
// curl_close($ch) ;
// return $res;
// $curl = curl_init();
// $header[] = "Content-type: text/html;charset=utf-8";
// curl_setopt($curl, CURLOPT_URL, "$url");
//// curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");//3.请求方式
// curl_setopt($curl, CURLOPT_USERAGENT,
// 'Mozilla/5.0 (Windows; U; Windows NT 6.1; zh-CN; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10 QQDownload/1.7');
// //curl_setopt($curl, CURLOPT_REFERER, "xxx");
// curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
// curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
// //curl_setopt($curl, CURLOPT_POST, 80);
//// curl_setopt($curl, CURLOPT_HTTPHEADER, array('Expect:'));
// $contents = curl_exec($curl);
// $contents = mb_convert_encoding($contents, 'utf-8', 'GBK,UTF-8,ASCII');
//// var_dump($contents);
// curl_close($curl);
// return $contents;
}
php curl get post 方法的封装的更多相关文章
- 【类库】私房干货.Net数据层方法的封装
[类库]私房干货.Net数据层方法的封装 作者:白宁超 时间:2016年3月5日22:51:47 摘要:继上篇<Oracle手边常用70则脚本知识汇总>文章的发表,引起很多朋友关注.便促使 ...
- Android+appium +python 点击坐标tap方法的封装
当常使用的查找点击元素的方法name.id.classname等无法使用时,我们将会采取坐标的点击来实现操作,同样存在一个问题,当手机的分辨率.屏幕大小不一致时,坐标的定位也会不同,因此将采用相对坐标 ...
- asp.net 重写URL方法和封装好的DLL
.net 重写URL方法和封装好的DLL URL重写方法DLL(2.0)
- Python开发基础-Day20继承实现原理、子类调用父类的方法、封装
继承实现原理 python中的类可以同时继承多个父类,继承的顺序有两种:深度优先和广度优先. 一般来讲,经典类在多继承的情况下会按照深度优先的方式查找,新式类会按照广度优先的方式查找 示例解析: 没有 ...
- python基础之继承实现原理、子类调用父类的方法、封装
继承实现原理 python中的类可以同时继承多个父类,继承的顺序有两种:深度优先和广度优先. 一般来讲,经典类在多继承的情况下会按照深度优先的方式查找,新式类会按照广度优先的方式查找 示例解析: 没有 ...
- js方法的封装
封装是为了更好的调用,当我们很多页面都需要同一种方法的时候,为了避免每个页面都需要进行重写方法,增加工作量,这个时候就需要我们对部分公共的方法进行封装,这样便于更好的进行调用 我在写接口的时候用到了 ...
- map、filter、forEach、reduce数组方法的封装
1.map方法的封装 Array.prototype.mapAlley = function(callback){ //获取调用mapAlley这个方法的数组 let arr = thi ...
- uniapp请求方法的封装
之前在接触uniapp做小程序项目时候,因为不太熟悉,遇到了不少尴尬的时刻,请求方法的封装算是灵魂啊有木有,今天看到有人问题,就把我自己写的发出来让大家参考一下吧. 请求方法的封装我一般用的是prom ...
- curl的POST请求,封装方法
//POST请求//参数1是请求的url//参数2是发送的数据的数组//参数3是其他POST选项public static function POST($url, array $post = arra ...
随机推荐
- 机器学习三剑客之Pandas
pandas Pandas是基于Numpy开发出的,专门用于数据分析的开源Python库 Pandas的两大核心数据结构 Series(一维数据) Series 创建Series的方法 ...
- glance cache
用在多个glance API server 中,对相同的image文件提供服务.该cache对用户透明. 配置文件有一个image_cache_max_size,超过的话image cache会被修剪 ...
- iOS CoreData (二) 版本升级和数据库迁移
前言:最近ChinaDaily项目需要迭代一个新版本,在这个版本中CoreData数据库模型上有新增表.实体字段的增加,那么在用户覆盖安装程序时就必须要进行CoreData数据库的版本升级和旧数据迁移 ...
- Spring3: 在Bean定义中使用EL-表达式语言
5.4.1 xml风格的配置 SpEL支持在Bean定义时注入,默认使用“#{SpEL表达式}”表示,其中“#root”根对象默认可以认为是ApplicationContext,只有Applicat ...
- javascript简单介绍总结(二)
JavaScript 函数函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块.JavaScript 函数语法函数就是包裹在花括号中的代码块,前面使用了关键词 function:function ...
- Java基础学习-extends继承(成员变量,局部变量,成员方法)
package extend; /*面向对象-继承: * 多个类的共同成员变量和成员方法.抽取到另一个类中(父类),我们多个类就可以访问到父类的成员了 * */ class Game{ String ...
- 一个css3 旋转效果 -- 待续
<div class="container"> <div> <figure></figure> <figure>< ...
- DRF 的 版本,解析器,与序列化
DRF 的 版本,解析器,与序列化 补充 配置文件中的 类的调用: (字符串) v1 = ["view.xx.apth.Role","view.xx.apth.Role& ...
- php调用API支付接口(转自刘68)
首先访问 https://charging.teegon.com/ 注册账号, 找到开发配置 记下client_id和client_secret. 点击 天工开放平台 点击天工收银 点击 S ...
- Java发展前景与职业方向解析
大多数人选择Java可能只是因为听说Java前景好.Java比较好找工作.Java语言在TIOBE排行榜上一直位于前三等等之类的原因,但是Java具体好在哪里,心里却是没有什么概念的.本文为你解答学J ...