本文主要是介绍往期彩票查询,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近在想开发一个什么样的android应用,作为我的第一个正式android小应用,后来就想到了以前买彩票的时候,总想查询一下自己选的这个号以前中过没有。可惜的是官网上面只有没法这样查询,于是决定就拿这个想法作为第一个正式的android小应用。
需求描述如下:
名称:我中了
描述:虽然名字是我中了,其实是个往期彩票查询应用,根据输入的彩票,给出在往期的中奖结果。供大家消遣和参考。
系统架构:
- 分为客户端和服务端架构
- 服务端采用REST框架为客户端提供查询功能,客户端是android应用,实现用户界面功能。
- 服务端的功能包括两大块:后台收集往期彩票数据和REST查询结构
- 客户端的功能主要是接收用户输入,然后调用服务端接口查询,给出结果。
技术选择:
- 为什么选择REST而不是SOAP
选择REST是因为REST方便,适合资源类WEB服务,而SOAP实现的WEB服务比较适合操作类的。
- 如何为REST提供安全性
API Key
当用户注册之后,会给用户一个API Key。这个API Key会附在每个请求的url后面,这个方式的缺点是如果某个人知道你的API Key之后,他就能伪装成那个用户了。 但是如果你的API请求是使用HTTPS(SSL)的方式,就可以避免你的API Key被别人获取了。
API Key + Secret Key签名
比上一种跟复杂的一种方式就是用一个secret key去签名每一刻API URL请求,Amazon Web Services就是使用这种方式。当用户注册完后, 你会给用户2个keys:API Key(比如:username)和secret key(比如password),API key会附在每个请求url上面,但是secret key
不会。secret key是用来签名每个请求的。通常会加上另外一个参数比如(Signature)。
Amazon会把所有的请求信息作为请求的参数,然后按照参数名排序,再按照secret key进行hash。这个hash的值会作为一个新的参数(Signature)附加到请求的url上。在server端做相同的事情,获得所有的参数(除了Signature),排序,用sercet key hash,如果这个值跟传过来的Signature参数的值相等的话,则认为这个请求是合法的。
这篇关于往期彩票查询的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!