快递鸟Java 接入

import json
import urllib
import urllib.request
import hashlib
import base64
import urllib.parse

此处为快递鸟官网申请的帐号和密码

APP_id = “1266271”
APP_key = “7526a46e-3a2a-4f5b-8659-d72f361e3386”

def encrypt(origin_data, appkey):
“”“数据内容签名:把(请求内容(未编码)+AppKey)进行MD5加密,然后Base64编码”""
m = hashlib.md5()
m.update((origin_data+appkey).encode(“utf8”))
encodestr = m.hexdigest()
base64_text = base64.b64encode(encodestr.encode(encoding=‘utf-8’))
return base64_text

def sendpost(url, datas):
“”“发送post请求”""
postdata = urllib.parse.urlencode(datas).encode(‘utf-8’)
header = {
“Accept”: “application/x-www-form-urlencoded;charset=utf-8”,
“Accept-Encoding”: “utf-8”
}
req = urllib.request.Request(url, postdata, header)
get_data = (urllib.request.urlopen(req).read().decode(‘utf-8’))
return get_data

def get_company(logistic_code, appid, appkey, url):
“”“获取对应快递单号的快递公司代码和名称”""
data1 = {‘LogisticCode’: logistic_code}
d1 = json.dumps(data1, sort_keys=True)
requestdata = encrypt(d1, appkey)
post_data = {
‘RequestData’: d1,
‘EBusinessID’: appid,
‘RequestType’: ‘2002’,
‘DataType’: ‘2’,
‘DataSign’: requestdata.decode()}
json_data = sendpost(url, post_data)
sort_data = json.loads(json_data)
return sort_data

def get_traces(logistic_code, shipper_code, appid, appkey, url):
“”“查询接口支持按照运单号查询(单个查询)”""
data1 = {‘LogisticCode’: logistic_code, ‘ShipperCode’: shipper_code}
d1 = json.dumps(data1, sort_keys=True)
requestdata = encrypt(d1, appkey)
post_data = {‘RequestData’: d1, ‘EBusinessID’: appid, ‘RequestType’: ‘1002’, ‘DataType’: ‘2’,
‘DataSign’: requestdata.decode()}
json_data = sendpost(url, post_data)
sort_data = json.loads(json_data)
return sort_data

def recognise(expresscode):
“”“输出数据”""
url = ‘http://testapi.kdniao.cc:8081/Ebusiness/EbusinessOrderHandle.aspx’
data = get_company(expresscode, APP_id, APP_key, url)
if not any(data[‘Shippers’]):
print(“未查到该快递信息,请检查快递单号是否有误!”)
else:
print(“已查到该”, str(data[‘Shippers’][0][‘ShipperName’])+"("+
str(data[‘Shippers’][0][‘ShipperCode’])+")", expresscode)
trace_data = get_traces(expresscode, data[‘Shippers’][0][‘ShipperCode’], APP_id, APP_key, url)
if trace_data[‘Success’] == “false” or not any(trace_data[‘Traces’]):
print(“未查询到该快递物流轨迹!”)
else:
str_state = “问题件”
if trace_data[‘State’] == ‘2’:
str_state = “在途中”
if trace_data[‘State’] == ‘3’:
str_state = “已签收”
print(“目前状态: “+str_state)
trace_data = trace_data[‘Traces’]
item_no = 1
for item in trace_data:
print(str(item_no)+”:”, item[‘AcceptTime’], item[‘AcceptStation’])
item_no += 1
print("\n")
return

while True:
code = input(“请输入快递单号(Esc退出):”)
code = code.strip()
if code == “esc”:
break
recognise(code)

快递100

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java接入MongoDB可以使用MongoDB官方提供的Java驱动程序,也称为Java MongoDB驱动程序或者Java MongoDB客户端。这个驱动程序提供了一组API,用于连接和操作MongoDB数据库。 以下是Java接入MongoDB的基本步骤: 1. 下载驱动程序:首先,你需要下载MongoDB的Java驱动程序。你可以从MongoDB官方网站上下载最新版本的驱动程序。 2. 导入驱动程序:将下载的驱动程序导入到你的Java项目中。你可以将驱动程序的JAR文件添加到你的项目的类路径中,或者使用构建工具(如Maven或Gradle)来管理依赖。 3. 连接MongoDB:使用驱动程序提供的API,创建一个MongoClient对象来连接MongoDB数据库。你需要指定MongoDB服务器的主机名和端口号。 ```java import com.mongodb.MongoClient; import com.mongodb.client.MongoDatabase; public class MongoDBExample { public static void main(String[] args) { // 连接MongoDB服务器 MongoClient mongoClient = new MongoClient("localhost", 27017); // 获取数据库对象 MongoDatabase database = mongoClient.getDatabase("mydb"); // 在这里可以进行数据库操作 // 关闭连接 mongoClient.close(); } } ``` 4. 执行数据库操作:通过MongoDatabase对象,你可以执行各种数据库操作,如插入文档、查询文档、更新文档和删除文档等。你可以使用MongoDB的查询语言(如find()和findOne())来执行查询操作,也可以使用插入、更新和删除操作符来执行相应的操作。 ```java import com.mongodb.client.MongoCollection; import org.bson.Document; public class MongoDBExample { public static void main(String[] args) { // 连接MongoDB服务器 MongoClient mongoClient = new MongoClient("localhost", 27017); // 获取数据库对象 MongoDatabase database = mongoClient.getDatabase("mydb"); // 获取集合对象 MongoCollection<Document> collection = database.getCollection("mycollection"); // 插入文档 Document document = new Document("name", "John Doe") .append("age", 30) .append("email", "[email protected]"); collection.insertOne(document); // 查询文档 Document query = new Document("name", "John Doe"); Document result = collection.find(query).first(); System.out.println(result); // 更新文档 Document update = new Document("$set", new Document("age", 31)); collection.updateOne(query, update); // 删除文档 collection.deleteOne(query); // 关闭连接 mongoClient.close(); } } ``` 这是一个简单的Java接入MongoDB的示例。你可以根据自己的需求,使用更多的API来进行更复杂的数据库操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值