class Gokit_Http

{

public static $ch = null;

public static $url_prefix = 'http://api.gizwits.com/';

// public static $url_prefix = 'http://gokit_test.com/';

public static $appid = '';

public static $token = '';

public static $headerArr = [];

// 初始化curl

public static function init()

{

if (!self::$ch) {

self::$ch = curl_init();

}

global $appid,$token;

self::$headerArr[] = 'Content-Type: application/json';

if ($appid) {

self::$headerArr[] = "X-Gizwits-Application-Id: ".$appid;

}

if ($token) {

self::$headerArr[] = "X-Gizwits-User-token: ".$token;

}

}

// post 请求

public static function post($uri, $data)

{

self::init();

// 传输的json数据

$data = json_encode($data);

// curl 设置

curl_setopt(self::$ch, CURLOPT_URL, self::$url_prefix.$uri );

curl_setopt(self::$ch, CURLOPT_POST, 1 );

curl_setopt(self::$ch, CURLOPT_HEADER, 0 );

curl_setopt(self::$ch, CURLOPT_HTTPHEADER , self::$headerArr );  //构造IP

curl_setopt(self::$ch, CURLOPT_BINARYTRANSFER, true);

curl_setopt(self::$ch, CURLOPT_RETURNTRANSFER, 1 );

curl_setopt(self::$ch, CURLOPT_POSTFIELDS, $data);

$r = curl_exec(self::$ch);

curl_close(self::$ch);

self::$ch = null;

// 处理结果

// test

return $r;

return self::response($r);

}

// get 请求

public static function get($uri)

{

self::init();

// curl 设置

curl_setopt(self::$ch, CURLOPT_URL, self::$url_prefix.$uri );

curl_setopt(self::$ch, CURLOPT_HTTPHEADER , self::$headerArr );  //构造IP

curl_setopt(self::$ch, CURLOPT_BINARYTRANSFER, true);

curl_setopt(self::$ch, CURLOPT_RETURNTRANSFER, 1 );

curl_setopt(self::$ch, CURLOPT_HEADER, 0 );

$r = curl_exec ( self::$ch );

curl_close ( self::$ch );

self::$ch = null;

// 处理结果

return self::response($r);

}

// get 请求

public static function delete($uri, $data = [])

{

self::init();

// curl 设置

curl_setopt(self::$ch, CURLOPT_URL, self::$url_prefix.$uri );

$data = json_encode($data);

curl_setopt(self::$ch, CURLOPT_POSTFIELDS, $data);

curl_setopt(self::$ch, CURLOPT_HTTPHEADER , self::$headerArr );  //构造IP

curl_setopt(self::$ch, CURLOPT_BINARYTRANSFER, true);

curl_setopt(self::$ch, CURLOPT_RETURNTRANSFER, 1 );

curl_setopt(self::$ch, CURLOPT_HEADER, 0 );

curl_setopt(self::$ch, CURLOPT_CUSTOMREQUEST, "DELETE");

$r = curl_exec ( self::$ch );

curl_close ( self::$ch );

self::$ch = null;

// 处理结果

return self::response($r);

}

// 处理输出

public static function response($r)

{

if ($r) {

$r = json_decode($r, true);

if ($r) {

return $r;

}

}

return '请求失败:'.var_export($r, true);

}

}

?>

