有参考其他代码
# -*-coding:utf-8-*-
import requests
import base64
import hashlib
import urllib
import urllib2
import json
import get_api
import click
url="http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx"
def get_express_info(sc, lc):
data = {
'OrderCode': '',
'ShipperCode':sc,
'LogisticCode':lc
}
str_data = json.dumps(data)
sign = get_api._encrypt(str_data, "d72cb1c4-daba-4290-ad2f-a78b34e990f5")
params = {
'RequestData': str_data,
'EBusinessID': '1298264',
'RequestType': '1002',
'DataSign': sign,
'DataType': '2'
}
http_header = {
"Accept": "*/*",
"Connection": "Keep-Alive",
"Accept-Charset": "utf-8",
"Content-type": "application/x-www-form-urlencoded",
}
req = urllib2.Request(url, urllib.urlencode(params), http_header)
resp = urllib2.urlopen(req)
content = resp.read()
#logger.debug(content)
return json.loads(content)
def _encrypt(content, key_value):
data = (content + key_value).encode('utf-8')
#print(base64.urlsafe_b64encode(hashlib.md5(data).hexdigest().encode('utf-8')))
return base64.urlsafe_b64encode(hashlib.md5(data).hexdigest().encode('utf-8'))
def cli():
sc=click.prompt('please input the number of the company',value_proc=str,show_default='HHTT')
lc=click.prompt('please input the number of the express',value_proc=str,show_default='667758318190')
s=get_express_info(sc,lc)
print s['Reason']
print json.dumps(s,encoding='utf-8',ensure_ascii=False) #dict inline utf8 to chinese
cli()