1 3 7 - 1 4 4 1 - 9 7 9 7
首页 > 经营领域 > 经营领域详细内容

用PHP挪用JSON接口和编写接口的方式是?

来源:网站搭建 | 作者:网站搭建 | 时间:2022-03-22 | 浏览:11142
字体大小:


数据对接、网站接口...在开辟网站的进程中经常会说起如许的成绩?所谓的网站接口是网站体系中两个自力的办事器举行信息互换的同享边界。


1、办事器之间的同享边界

庞杂说明,一个网站其实就是一个办事器,企业网站制造所展现的新闻、数据、信息都存在本人的办事器中。


但是当两个网站,也就是两台办事器之间,必要数据传输,或同享某些数据时,就必要一条通道或是一种体例,让两台办事器举行数据交互。


图中的内容,就是我们所说的同享边界,也就是接口内容(接口位于展现内容的A办事器中,供给拜访通道和体例)

对照根本的只要两种办事器接口情势,网站搭建,httpservice和webservice,传输数据的花样有json、xml、vdf等

加密体例有sha1、sha256、md5、base64带密钥验签


2、实用性强的典范榜样接口

(1)、基于oauth2.0的单点登录

当你的网站,必要QQ、微信等第三方账号的登录功效时,若何考证这个用户在QQ和微信中是有账号的呢?

起首,QQ和微信是不会将用户的用户名和密码发给你的网站的,这是异常不宁静的。

以是,双方必要考证一些配合信息,这就是署名。

举例说明一下,微信的新闻处置惩罚。


署名情势



(2)、jquery的ajax跨域数据传输

当你旗下的两个网站,必要一个互通的数据举行共用时,就必要一种体例举行拜访(这类数据普通可以或许对外公然播放,也都是必要公布并让其他用户能拜访的信息),当你必要跨域的时辰,那就必要行使办事器说话举行获得(php、java等)。假如你还是对峙要用javascript,认为如许获得速率上有劣势,那请行使jsonp(记得jsonp的花样和json是不一样的,后面是有function的)。调用接口都要有一个接口的地址,我们用网上收费的天气预报接口,只是为了进修接口的行使,其实不保证准确。今朝,准确的接口都已收费了。我找到的收费地址是:http://www.weather.com.cn/data/sk/101010100.html 。然我们来用这个地址来完成进修吧。


PHP调用JSON接口,有以下五个步骤:



第一步、声明页面编码,UTF-8:

header("Content-type: text/html; charset=utf-8");

第二步、经由过程curl返回json字符串:


经由过程curl函数获得返回json字符串


第三步、把返回的字符串转化为php变量:


第四步、把字符串转化为数组:

用到数组转化函数:



调用字符串转函数。


以下部门是测试输入:


前台显示成果:



第五步、调用数组元素:

经由过程这个二维数组,获得响应的信息。


前台显示:



总结:

从下面的例子中可以或许看出,一个庞杂的接口,其实调用起来还是很便利。经由过程下面的5个步骤,就可以或许完成。下面的例子中有两个重点,第一个就是crul函数的调用;第二个就是json字符串转化为数组。


下面先容若安在PHP中编写接口


一、先庞杂答复两个成绩:


1、PHP 可以或许开辟客户端?


答:不可以或许,因为PHP是脚本说话,是负责完成B/S架构或C/S架构的S部门,即:办事端的开辟。(别去纠结GTK、WinBinder)


2、为何挑选PHP 作为开辟办事端的首选?


答:跨平台(可以或许运转在UNIX、Linux、WINDOWS、Mac OS下)、低耗损(PHP耗损相称少的体系资源)、运转效力高(相对而言)、MySQL的完善搭档,本人是收费开源的。


二、若何行使PHP开辟API(ApplicationProgramming Interface,行使顺序编程接口)呢?


做过API 的人应当理解,其实开辟API 比开辟WEB 更简练,但可能逻辑更庞杂,因为API 其实就是数据输入,不消出现页面,以是也就不存在MVC(API 只要M 和C),


1、和WEB 开辟一样,起首必要一些相干的参数,这些参数,都邑由客户端传过去,也许是GET 也许是POST,这个必要开辟团队相互之间约定好,或制订同一标准。


2、有了参数,按照行使需求,完成数据处置惩罚,譬喻:义务进度更新、APP内购、一局游戏竣事数据提交等等。


