api访问必须要经过身份验证

目前已经成功封装了java、C#、php三种语言的api(AllcomUtil)库,用户可以直接下载下来使用。
其它语言可以根据以下说明自行编写。

认证方式用三种:分别为basic模式,md5模式,des模式,即在http头上加上Authorization信息.
Authorization: basic base64(userid:password)
Authorization: md5 base64(userid:md5(password))
Authorization: des base64(userid:des(password$curtime))
 

认证参数说明

参数 说明
userid 登录账号
password 密码
curtime 为unix的时间戳,'1970-01-01 00:00:00' GMT开始的豪秒数值,是13位长度的数字

 

Basic模式: Authorization basic base64(userid:password)

Authorization的值为”basic”加上一个空格,然后是userid和用户密码明码,以”:”分隔
优点:开发简单。
缺点:密码明码容易被第三方截获到。

md5模式:Authorization: md5 base64(userid:md5(password))

Authorization的值为”md5”加上一个空格,然后是userid和md5之后的密码,以”:”分隔
优点:开发简单,不容易直接被拿到明码密码,安全性稍高
缺点:容易被第三方截获到md5之后的密码,有可能被暴力破解。

des模式:Authorization: des base64(userid:des(password$curtime))

Authorization的值为”des”加上一个空格,然后是userid,然后是分号”:”,然后是将密码与curtime的des加密值(密码与curtime之间以”$”分隔),des的key可以登录到web服务器上进行生成.
优点:安全性高。
缺点:开发难度稍大。需要了解des加密的方法。

http头示例
示例账号:jun@gfax.cn, 密码:mxjunolkd, deskey: ttttaaaa
Request:
GET /querytask/interface-jun@gfax.cn1367477402687/xml HTTP/1.1
Host: api.gfax.cn:8088
Connection: keep-alive
Accept: text/html, */*
Authorization: basic anVuQGdmYXguY246bXhqdW5vbGtk

Response:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<gfaxroot>
    <status>-1</status>
    <description>没有找到任务</description>
</gfaxroot>
Request:
GET /querytask/interface-jun@gfax.cn1367477402687/xml HTTP/1.1
Host: api.gfax.cn:8088
Connection: keep-alive
Accept: text/html, */*
Authorization: md5 anVuQGdmYXguY246MGRjMjhkZWU2N2Q1ZTc1NjdlOWQ5YWE2Zjg3YjNlOWU=

Response:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<gfaxroot>
    <status>-1</status>
    <description>没有找到任务</description>
</gfaxroot>
Request:
GET /querytask/interface-jun@gfax.cn1367477402687/xml HTTP/1.1
Host: api.gfax.cn:8088
Connection: keep-alive
Accept: text/html, */*
Authorization: des anVuQGdmYXguY246WnBzMjJ5WHhMTnY1QjBqZ3E2KzI5RGlxeXRQOFoxRXQ=

Response:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<gfaxroot>
    <status>-1</status>
    <description>没有找到任务</description>
</gfaxroot>

服务器支持http和https两种访问模式。

接口的所有http连接都必须经过认证,认证方式就是在http请求的头上加上Authorization信息。如果认证失败,服务器会返回403错误。