Heim >Backend-Entwicklung >PHP-Tutorial >PHP使用RESTful API

PHP使用RESTful API

WBOY
WBOYOriginal
2016-06-06 20:34:251472Durchsuche

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 如何用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 感觉很优美

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn