请求说明:
加密顺序
返回参数说明:
名称 | 必填 | 类型 | 说明 | 示例 |
---|---|---|---|---|
api_auth | 否 | Integer | 授权方式:1 按次,2按月,0免费 | 月 |
api_id | 否 | Integer | 接口的唯一标识 | 105 |
api_name | 否 | String | 接口名称 | 全国城市概要简介 |
available | 否 | Integer | 可用次数或者到期日期,按次计费的接口显示的是可用次数,按月计费的显示的是到期日期 | 2020-10-09 |
codeid | 否 | Integer | 状态码,返回10000状态都会进行计费。具体说明可查看状态码说明 | 10000 |
curtime | 否 | String | 当前服务器时间戳 | 1605170402 |
message | 否 | String | 请求状态说明 | 操作成功! |
retdata | 否 | Array | 回数据集合,可能是数据、对象或者字符串 |
JSON返回示例:
服务器状态码:
状态码 | 说明 |
---|---|
10019 | 发生错误:{@info} |
10010 | 您没有订购该api |
10014 | 未知的错误,可以联系客服处理 |
10004 | 时差不能超过10分钟,可以不传递这个参数,注意时间戳单位是秒 |
10007 | 应用被禁用,请联系客服处理 |
10006 | 当前IP地址未授权,请前往用户中心->我的应用添加ip |
10013 | 该接口已经暂停使用 |
10002 | sign值必须指定,加密规则请前往帮助中心查看 |
10017 | time必须是整型 |
10000 | 返回成功 |
10020 | 子接口不存在,可能已经被关闭 |
10003 | sign值验证不通过,加密规则请前往帮助中心查看 |
10015 | 参数个数错误 |
10008 | 应用内没有该接口,请到我的应用里面添加这个接口 |
10011 | api已经到期 |
10012 | 没有订购任何api,请前往购买后再操作 |
10005 | appid错误,请检查appid值,前往会员中心->我的应用查看或添加 |
10018 | 次数不足 |
10001 | appid必须指定,可以我的应用里面查看 |
10021 | 服务器发生错误 |
10009 | api接口不存在 |
请选择开发语言:
$api_url = 'https://登录后显示/api/67/245'; $appid = '应用id';// 在后台我的应用查看; $secret = '应用密钥';// 在后台我的应用查看; $data = array( 'appid'=> '1', 'format'=> 'json', ); $data['appid'] = $appid; $data['time'] = time();//当前服务器时间 ksort($data); //按照键名对数组排序,为数组值保留原来的键。 $md5String = ''; foreach($data as $key=>$val){ if(strlen($val)>0){ //过滤空值 $md5String.=$key.$val; } } $sign = md5($md5String.$secret); $data['sign'] = $sign; $sendUrl = $api_url.'?'.http_build_query($data); //把数据转换成url参数形式,a=b&c=d&e=f $result = file_get_contents($sendUrl); print_r($result);
#!/usr/bin/python3 # -*- coding: UTF-8 -*- #该代码为python3.7示例代码 import ssl,time,hashlib,string from urllib import request,parse,error; from urllib.parse import quote api_url = 'https://登录后显示/api/67/245'; appid = '应用id';#在后台我的应用查看; secret = '应用密钥';#在后台我的应用查看; data = { 'appid':'1', 'format':'json', }; data['appid'] = appid; data['time'] = round(time.time());#当前服务器时间 keysArr = list(data.keys()) #取出字典key keysArr.sort()#对字典key进行排序 md5String = ''; params = [] for key in keysArr: if data[key]: val = str(data[key]) md5String+=key+val params.append(key + "=" + val ) md5String += secret; m = hashlib.md5() b = md5String.encode(encoding='utf-8') m.update(b) sign = m.hexdigest() params.append('sign='+sign)#加入计算后的sign值去请求 params = '&'.join(tuple(params)); #把列表转成元组后用&分隔,最终转换成字符串 a=b&c=d&e=f ssl._create_default_https_context = ssl._create_unverified_context url = api_url+'?'+params; url = quote(url, safe=string.printable) req = request.Request(url) opener = request.build_opener() r = opener.open(fullurl=req) doc = r.read(); print(doc.decode('utf-8'))