调用阿里API实现全国快递物流查询

news2025/2/13 6:05:13

作者介绍

王梅(姓名),女(性别),西安工程大学电子信息学院,2022级研究生
研究方向:机器视觉与人工智能
电子邮件:1095647386@qq.com

王泽宇,男,西安工程大学电子信息学院,2022级研究生,张宏伟人工智能课题组
研究方向:机器视觉与人工智能
电子邮件:2717124491@qq.com

一. 阿里云OCR算法介绍

1.1 API简介

API(Application Programming Interface)API是应用程序接口,API可以被看作是两个软件系统之间的桥梁,它定义了一组规则和协议,使得不同的应用程序能够相互通信、共享数据和功能。
比如:当你去一家餐厅点餐,你不需要直接进入厨房和厨师交谈,而是通过服务员来传达你的需求。在这个例子中,服务员就像一个API,它作为一个中间人帮助你和厨师进行沟通和交流。
在这里插入图片描述

二.阿里API快递物流查询介绍

随着各大电商网购平台的发展,快递业已形成一个规模庞大的产业,据统计,全球快递企业已超过千家,而快递查询对于电商平台而言是最基础的功能之一,用户通过查询API接口提交快递单号后,查询API接口会调取快递公司的单号信息并返回此单号最新的物流信息,包括物流轨迹、配送状态、更新时间等。目前的主流方法都是调用第三方快递查询接口。快递查询API有即时查询和订阅查询两种,即时是请求即返回数据,订阅则是订阅快递单号到接口,有物流轨迹更新则全量返回数据。目前常用的有快递鸟、快递100、聚合数据、阿里云物流等。
(1)功能亮点
 全国快递物流查询服务,支持快递公司600+家,接口稳定,时效性高。
 主动发起查询请求返回最新物流详情,输入一个单号即可一键查询全程的物流轨迹信息。
 根据用户提交的快递单号,智能判断该单号所属快递公司。
 基于快递公司单号规则和千万级快递单号大数据,单号识别率超过98%。
(2)应用场景举例
在这里插入图片描述

三. 调用全国快递查询API

(1)注册/登录阿里云,可选择支付宝扫码登录和手机号验证登录。
(2)打开阿里云官网选择,云市场-API-全国快递物流查询
在这里插入图片描述
在这里插入图片描述
(3)选择立即购买-实名认证
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
(4)首页-买家中心-进入管理控制台-已购买服务-获取Appcode
在这里插入图片描述
(5) 在产品界面下拉获取Python代码
在这里插入图片描述
(6)请求参数
在这里插入图片描述
(7)返回结果
在这里插入图片描述

四.实验代码及结果

4.1代码

import requests

host = 'https://wuliu.market.alicloudapi.com'
path = '/kdi'
method = 'GET'
appcode = 'ebffbc29cb4d46af85a3634895d3a03a'  # 开通服务后 买家中心-查看AppCode
querys = 'no=YT1804657706443'  # 请求参数
bodys = {}  # 定义了一个空字典,用于存储请求的body参数
url = host + path + '?' + querys  # 构建了完整的URL,包括主机、路径和查询参数
header = {"Authorization": 'APPCODE ' + appcode}
try:
    res = requests.get(url, headers=header)
except:
    print("URL错误")
    exit()  # 发送了GET请求,并将结果存储在res变量中。如果在发送请求时出现错误,会打印"URL错误"并退出程序
httpStatusCode = res.status_code  # 获取状态码

if httpStatusCode == 200:  # 如果状态码为200,表示请求成功,打印"正常请求计费(其他均不计费)",并打印响应的文本内容
    print("正常请求计费(其他均不计费)")
    print(res.text)
else:
    httpReason = res.headers['X-Ca-Error-Message']  # 进一步判断错误原因
    # 根据状态码和错误原因,判断出现的具体错误,并打印相应的错误信息
    if httpStatusCode == 400 and httpReason == 'Invalid Param Location':
        print("参数错误")
    elif httpStatusCode == 400 and httpReason == 'Invalid AppCode':
        print("AppCode错误")
    elif httpStatusCode == 400 and httpReason == 'Invalid Url':
        print("请求的 Method、Path 或者环境错误")
    elif httpStatusCode == 403 and httpReason == 'Unauthorized':
        print("服务未被授权(或URL和Path不正确)")
    elif httpStatusCode == 403 and httpReason == 'Quota Exhausted':
        print("套餐包次数用完")
    elif httpStatusCode == 403 and httpReason == 'Api Market Subscription quota exhausted':
        print("套餐包次数用完,请续购套餐")
    elif httpStatusCode == 500:
        print("API网关错误")
    else:
        print("参数名错误 或 其他错误")
        print(httpStatusCode)
        print(httpReason)

