Rumah  >  Soal Jawab  >  teks badan

PHP使用RESTful API

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? 有没有参考?

PHP中文网PHP中文网2770 hari yang lalu605

membalas semua(2)saya akan balas

  • 天蓬老师

    天蓬老师2017-04-10 15:39:51

    因为 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调用者,了解一下应该就可以了。

    balas
    0
  • ringa_lee

    ringa_lee2017-04-10 15:39:51

    可以参考下 阮一峰之前的博文 了解一些概念化的东西

    http://www.ruanyifeng.com/blog/2011/09/restful.html
    http://www.ruanyifeng.com/blog/2014/05/restful_api.html​

    可以多参考下github.com的api 感觉很优美

    balas
    0
  • Batalbalas