在开发的时候,需要请求别人的接口,那么就要用到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 方法的封装的更多相关文章

  1. 【类库】私房干货.Net数据层方法的封装

    [类库]私房干货.Net数据层方法的封装 作者:白宁超 时间:2016年3月5日22:51:47 摘要:继上篇<Oracle手边常用70则脚本知识汇总>文章的发表,引起很多朋友关注.便促使 ...

  2. Android+appium +python 点击坐标tap方法的封装

    当常使用的查找点击元素的方法name.id.classname等无法使用时,我们将会采取坐标的点击来实现操作,同样存在一个问题,当手机的分辨率.屏幕大小不一致时,坐标的定位也会不同,因此将采用相对坐标 ...

  3. asp.net 重写URL方法和封装好的DLL

    .net 重写URL方法和封装好的DLL URL重写方法DLL(2.0)

  4. Python开发基础-Day20继承实现原理、子类调用父类的方法、封装

    继承实现原理 python中的类可以同时继承多个父类,继承的顺序有两种:深度优先和广度优先. 一般来讲,经典类在多继承的情况下会按照深度优先的方式查找,新式类会按照广度优先的方式查找 示例解析: 没有 ...

  5. python基础之继承实现原理、子类调用父类的方法、封装

    继承实现原理 python中的类可以同时继承多个父类,继承的顺序有两种:深度优先和广度优先. 一般来讲,经典类在多继承的情况下会按照深度优先的方式查找,新式类会按照广度优先的方式查找 示例解析: 没有 ...

  6. js方法的封装

    封装是为了更好的调用,当我们很多页面都需要同一种方法的时候,为了避免每个页面都需要进行重写方法,增加工作量,这个时候就需要我们对部分公共的方法进行封装,这样便于更好的进行调用 我在写接口的时候用到了 ...

  7. map、filter、forEach、reduce数组方法的封装

    1.map方法的封装 ​Array.prototype.mapAlley = function(callback){    //获取调用mapAlley这个方法的数组    let arr = thi ...

  8. uniapp请求方法的封装

    之前在接触uniapp做小程序项目时候,因为不太熟悉,遇到了不少尴尬的时刻,请求方法的封装算是灵魂啊有木有,今天看到有人问题,就把我自己写的发出来让大家参考一下吧. 请求方法的封装我一般用的是prom ...

  9. curl的POST请求,封装方法

    //POST请求//参数1是请求的url//参数2是发送的数据的数组//参数3是其他POST选项public static function POST($url, array $post = arra ...

随机推荐

  1. ElasticSearch数据副本模型

    介绍 ES里面的每一个索引(Index)由多个shard组成,每一个shard有多个副本.这些副本被称为同步组.当增加或者删除文档时,这些副本之间必须保持同步,以便让所有副本都能包含相同的文档.如果同 ...

  2. spring: @RequestMapping注解

    处理GET/POST请求方法 1.常用的: import org.springframework.web.bind.annotation.RequestMapping; @Controller pub ...

  3. 【C#基本功 控件的用法】 Toolbar的用法

    之前从事Labview编程,Labview是一门快速编程的语言,虽然快速,但作为一门语言他灵活性不够,有些方面也不是很给力,就比如 Toolbar labview就没有Toolbar的基础控件,虽然可 ...

  4. dotnet core项目升级到 .net core 2.0

    这几天无疑我们已经让.net core 2.0正式版发布的消息刷屏,这次发布整整提前了一个月的时间,关于具体的发布信息,可以去看善友大神的博客,.NET Core 2.0 正式发布信息汇总,废话不多说 ...

  5. Python — List、Set、Tuple、Dictionary之间的区别、参数传递

    1.list 列表 有序集合,随时增删.包含的数据类型可以不同:整数.浮点数.字符串.list.tuple.dict.set.bool.空值.常量. list = [12, 'Yummy', 19.2 ...

  6. Win7性能选项

    1. 性能选项:只保留勾选下面的即可. 2. 隐藏explorer导航栏的“库”列表 HKEY_CLASSES_ROOT\CLSID\{031E4825-7B94-4dc3-B131-E946B44C ...

  7. Hash算法-CityHash算法

    cityhash系列字符串散列算法是由著名的搜索引擎公司Google 发布的 (http://www.cityhash.org.uk/). Google发布的有两种算法:cityhash64 与 ci ...

  8. SpringBoot_09_使用jar包中配置的Bean(starter配置)

    一.前言 二.配置方式 在 META-INF/spring.factories 中声明主配置类,并开启bean的扫描 三.参考资料 1.Understanding auto-configured be ...

  9. mongodb倒排索引

    这周主要都花时间搞mongodb上了,业务场景是上游产出几个城市的全量道路code值,每个城市的数据量大概在100w~200w之间,每条数据对应好几个feature,形如: { code: 0, fe ...

  10. sqlserver数据库脱机时发生异常:由于无法在数据库 'SMS' 上放置锁,ALTER DATABASE 失败。请稍后再试。 ALTER DATABASE 语句失败。 (.Net SqlClient Data Provider)

    sqlserver数据库脱机时发生异常,如下: =================================== 设置脱机 对于 数据库“SMS”失败.  (Microsoft.SqlServe ...