4.2结果

D:\anconada\python.exe "C:/Users/10956/Desktop/各科作业/第二学期/AI-Course/AILI API/test.py"
正常请求计费(其他均不计费)
{"status":"0","msg":"ok","result":{"number":"780098068058","type":"zto","list":[{"time":"2018-03-09 11:59:26","status":"【石家庄市】 快件已在 【长安三部】 签收,签收人: 本人, 感谢使用中通快递,期待再次为您服务!"},{"time":"2018-03-09 09:03:10","status":"【石家庄市】快件已到达【长安三部】(0311-85344265),业务员 容晓光(15908220064)正在第1次派件"},{"time":"2018-03-08 23:43:44","status":"【石家庄市】 快件离开 【石家庄】 发往 【长安三部】"},{"time":"2018-03-08 21:00:44","status":"【石家庄市】 快件到达 【石家庄】"},{"time":"2018-03-07 01:38:45","status":"【广州市】 快件离开 【广州中心】 发往 【石家庄】"},{"time":"2018-03-07 01:36:53","status":"【广州市】 快件到达 【广州中心】"},{"time":"2018-03-07 00:40:57","status":"【广州市】 快件离开 【广州花都】 发往 【石家庄中转】"},{"time":"2018-03-07 00:01:55","status":"【广州市】 【广州花都】(020-37738523) 的 马溪 (18998345739) 已揽收"}],"deliverystatus":"3","issign":"1","expName":"中通快递","expSite":"www.zto.com","expPhone":"95311","courier":"容晓光","courierPhone":"15908220064","updateTime":"2019-08-27 13:56:19","takeTime":"2天20小时14分","logo":"https://img3.fegine.com/express/zto.jpg"}}

进程已结束,退出代码 0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/639598.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一文让你轻松拿捏 Spring MVC

博主介绍: ✌博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家✌ Java知识图谱点击链接:体系化学习Java(Java面试专题) 💕💕 感兴趣的同学可以收…

高完整性系统——霍尔逻辑

文章目录 霍尔三元组案例1案例2 逻辑推导规则forward v.s. backwardforwardbackward rule of assignmentrules of consequence结合上述两个 rulerule of sequencing更大的程序案例skip ruleconditional rule案例 要证明这个程序需要从上往下进行,先单独证明 f:1, i:…

你“被”全链路了么?全链路压测实践之理论

要说当下研发领域最热门的几个词,全链路压测 肯定跑不了。最近的几次大会上,也有不少关于全链路的议题。之前有朋友在面试过程中也有被问到了什么是全链路压测,如何有效的开展全链路压测。今天我们就来聊聊全链路压测,但本文不会涉…

Redis.conf 详解

我们启动 Redis,一般都是通过 Redis.conf 启动。 因此,我们必须了解 Redis.conf 的配置,才能更好理解和使用 Redis。 单位 单位注意事项:当需要内存大小时,可以指定为1k 5GB 4M等 通常形式: 1k > 1000字…

搜索在计算机中的地位十分重要

无论是在内部系统还是在外部的互联网站上,都少不了检索系统。数据是为了用户而服务。计算机在采集数据,处理数据,存储数据之后,各种客户端的操作pc机或者是移动嵌入式设备都可以很好的获取数据,得到 想要的数据服务。 …

k8s学习-CKS考试必过宝典

目录 CKS考纲集群安装:10%集群强化:15%系统强化:15%微服务漏洞最小化:20%供应链安全:20%监控、日志记录和运行时安全:20% 报名模拟考试考试注意事项考前考中考后 参考 CKS考纲 集群安装:10% 使…

数据库技术及应用小科普(附部分例题)

数据库的基础 介绍 (手机撰写,多有不便,求铁铁们多多包涵)图书目录部分期末习题 介绍 (手机撰写,多有不便,求铁铁们多多包涵) 内容简介 《数据库技术及应用教程》系统地介绍了数据库…

【每日挠头算法题(5)】重新格式化字符串|压缩字符串

