java 单机接口限流处理方案
331
2022-06-07
如有转载,请标明来自此出处http://blog.csdn.net/qxs965266509,必须注意!
爱查快递API使用说明文档API地址:
以前:http://api.ickd.cn/?com=[]&nu=[]&id=[]&type=[]&encode=[]&ord=[]&lang=[]
目前:http://api.ickd.cn/?id=[]&secret=[]&com=[]&nu=[]&type=[]&encode=[]&ord=[]&lang=[]
参数说明
字段
是否必须
说明com必须快递公司代码(英文),所支持快递公司见如下列表nu必须快递单号,长度必须大于5位id
secret必须
必须授权的id
授权KEY,申请请点击快递查询API申请方式type可选返回结果类型,值分别为 html | json(默认) | text | xmlencode可选gbk(默认)| utf8ord可选asc(默认)|desc,返回结果排序lang可选
en
返回英文结果,目前仅支持部分快递(EMS、顺丰、DHL)
注意:
使用PHP的json_decode函数时必须使用UTF8的编码,如果出现json_decode失败,请尝试使用UTF8编码。返回格式格式:
json
| text | html | xml
编码:
GBK
| UTF8
示例:{"status":"3","message":"","errCode":"0","data":[{"time":"2013-02-23 17:10","context":"辽宁省大连市中山区四部公司 的收件员 王光 已收件"},{"time":"2013-02-24 17:59","context":"辽宁省大连市公司 已收入"},{"time":"2013-02-24 18:11","context":"辽宁省大连市中山区四部公司 已收件"},{"time":"2013-02-26 07:33","context":"吉林省长春市景阳公司 的派件员 张金达 派件中 派件员电话15948736487"},{"time":"2013-02-26 16:47","context":"客户 同事收发家人 已签收 派件员 张金达"}],"html":"","mailNo":"7151900624","expTextName":"圆通快递","expSpellName":"yuantong","update":"1362656241","cache":"186488","ord":"ASC"}字段说明
字段
类型
说明statusint查询结果状态,0|1|2|3|4,0表示查询失败,1正常,2派送中,3已签收,4退回,5其他问题errCodeint错误代码,0无错误,1单号不存在,2验证码错误,3链接查询服务器失败,4程序内部错误,5程序执行错误,6快递单号格式错误,7快递公司错误,10未知错误messagestring错误消息dataarray进度htmlstring其他HTML,该字段不一定存在mailNostring快递单号expSpellNamestring快递公司英文代码expTextNamestring快递公司中文名updateint最后更新时间(unix 时间戳)cacheint缓存时间,当前时间与 update 之间的差值,单位为:秒ordstring排序,ASC | DESCphp应用示例
若服务器禁用了file_get_contents和fsockopen等函数,可使用CURL类,示例如下:
ASP应用示例
<% Response.Charset="gb2312" Server.ScriptTimeout = 999999999
Dim Retrieval Dim url,nu,com com = Request("com")'公司 nu = Request("nu")'单号
Dim AppKey,SendURL,ResponseTxt AppKey = "xxxxxxxxxx" '请将XXXXXX替换成您在http://ickd.cn/reg.html申请到的KEY SendURL ="http://api.ickd.cn/?id="&AppKey&"&com="&com&"&nu="&nu&"&type=json&encode=GBK"'如果使用UTF8,请确保encode=utf8 'Response.Write SendURL
'发送数据 ResponseTxt=fopen(SendURL) '//获取源代码的函数
'调用发送数据组件 Function fopen(URL) Dim objXML 'Set objXML=CreateObject("MSXML2.SERVERXMLHTTP.3.0") '调用XMLHTTP组件,若服务器不支持,请换用以下两个中的一个再试 Set objXML=Server.CreateObject("Microsoft.XMLHTTP") 'Set objXML=Server.CreateObject("MSXML2.XMLHTTP.4.0") 'objXML.SetTimeouts 5000, 5000, 30000, 10000' 解析DNS名字的超时时间,建立Winsock连接的超时时间,发送数据的超时时间,接收response的超时时间。单位毫秒 objXML.Open "GET",URL,False '以同步方式获取API查询数据 objXML.Send() '发送 If objXML.Readystate<>4 Then '状态不为4,错误 Response.Write "{status:0,errCode:100,message:'获取数据出错'}" Exit Function End If 'Readystate属性,传回XML文件资料的目前状况,返回值分别有以下: '0-UNINITIALIZED:XML 对象被产生,但没有任何文件被加载。 '1-LOADING:加载程序进行中,但文件尚未开始解析。 '2-LOADED:部分的文件已经加载且进行解析,但对象模型尚未生效。 '3-INTERACTIVE:仅对已加载的部分文件有效,在此情况下,对象模型是有效但只读的。 '4-COMPLETED:文件已完全加载,代表加载成功。 fopen=objXML.ResponseBody fopen=BytesToBstr(objXML.ResponseBody)'返回信息,同时用函数定义编码,如果您需要转码请选择 Set objXML=Nothing'关闭 If Err.number<>0 Then Response.Write "{status:0,errCode:100,message:'获取数据出错'}" Err.Clear End If End Function
'页面编码转换 Function BytesToBstr(body) Dim objstream Set objstream = Server.CreateObject("Adodb.Stream") '//调用adodb.stream组件 objstream.Type = 1 objstream.Mode =3 objstream.Open objstream.Write body objstream.Position = 0 objstream.Type = 2 objstream.Charset = "GBK" '转换原来默认的编码转换成GB2312编码,否则直接用XMLHTTP调用有中文字符的网页得到的将是乱码 BytesToBstr = objstream.ReadText objstream.Close Set objstream = Nothing End Function
'输入查询结果 Response.Write ResponseTxt %>
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~