3、数据逻辑处置惩罚完以后,返回客户端所必要用到的相干数据,譬喻:义务形态、内购成果、玩家信息等等数据怎样返给客户端?间接输入的情势,如:JSON、XML、TEXT 等等。


4、客户端获得到你返回的数据后,在客户端当地和用户举行交互。


且则写的一个庞杂API 例子:



$output = array();


$a = @$_GET['a'] ? $_GET['a'] : '';


$uid = @$_GET['uid'] ? $_GET['uid'] : 0;


if (empty($a)) {


$output = array('data'=>NULL, 'info'=>'白狐建站!', 'code'=>-201);


exit(json_encode($output));


}




//走接口


if ($a == 'get_users') {


//检讨用户


if ($uid == 0) {


$output = array('data'=>NULL, 'info'=>'The uid is null!', 'code'=>-401);


exit(json_encode($output));


}




//假定$mysql 是数据库


$mysql = array(


10001 => array(


'uid'=>10001,


'vip'=>5,


'nickname' => 'wang',


'email'=>'418808288@qq.com',


'qq'=>418808288,


'gold'=>1500,


'powerplay'=> array('2xp'=>12,'gem'=>12,'bingo'=>5,'keys'=>5,'chest'=>8),


'gems'=> array('red'=>13,'green'=>3,'blue'=>8,'yellow'=>17),


'ctime'=>13152859989,


'lastLogin'=>13810380242,


'level'=>19,


'exp'=>16758,


),


10002 => array(


'uid'=>10002,


'vip'=>50,


'nickname' => 'dalu',


'email'=>'617896996@qq.com',


'qq'=>NULL,


'gold'=>14320,


'powerplay'=> array('2xp'=>1,'gem'=>120,'bingo'=>51,'keys'=>5,'chest'=>8),


'gems'=> array('red'=>13,'green'=>3,'blue'=>8,'yellow'=>17),


'ctime'=>13520623857,


'lastLogin'=>15720366940,


'level'=>112,


'exp'=>167588,


),


10003 => array(


'uid' => 10003,


'vip' => 5,


'nickname' => 'hb0317',


'email' => 'hb0317@126.com',


'qq' => NULL,


'gold' => 1541,


'powerplay'=> array('2xp'=>2,'gem'=>112,'bingo'=>4,'keys'=>7,'chest'=>8),


'gems' => array('red'=>13,'green'=>3,'blue'=>9,'yellow'=>7),


'ctime' => 13693231513,


'lastLogin'=> 13910396104,


'level' => 10,


'exp' => 1758,


),


);




$uidArr = array(10001,10002,10003);


if (in_array($uid, $uidArr, true)) {


$output = array('data' => NULL, 'info'=>'The user does not exist!', 'code' => -402);


exit(json_encode($output));


}




//查询数据库


$userInfo = $mysql[$uid];




//输入数据


$output = array(


'data' => array(


'userInfo' => $userInfo,


'isLogin' => true,//能否初次登陆


'unread' => 4,//未读新闻数目


'untask' => 3,//未完成义务


),


'info' => 'Here is the message which, commonly used in popup window', //新闻提醒,客户端常会用此作为给弹窗信息。


'code' => 200, //乐成与失利的代码,普通都是正数或正数


);


exit(json_encode($output));


} elseif ($a == 'get_games_result') {


//...


die('您正在调get_games_result 接口!');


} elseif ($a == 'upload_avatars') {


//....


die('您正在调upload_avatars 接口!');


92.}