php调用应用程序api,使用PHP调用openAPI相关推荐

  1. python调用高德地图api 可视化_Python调用高德地图API实现经纬度换算、地图可视化...

    前地图可视化的工具和函数比较多,但是在不知道相关地点经纬度的情况下,通过python调用高德地图API实现经纬度换算,并且直接在高德地图新推出的轻量级可视化平台上实现一键式地图可视化,这其中需要申请密 ...

  2. java 调用window程序_Windows下Java调用可执行文件代码实例

    这篇文章主要介绍了Windows下Java调用可执行文件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 缘起: 由于没有找到java转换文件 ...

  3. python调用百度地图api定位_python 调用百度地图地点检索webAPI

    百度地图提供了开放的API,使用方法 右上角登陆账号 -> 点击"获取密钥" -> "创建应用" -> 填写应用名称&白名单IP -& ...

  4. php调用拼多多api模板,PHP调用拼多多API模板

    拼多多的 API 模板就更简单了,前段时间刚放出来接口权限,上周开始对接完成. 都是无需授权的接口,所以也就不需要刷新 token 之类的事. 另外拼多多的 token 过期时间是 30 天,每次都要 ...

  5. html调用百度翻译api,vue cli3 调用百度翻译API翻译页面的实现示例

    首先说下,本人为在校大三狗一只,缺少实战开发经验,然后用语什么的也不标准,就按我自己的想法写的,有什么不对的地方欢迎指导指导哈 然后直接开始吧 在需要翻译的地方做上标记,这里用的是添加名为" ...

  6. PHP调用kaldi,程序员罗杰-JAVA 调用PHP Webservices

    PHP webservices 接口 import java.util.List; import javax.xml.namespace.QName; import javax.xml.rpc.enc ...

  7. java调用nodejs程序,从java里面调用node.js脚本

    How can I call a node.js inside java and save the console.log values in a String variable? 解决方案 It i ...

  8. python实现简单的api接口-简单实现Python调用有道API接口(最新的)

    # ''' # Created on 2018-5-26 # # @author: yaoshuangqi # ''' import urllib.request import urllib.pars ...

  9. Flask实现Web服务调用Python程序

    Flask实现Web服务调用Python程序 通过Web服务调用Python写的手写数字识别算法模型,得到手写数字识别结果. 项目场景: 项目需求:将客户端的请求经由Web服务器转发给Flask程序实 ...

最新文章

  1. 转--Oracle数据类型及存储方式【C】
  2. 小雷郑重承诺:在2017年之前,对大学毕业4年以来的所有努力和探索,做一个全面客观的总结,技术研究、工作创业、投资理财、朋友感情等...
  3. setactive隐藏之后无法显示_WPS表格:如何显示和隐藏顶部工具栏?
  4. Usermod 命令详解
  5. 2018网络统考计算机英语报名时间,2018年秋网络教育统考大学英语(B)考试样卷...
  6. 三星大翻身?Galaxy Fold已售出100万台,进账160亿元?结果尴尬了…
  7. oracle启动时报错ORA-00845 MEMORY_TARGET not supported on this system
  8. mysqlinnodb教程_MySQL创建数据表时设定引擎MyISAM/InnoDB操作
  9. mysql复合索引加锁_Mysql加锁过程详解
  10. python实现图像二分类特异度(numpy)
  11. HTML设置限时抢购倒计时步骤,Js网页倒计时代码(限时抢购、网购倒计时)
  12. unity VR中制作小地图的方法
  13. no suitable conversion function from “std::reverse_iterator<double *>“ to “double *“ exists
  14. 微信公众平台开发学习
  15. 光伏电子工程的设计与实施2022——单片机力控部分实现思路
  16. C++判断字符串是否为回文的方法
  17. folder.htt等文件的问题
  18. oracle 查询上一月,Oracle数据库查询上一小时、上一天、上一个月、上一年
  19. VB.net WPS二次开发
  20. 员工积分制管理系统V1.0 介绍

热门文章

  1. python内置函数——sorted、filter、map、format
  2. python 命令行参数—argparse模块的使用
  3. 10个python使用技巧
  4. pytorch torch.nn.Sequential(* args)(嘎哈用的?构建神经网络用的?)
  5. python multiprocessing — 基于进程的并行
  6. tf.nn.conv2d()方法
  7. linux c语言 ppt,linux操作系统下c语言编程入门.ppt
  8. 关闭oracle自动统计,禁用Oracle 11g的统计数据自动收集功能
  9. weblogic 负载均衡搭建
  10. android studio多页面滑动,Android Studio之多个Activity的滑动切换(二)