百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>网页制作> PHP效劳器端API道理及示例讲解(接口开发)
分享文章到:

PHP效劳器端API道理及示例讲解(接口开发)

发布时间:05/20 来源:未知 浏览: 关键词:

信赖大家都做过PHP恳求API接口获取数据,比方淘宝API,微信公众平台,气候查询,快递查询等,有的需要参照接口文档按照签名算法结构sign(签名),或者设置token,然后通过curl发送POST恳求带上参数,获得返回数据,一般是json或者xml格局。

但是此刻的状况反过来了,我们要开发PHP效劳器端的API接口,也就是别人恳求我们,我们验证恳求合法性,并查询数据返回。

这种状况其实在手机app开发中用到,手机APP利用往往需要恳求PHP接口获取数据,不过这个恳求一般是不用经过验证的,按照不一样的功效恳求不一样的url,平常也是get方式传参数直接获取数据。

本文简便讲讲效劳器端验证恳求合法性的办法,和接收参数的方式。

简便的get恳求如:http://www.baidow.com/tupian/lupian/20190520/3xa5pfthuhe.php

那么在需要验证合法性的状况下这样明显是不行的。所以需要一个秘钥,这个时候往往用POST方式恳求url。

比方传递的参数中有个签名sign,值是98888,当然生成sign的方式很多而且不大概这么简便,这里只是随意写,那么效劳器端接收到sign是98888,假设我们约定98888就是合法的,这个时候判断sign是否为98888就可以验证这是合法恳求了。

但是这样也太简便了,一下子就被破解了,设置这个sign就毫无意义了。所以要有一个生成sign的规则,恳求的时候按照这个规则生成sign传参,效劳器端接收的时候也按照这个规则生成sign,如果生成的sign一致,表明这是合法恳求。每次恳求都会带上sign停止验证。

还有一种验证叫token,第一次恳求的时候验证token,在一定时间内不用再次验证。这要分两步,第一步先恳求获取token的接口得到token,第二步才是恳求详细接口的功效,需要带上token传参。由于第一次恳求token的时候,效劳器端先把token存储起来了再返回的,所今后面的恳求判断传过来的token是否存在就可以验证了。

很多接口开发都同时使用两者方式保证私密和平安。

还有一点,发送POST恳求往往使用PHP的CURL模块,比方对方通过curl发送POST恳求,curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string),这里$post_string是传PHP数组的情势好,还是json格局呢?

如果是传PHP数组,我这边直接$_POST[‘xx']获取参数,如果是传的json格局,我这边仿佛要用file_get_contents(‘php://input', ‘r')获取传过来的json数据,然后解析json得到参数。

什么状况下用第二种?

这个曾经在网上发问过,看看大家怎么答复:

对PHP来说 JSON和数组有时候真的只是一行代码的区别,如果我写大概直接回用第一种。

我觉得你想你的代码简约一点可以用第二种,我记得weixin的php sdk仿佛相似就是第二种(当然那是xml格局)

还有如果对方使用面向对象直接序列化出来的json的话,用json会让他的代码更简约一点。

第一种做法,是传输的是form表单POST和谈,PHP会把PHP数组变成HTTP表单的格局,跨说话通用,但是这种并不是主流的API和谈,而更像是模拟提交表单。

绝大多数API和谈会用JSON POST,第二种做法,即在HTTP Body里放JSON数据。也是跨说话的,但作为API更友好。

第一种办法,直接PHP curl,如果数据内容没处置好,数组value里传了 @/xxx/xxx 这样的内容,curl会把效劳器上的当地文件传出去,留意防备。

x-www-form-urlencoded是RFC标准,没什么不兼容的,岂止跨说话,还跨越时空。JSON这种是近几年想出来的,不是标准,用着利便而已。

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有156人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板