欢迎~ 一、重新格式化字符串思路1:构造模拟具体代码如下: 思路2:双指针法具体代码如下: 二、字符串压缩思路1:简单替换 总结 一、重新格式化字符串 点我直达~ 思路1:构造模拟 1.遍历字符串,…

iOS横竖屏切换

基础概念UIDeviceOrientationUIInterfaceOrientationUIInterfaceOrientationMaskUIViewController相关AppDelegate相关工程配置相关 横竖屏切换实例竖屏界面如何present横屏界面竖屏界面如何push横屏界面横屏竖切换机制分析系统如何知道App对界面朝向的支持不同界面的朝向控制自…

Qt学习06:QPainter绘画

文章首发于我的个人博客:欢迎大佬们来逛逛 Qt学习06:QPainter绘画 Qt绘图 Paint System Qt的绘制系统支持在屏幕和打印设备上使用相同的API进行绘制,主要基于QPainter、QPaintDevice和QPaintEngine类。 QPainter用于执行绘图操作&#xff…

JAVA基础 - SPI机制使用详解(三)

简述 SPI(Service Provider Interface的缩写) 意思是:“服务提供者的接口”,专门提供给服务提供者或者扩展框架功能的开发者去使用的接口。SPI 将服务接口和服务实现分离开来,将服务调用方和服务实现方进行解耦&#…

Rocketmq面试(四)RocketMQ 的推模式和拉模式有什么区别?

一、PUSH模式 public class Consumer {public static void main(String[] args) throws InterruptedException, MQClientException {// 初始化consumer,并设置consumer group nameDefaultMQPushConsumer consumer new DefaultMQPushConsumer("please_rename_…

基于STM32的重力感应售货机系统设计

一、项目介绍 随着智能物联网技术的不断发展,人们的生活方式和消费习惯也正在发生改变。如今越来越多的人习惯于在线购物、自助购物等新型消费模式,因此智能零售自助柜应运而生。 本项目设计开发一款基于STM32主控芯片的智能零售自助柜,通过…

哪吒汽车,莫做“普信男”

作者 | 魏启扬 来源 | 洞见新研社 今年初,哪吒汽车创始人方运舟和张勇联合发表新年致辞,文末总结说 “2023-2025年,必将是一场艰难的挑战,也是哪吒汽车的生死存亡之战。” 哪吒汽车或许过于敏感了,就今年以来的市场表…

Tensorflow两步安装(超简单)

一、查看python版本,下载对应tensorflow文件 1.Anaconda已安装,找到Anaconda3文件夹,双击打开anaconda prompt,输入python,查看python版本 可以看到我的版本是3.9的 2.进入下面的网站,选择你需要的cpu或g…

【appium】appium自动化入门之API(下)——两万字API长文,建议收藏

目录 Appium API 前言 1.contexts (返回当前会话中的上下文,使用后可以识别 H5 页面的控件) 2.current_context (返回当前会话的当前上下文 ) 3. context (返回当前会话的当前上下文) 4.find_e…

Django-搭建sysinfo获取系统信息

文章目录 前言一、项目搭建二、主机信息监控三、Celery定时任务和异步任务 前言 本篇基于:https://github.com/hypersport/sysinfo#readme 使用Django,搭建sysinfo,Linux中,sysinfo是用来获取系统相关信息的结构体 一、项目搭建 &#xff0…

CV方向如何找到适合自己的研究创新点?

做CV的论文创新的一些思路与方向。分别是无事生非,后浪推前浪,推陈出新,出奇制胜。 无事生非 在原始的数据集上加一些噪声,例如随机遮挡,或者调整饱和度亮度什么的,主要是根据具体的任务来增加噪声或扰动&a…

大模型LLM-微调经验分享总结

模型越大对显卡的要求越高,目前主流对大模型进行微调方法有三种:Freeze方法、P-Tuning方法和Lora方法。笔者也通过这三种方法,在信息抽取任务上,对ChatGLM-6B大模型进行模型微调。liucongg/ChatGLM-Finetuning: 基于ChatGLM-6B模型…

I/O设备详解

目录 一. 什么是IO设备 二. IO设备分类 2.1按照使用特性分类 2.2按照传输速率分配 2.3按照信息交换的单位分类 三. IO设备的构成 3.1 IO的机械部件 3.2 IO的电子部件 3.2.1设备控制器(IO控制器功能简介) 3.2.2设备控制器(IO控制器&…