利用php+curl调用极光IM第三方REST API方法经验
来源:互联网 发布:红包自动抢软件 编辑:程序博客网 时间:2024/05/29 10:30
最近的一个项目,用到了极光IM的REST API,由于他们官方没有开发完服务器端的PHP版本的SDK,只能直接封装这些REST API。REST API的调用大同小异,这次的尝试,可以在其他的项目里举一反三。
php里面,模拟客户端发送http请求,可以使用curl工具或者叫做库。php安装的时候,curl默认会自动安装,如果没有安装,请自行根据自己的平台进行安装。
为了测试 远程的REST API是否正常,可以先直接在终端里面,用命令行的方式。
有两种方法使用curl,一种在直接运行curl工具,另一种是在php里面调用curl库函数,下面以极光IM的重置密码为例。
1.运行curl工具。例如调用极光IM的重置密码的API时,采用的是PUT方法,且需要加入验证信息。
curl -v -H "Content-Type:application/json" -H "Authorization: Basic MjY54445OWR222Y2YTMzZTJiMzgwZjI1OmRlNGMzOGFjZDBhODRhM2E5YmQ1MGI0Ng==" -X PUT --data "{ "new_password":234567}" https://api.im.jpush.cn/v1/users/15800645816/password因为头信息需要两个,采取了(),{}的方式都不成功,只能这样比较粗暴的方式,使用两次-H。
2.创建两个函数,一个封装curl的和服务器交换方法,一个是自己的业务逻辑函数。
//重置密码调用 public function putim_curl($mobile, $param = "", $header = "") { if (empty($param)) { return false; } $str = "/v1/users/".$mobile."/password"; $putUrl = "https://api.im.jpush.cn".$str; $ch = curl_init(); //初始化curl curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT"); curl_setopt($ch, CURLOPT_URL,$putUrl); //目标网页 // curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //要求结果为字符串且输出到屏幕上 curl_setopt($ch, CURLOPT_HTTPHEADER,$header); // 增加 HTTP Header(头)里的字段 curl_setopt($ch, CURLOPT_POSTFIELDS, $param); $data = curl_exec($ch); //运行curl curl_close($ch); return $data; } //重置密码 public function putResetPassword(){ $mobile = $_REQUEST['mobile']; $newpass = $_REQUEST['new_pass']; if(empty($mobile) || empty($newpass)){ return FALSE; } else { $str = $this->app_key.":".$this->master_secret; $base64=base64_encode($str); $header[] = 'Content-Type:application/json'; $header[] = 'Authorization: Basic '.$base64; $data = array( "new_password"=>$newpass ); $data = json_encode($data); $res = $this->putim_curl($mobile,$data,$header); print_r($res); if($res[0]){ //得到返回值--成功已否后面判断 var_dump($res); }else{ //未得到返回值--返回失败 //return false; echo 0; } } }最后吐槽一下,极光IM那边的人对免费用户的服务态度好差,,,遇到问题了,老半天得不到他们的回复,回复也不详细,,,php的他们说没有用,不会看。。。。。呵呵。
写本博客的,就是希望给使用php开发的亲一个少走弯路的机会,如果还有问题,我们可以沟通。
0 0
- 利用php+curl调用极光IM第三方REST API方法经验
- 利用CURL命令调用WebHDFS REST API与Kerberos机制
- php curl调用美团云API
- 第三方平台API调用
- 第三方--极光推送
- php 第三方 极光推送domo(Android版)
- curl获取第三方API URL是HTTPS的
- 极光推送REST API被我给以为是普通API调用了 罪过 记录一下
- [Rest] PHP调用curl时的 乱码解决
- 第三方推送-极光推送
- 第三方API的调用开发
- 微信调用第三方API
- 第三方快递接口API调用
- 搭建Twitter第三方API方法
- php调用接口的方法 curl
- 第三方调用方法备忘 -- 文件管理
- Android调用第三方库的方法
- swift 调用第三方的oc 方法
- 【C语言提高17】字符串copy
- 解决CefAddWebPluginDirectory不好用的问题(设置插件的指定路径)
- Smash fear, learn anything 无所畏惧,学无止境-Tim Ferriss的Ted
- Android注释规范
- Exercises 3.17 输入一段文字到string类型的vector中,并将其改为大写
- 利用php+curl调用极光IM第三方REST API方法经验
- centos6.5使用JMX时远程连接不上的问题
- LeetCode 37 Sudoku Solver(求解数独)(*)
- NSURLConnection 实现webView显示HTTPS页面
- 提示Android APP性能
- c++编程必备啊..
- iOS 9开发(适配)中需要注意的事项总结
- 成为一名更好的程序员:如何阅读源代码
- android 显示flash视频播放器