名奢网 名表 最新资讯 查看内容

手机端应用怎样访问效劳器?

2022-12-20 17:31| 发布者: 挖安琥| 查看: 95| 评论: 0

放大 缩小
简介:往常的手机端应用,不论是iOS还是Android, 不联网的简直屈指可数。那手机的的应用怎样调用效劳器提供的接口,来完成业务功用呢? 在设计的时分需求思索三方面的问题【通讯协议】其实很简单, 最常见的措施就是应用Ht ...

往常的手机端应用,不论是iOS还是Android, 不联网的简直屈指可数。


那手机的的应用怎样调用效劳器提供的接口,来完成业务功用呢? 在设计的时分需求思索三方面的问题

手机端应用怎样访问效劳器?


【通讯协议】


其实很简单, 最常见的措施就是应用Http协议, 效劳器端对外提供Http的接口;客户端向效劳器发出GET, POST央求, 调用接口,从效劳器的响应中获取数据。


当然写Http底层的代码也很累, 你得把数据组织成Http协议的header ,body ,经过网络发送进来。


还得解析效劳器的响应, response code (像200, 500 ), response body 等;


假如要遇到发送文件,还得支持MultiPart。


绝对是又脏又累的活,还很容易出错。


还好往常不少开源的代码曾经替你把这些脏活累活曾经干了,能够直接运用, 例如大名鼎鼎HttpClient , 运用这些代码你完整不用思索Http完成的细节, 只需求知道效劳器端接口的协议即可。


【 接口协议】


主要包含三个部分


(1) 接口的url : 例如 https://www.mybank.com/interface/login


(2) 是GET 还是 POST ?


(3) 参数 , 例如 username=xxxx , password=xxxx


(4) 响应的数据 , 能够是xml , 也能够是json , json 往常的运用比较普遍。


知道了这些东西, 能够轻松的写一段HttpClient 代码来调用了, 下面的代码就是经过Post的方式来向效劳器端发送用户名和密码, 做登录操作


Request.Post("https://www.mybank.com/interface/login")


.bodyForm(Form.form().add("username", "vip").add("password", "secret").build())


.execute().returnContent();


留意上面的代码用了HttpClient 的Fluent API, 这个API用起来有一口吻写到底的觉得, 读起来很温馨。


这里能找到Fluent API的细节, 这里再强调一下, 开源软件自带的例子和教程是十分好的学习资料, 网上很多的文章其实就是对这些东西的破碎的翻译, 最好是练好英文, 阅读最权威的,原汁原味的资料。


【 会话管理】


我们知道,用户经过阅读器登录网站以后, 效劳器能够产生session (会话), 这个session 通常会以cookie的方式(在Http协议的Header 中)发送给阅读器, 阅读器需求保存起来, 再次访问网站的时分, 会把cookie带过去, 这样效劳器就知道用户是谁了。


session 普通有个过时时间,例如30分钟, 超越这个时间假如阅读器不再访问的话, 这个session 就过时了, 需求重新登录。


手机端应用当然也能够模仿阅读器, 以同样的方式处置, 登录以后,就把效劳器发的session ID 保存起来, 下次访问其他接口时把这个session 发过去就能够了。


但是你认真想一下,手机和阅读器是不一样的: 手机端经常是登录以后, 能够长时间不操作(例如7天), session 也不会过时。


很多手机端应用能够坚持很长时间的会话状态, 例如7天以内不操作都不会过时, 7天以后才会请求重新登录。


这样效劳器针对阅读器搞的Cookie 超时时间 30分钟就太短了。


换句话说,手机端应用由于操作的特性, 需求坚持一个长会话(3天, 7天。。), 传统的session机制不适合。


这时分需求我们自己来设计完成一个会话的管理机制:


1. 手机端应用调用效劳器端的登录接口。


2. 效劳器生成一个token , token 能够经过算法设计成一个随机的字符串, 让黑客无法猜出。 效劳器把token 放到缓存或者数据库中, 设置一个过时时间,例如7天


3. 效劳器把token 发回给手机端


4. 手机端保存该token , 每次访问其他接口的时分需求把token 也发到效劳器端做认证, 假如效劳器端发现token 过时, 就会请求手机端重新登录


这样就完成了一个长时间的会话管理。



路过

雷人

握手

鲜花

鸡蛋
已有 0 人参与

会员评论

最新文章

文章列表

 名表回收网手机版

官网微博:名表回收网服务平台

今日头条二维码 1 微信公众号二维码 1 抖音小程序二维码 1
浙江速典奢贸易有限公司 网站经营许可证 备案号:浙ICP备19051835号2012-2022
名表回收网主要专注于手表回收,二手名表回收/销售业务,可免费鉴定(手表真假),评估手表回收价格,正规手表回收公司,浙江实体店,支持全国范围上门回收手表
返回顶部