免责声明:本文内容由互联网用户自发贡献自行上传,本网站也不承担相关的法律责任。如果您发现本文章中有涉嫌抄袭的内容,请发送邮件至:sales@sznetsoft.com或者至电给本网站进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权的内容。
相关信息
  • 05 2022.02

    企业网站扶植数据库布局的平安隐患

    数据库结构的平安隐患。在建立电子商务网站的后期,网站数据库的设想规划不美满也会使数据库的结构存在平安隐患,重要体目下现今以下3个方面: (1)数据库文件的寄存位置比力牢固或是存在有必定纪律,网站设计,网站公司,网站搭建,这类举动会被不法分子用来查找并下载数据库内的文件,致使数据库质料遭到盗取。(2)利用非标准的数据表和数据字段定名方式能够会对数据库形成平安要挟,从..

  • 05 2022.02

    企业网站成立DNS查询

    用户阅读网页历程中存在一定的守候工夫,而这些守候工夫是由DNS查询惹起的。阅读器在展开下一步任务之前需要完成DNS剖析措置任务,而一次查询需要花费20~120ms的工夫,一旦阅读器比力频仍的收回DNS剖析恳求,营销型网站搭建,营销型网站设计,营销型网站定制,则会形成全部传输工夫的增加,如许用户网页阅读守候的工夫也会增加。面对这类近况,恳求对DNS剖析查询次数尽量地增添,对应地全部剖析历程花费的工夫..

  • 19 2022.02

    企业建网站建造按钮

    网页中的按钮是一个极度重要的元素,是以,按钮的适用性和雅观性很重要。设想有特点的按钮不但可以大概加强界面的雅观性,还可以大概给浏览者视觉攻击。按照制作按钮的妙技分别,网页中的按钮可以大概分为静态图片按钮、Flash动画按钮和JavaScript 翻转图片按钮三类。今朝网页中运用较多的是静态按钮和Flash动画按钮。静态图片按钮静态图片按钮就是将按钮制作为静态图片的成果,不带有任何的交互成果和..

  • 19 2022.02

    企业做网站利用现有资源增长网站内容

    行使现有资本增添网站内容。多一个网页, 只要包括有用关键词, 那末在搜刮结果中就多了一次被用户发明的机遇, 将有限的内容散布在多个网页上, 平常能够采用上面几种体例: (1) 让含有主要关键词的内容散布在分歧的网页中。 (2) 在其他网页中交叉相关的主要关键词而且链接到相应的网页。 (3) 特地建造一个或几个相关主题的文章内容索引页面。 (4) 采用其他自力的域名..

  • 19 2022.02

    企业做网站网站设想

    传统的网站扶植通俗都是凭据最后的打算根本和道理举行编程, 然后由网站的客户举行发起, 和看法, 打算师举行修正和改编, 最后构成客户满意的网站打算。 由于传统的网站打算通俗是以表格的情势建造出相干的网页然后把有关的笔墨、图片和音频放到流动的地位, 每个地位的图象要颠末烦琐的打算, 个中的进程比力庞杂, 而且还比力轻易泛起毛病致使扫数网站的瘫痪。是以我们要改动传统的..

  • 19 2022.02

    企业做网站优秀的网页计划

    跟着互联网的提高和糊口节奏的放慢,人们需求经由更便当的体例在互联网上获得本身所需的信息,但是,互联网中的信息不计其数,用户常常缺少耐烦细致寻觅。网页中清楚明了的导航可以或许节约用户的工夫。优异的网页设想该当繁复且完备,导航的项目不宜过量,简练适用,全体性好,能让用户在体验的进程中轻松、温馨就好。页面的级别不宜过量,不然会利用户流失。 网页设想应施展搜集的劣势,让每个用户..

  • 19 2022.02

    企业做网站图象色彩

    在图象色彩方面,可利用PS软件降落图片色彩深度,采用64色,以减小图象输出精度。当图象保管为jpg花式时,可行使PS软件翻开保管图象,既可以或许避免图象呈现细节像素损失结果,又可以或许减少原有图象50%的文件存储空间。

  • 19 2022.02

    企业做网站网站的制造

    网站的建造。我们在建造网站的过程中,营销型SEO优化公司,重假如需要根据网站建造的实际情况,就以下几个方面的内容举行建造,如网页的团体作风、版面企图、输出文字、增加表格等方面的内容。

  • 01 2022.03

    手机网站扶植科普网站日均阅读量差异大

    科普网站日均浏览量差异大。浏览量是反应一个网站产生代价巨细的紧张指标。浏览量越高,高端网站设计,科普网站的社会代价越大,同时也可推出科普网站扶植质量越高。就调研网站的团体而言,日均浏览量差异大,肯定水平上申明我国当局科普网站施展的社会代价水平纷歧,扶植质量也良莠不齐。 另外,与此后受大众迎接的非当局类科普网站果壳网的日均浏览量比拟,所调研网站中绝大多半的浏览量在其之下,..

  • 01 2022.03

    手机网站设立建设服装论坛t.vhao.net推行

    服装论坛t.vhao.net推行。服装论坛t.vhao.net推行是发掘潜伏客户的重要路子。商家可在着名度较高、人气较旺的合适服装论坛t.vhao.net上经由过程笔墨、图片、视频等体例来发帖鼓吹,鼓吹的笔墨要言之有物,建品牌网站公司,浅显易懂。 店家除发帖之外还需常常回帖,从而让目标客户加倍深切地晓得企业的产物和就事。

  • 14 2022.03

    网建公司讲授的不乱关键词排名办法

    持久做SEO的同伙都晓得排名很等闲,然则不乱排名很难,持久不乱排名很难。创业难,创业难这句话,坚持排名也很实用。Heyou.com小系列不断以为排名是有肯定概率的,品牌建网站,排名的本领不乱了才干看出一小我的实在技术。通俗要用那些招数来不乱症结词的排名。1.包管网站的不乱性不论一个网站树立是好是坏,网站的不乱性至关主要。假如在网站中对症结词停止排名,常常会因为网站办事器不不乱而致使网站没法翻开或许..

  • 14 2022.03

    若何经过优化企业网站扶植凸显网站代价

  • 22 2022.03

    定制网站扶植须要办理的题目 若安在创新中得到用户承认

    谈到网站建树,不晓得已经更新几代了,而让人纠结的是,技能在提高,网站做的愈来愈时兴,用户却被碎片化时候给疏散了,这给网站建树建树提出了如许的标题问题,怎样做到与众分歧,并且还能赢得用户欢心。 平日这是一个两难的遴选,我们转头看看之前的网站建树,大略的几乎不堪入目,就像买电脑一样,记得在2000年阁下,同事配了一台电脑,花了6000大洋,内存是1G,没有说错,是1G,想一..

  • 31 2022.03

    网站扶植创意与手艺分离是该怎样做?

    不管在传达营销仍是研发营销型网站扶植产物范畴,一切人都在提创意与技能结合,但仍然只需多数公司因而取得成绩。雇用到创意与网站制造技能职员、各自构成部分、再把他们搬到统一个办公地区,强迫他们必需一路使命,这些明显还不敷。大部份创意与技能之间只是假性亲密。假性亲密干系(Irrelationship)是一个心思学概念,自从片子《Gone Girl》上映后被提出,指人与人之间由于惧怕粉碎干系,为了..

  • 08 2022.04

    究竟若何才干扶植好一个营销型网站

    毕竟如何扶植好一个营销型网站?有客户问我为甚么营销型网站扶植建造用度很高呢?但是又有很多网站管事商报价却很便宜,为甚么行业报价区分如此大?毕竟用便宜的和贵的营销型网站扶植毕竟有上面区分?How to build a marketing type website? A customer..

  • 13 2022.04

    若何从外链及友链引进流量

    网站建造公司尚品中国:一贯都不懂内容为王,外链为皇是甚么意义,刚起头建站收录出奇的好,也没有做过任何履行,没有甚么友链,就很自然的网站流量就上去了。估量是因为其时百度的算法没有极端峻厉,让我侥幸过关了吧。到背面流量是萎靡不振,截个图给大家看看我这个站的汗青最高吧,虽然对于一些妙手来讲,我这点流量不算甚么,但对于我这个其时刚起头建站的老手来讲就已是极端不了..

  • 13 2022.04

    WordPress插件建造教程:将数据生存到数据库

    北京网站建立公司尚品中国(www.sino-web.net):这一篇为巨匠解说如何将数据留存到数据库中,并且显目下现今页面上,不会因提交表单时改造页面输入框中内容消逝。要完成这一功能我们需要借助WordPress函数来完成,下面就来解说详细的完成方法,先把代码贴出来。照样依照之前的阿谁插件样例,巨匠可以或许直接在下面做批改。//在WordPress布景攻讦处闪现一个子菜单出来add_action(..

  • 22 2022.04

    银川网站扶植-网页界面计划的观点

  • QQ好友
  • QQ空间
  • 腾讯微博
  • 新浪微博
  • 人人网
  • 豆瓣网
  • Facebook
  • Twitter
  • linkedin
  • 谷歌Buzz


线

网软通在线


在线客服: 点击这里给我发消息                        

1231.jpg

留言内容