电信天翼提供了很好的福利:免费的短信验证码。这里很多因为收费短线花钱而心疼的各位屌丝们就不用急得卧槽卧槽的拉。
但电信方面还没有针对iOS的专门的演示demo。
注册什么的芭啦芭啦的我就不说了。
初次看电信的开发文档一时凌乱无比,就算电信是我朝的牛逼产业也不用绕那么多弯子才完成一次请求吧。
首先分析一下这里面的参数发现只有exp_time是不必要参数,说明上是有效期,自行设置参数可以先不管
qpp_id,这个是注册的时候给你的,相当于你的账号
access_token和token还有sign后面说
phone是你要发送的目标号码
url这个是后台给出的用于存放验证码的,只做前段的骚年可以让你的后台研究一下给你开个接口,这个是必须的
timestamp时间搓 一定要看清楚时间搓的格式不然电信就凌乱了
下面开始讲重点的几个参数
access_token是令牌,一次单独的请求,服务端要先授权才能请求,移动端可以直接请求
token是信任码,也是一次单独的请求
sign是编码,文档是说将本接口所有的请求参数除了sign外进行字典排序后再经过两次编码所得到的数据,本接口所有的参数作为字典值,用户密钥作为key。
现在就从头开始做一次半完整的请求,先请求令牌
首先解决时间搓timestamp
设置请求相关选项
数据请求回来取出令牌
信任码的请求需要令牌
因为令牌的请求不需要sign,所以这里开始着重说一下sign的拼接和编码
将所有的请求参数按照字典升序排号作为值,密钥作为key开始进行编码,顺序千万不要排错
-(NSString *)didBase64WithSign:(NSString*)signkey:(NSString*)key返回的就是一个BASE64(HMAC-SHA1("bar=2&baz=3&foo=1","appSecret"))双层的编码需要引入的苹果自己的框架
#import <CommonCrypto/CommonCryptor.h>
#import <CommonCrypto/CommonHMAC.h>
这两个框架进行内层的HMAC-SHA1编码
第三方的base64编码,这个就不用介绍了
#import "GTMBase64.h"
编码如下
接着就是按部就班的请求了
到这里access_token和taoken都已经请求获得,但是我们天杀的后台不给我做回调接口,所有后面的工作已无法进行,但工作到此已经没有什么难点,sign的编码可以参照获取token的方式编写.下面是几次请求所获得的参数
2013-11-02 16:37:04.237 TianyiMessage[1104:1303] access_token = 57fa5ba9aa37a22a63169ff482ed553c1383041609746
2013-11-02 16:37:04.237 TianyiMessage[1104:1303] hash = nsZpg2zkQSR4ap16rnYyUNOgUDU=
2013-11-02 16:37:04.394 TianyiMessage[1104:530b] token = 911daa8d-c77a-17f4-c794-c3841570a1b8
demo下载地址
http://download.csdn.net/detail/map625/6860793