PHP使用RESTful API
例如,我需要做1个上传图片到独立的图片服务器
如下, restful api 参考
https://github.com/alibaba/nginx-tfs/blob/master/TFS_RESTful_API.markd...
语法
POST /v1/appkey HTTP/1.1
Host: 10.0.0.1:7500
Content-Length: length
Date: date
PUT /v1/tfs/T1FOZHB4ET1RCvBVdK HTTP/1.1
Host: 10.0.0.1:7500
Content-Length: 22
Date: Fri, 30 Nov 2012 03:05:00 GMT
[data]
这种应该如何写PHP? 有没有参考?
回复内容:
RESTful API 如何用PHP来使用
例如,我需要做1个上传图片到独立的图片服务器
如下, restful api 参考
https://github.com/alibaba/nginx-tfs/blob/master/TFS_RESTful_API.markd...
语法
POST /v1/appkey HTTP/1.1
Host: 10.0.0.1:7500
Content-Length: length
Date: date
PUT /v1/tfs/T1FOZHB4ET1RCvBVdK HTTP/1.1
Host: 10.0.0.1:7500
Content-Length: 22
Date: Fri, 30 Nov 2012 03:05:00 GMT
[data]
这种应该如何写PHP? 有没有参考?
因为 RESTful API 都是基于HTTP的,也就是说,只要你有一个HTTP客户端(比如浏览器,用PHP的curl库模拟等等)就可以与API通信了。
你上面看到的都是客户端与API在基于HTTP协议进行通信时的一些HTTP头信息与数据,比如你打开谷歌浏览器的开发者工具,然后选择网络(Network)就可以看到本次通讯的所有HTTP相关信息了。
在进行API调用前,最好还是先了解一些 HTTP 和 REST 的相关知识,这个很重要。
简单的原理是这样的:既然客户端(你的应用)与 API进行通信,必须使用 HTTP协议,那么简单了。你只要向API发HTTP请求不就得了呗,那怎么发?如何发? 浏览器就行,当然方便一点是使用一些插件了(后文说)。那关键是你现在要用PHP来发HTTP请求和处理请求啊,那行,PHP提供了curl库和fsockopen,这两个都可以模拟发HTTP请求和处理返回的数据。所以用它们就可以了。
言归正传,上面API的调用,你可以使用 PHP的curl库 进行调用,这个还是比较简单的,自己再封装一把,基本就可以了。不懂看这个,适合新手 PHP之curl。
当然你也可以使用第三方的封装好的 PHP的HTTP客户端(实际上它里面还是使用了php的curl库或者fsockopen库),比如这些(来源:推荐!国外程序员整理的 PHP 资源大全):
1. Guzzle -一个全面的HTTP客户端
2. Buzz -另一个HTTP客户端
3. Requests -一个简单的HTTP库
4. HTTPFul -一个链式HTTP库
这里也有一些基于浏览器开发的一些插件,调试REST API非常方便,提供几个(chrome适用):
1. DHC (aka Dev HTTP Client) (自己最喜欢的,方便易用)
2. Postman
3. Advanced Rest Client
要是想了解REST这里 restful-api-design-references 收集了一些资料,对于API调用者,了解一下应该就可以了。
可以参考下 阮一峰之前的博文 了解一些概念化的东西
http://www.ruanyifeng.com/blog/2011/09/restful.html
http://www.ruanyifeng.com/blog/2014/05/restful_api.html
可以多参考下github.com的api 感觉很优美
上一篇: PHP foreach 小结
下一篇: 正则表达式系统教程(一)_PHP教程
推荐阅读
-
PHP使用RESTful API
-
PHP 讲解两种中数组排序函数使用方法
-
winxp[sp2]下Apache无法正常使用实战得出的解决办法_PHP教程
-
php+mysqli使用面向对象方式查询数据库实例,mysqli面向对象
-
PHP在线生成二维码代码(google api)的例子,googleapi_PHP教程
-
Laravel 4.2 中队列服务(queue)使用感受,laravelqueue_PHP教程
-
PHP中SESSION使用中的一点经验总结_PHP教程
-
PHP ORM使用之
-
PHP中使用memcache存储session的三种配置方法_PHP
-
【原创】MySQL5.7 JSON类型使用介绍_PHP教程