当前位置: 首页 > news >正文

利用python调接口获取物流标签,并转成PDF保存在指定的文件夹。

需求

  1. 调用get label 接口
  2. 将接口返回的base64文件转换成pdf
  3. 文件命名用接口返回值的单号命名保存再指定的文件夹重

实现代码

# -*- coding: utf-8 -*-
import requests
import base64
import os
import json  # 新增json模块导入url = "http://releasud.com/api/label/LableApi/GalProcess"  # 替换为实际API地址
headers = {"Content-Type": "application/json","token": "MjAxNjA4MDkxBRDJBOThFNjVCMDBDNTc2OURCM0U3NA=="
}
body = {"TrackNumber": "F7532425032000IA","IsNeedLable": True  # 注意字段名与文档一致(原需求可能有拼写错误)
}try:# 发送请求response = requests.post(url, json=body, headers=headers)response.raise_for_status()  # 检查HTTP状态码response_data = response.json()# 调试:打印完整响应print("完整响应内容:\n", json.dumps(response_data, indent=2, ensure_ascii=False))# 检查关键字段结构if "Data" not in response_data:print("错误:响应中缺少Data字段")exit()data = response_data["Data"]label_encoded = data.get("Label")channel_trace_id = data.get("ChannelTraceId")msg = data.get("Msg", "无附加信息")# 检查Label是否为nullif label_encoded is None:print(f"错误:标签未生成,原因 -> {msg}")exit()if channel_trace_id is None:print("错误:ChannelTraceId为空")exit()# 解码并保存try:label_pdf = base64.b64decode(label_encoded)except Exception as e:print(f"Base64解码失败: {e}")exit()os.makedirs("Label", exist_ok=True)file_path = os.path.join("Label", f"{channel_trace_id}.pdf")with open(file_path, "wb") as f:f.write(label_pdf)print(f"文件保存成功: {file_path}")except ValueError as e:  # 兼容所有JSON解析错误(新版requests抛JSONDecodeError,旧版抛ValueError)print(f"错误:响应不是有效的JSON格式 -> {e}")print("原始响应内容:", response.text)
except requests.exceptions.RequestException as e:print(f"请求失败: {e}")
except KeyError as e:print(f"响应字段缺失: {e}")
except Exception as e:print(f"未知错误: {e}")

运行结果:

D:\PYTHON-学习\邮政接口压力测试脚本\pythonProject1\.venv\Scripts\python.exe D:\PYTHON-学习\邮政接口压力测试脚本\pythonProject1\huoqu_Label.py 
完整响应内容:{"Status": 1,"Data": {"Label": null,"Msg": "F7532425032000IA未查询到单号信息!","ChannelTraceId": null,"ServiceProviderName": null},"ErrCode": null,"ErrMsg": null
}
错误:标签未生成,原因 -> F7532425032000IA未查询到单号信息!进程已结束,退出代码为 0

相关文章:

利用python调接口获取物流标签,并转成PDF保存在指定的文件夹。

需求 调用get label 接口将接口返回的base64文件转换成pdf文件命名用接口返回值的单号命名保存再指定的文件夹重 实现代码 # -*- coding: utf-8 -*- import requests import base64 import os import json # 新增json模块导入url "http://releasud.com/api/label/Lab…...

31天Python入门——第15天:日志记录

你好,我是安然无虞。 文章目录 日志记录python的日志记录模块创建日志处理程序并配置输出格式将日志内容输出到控制台将日志写入到文件 logging更简单的一种使用方式 日志记录 日志记录是一种重要的应用程序开发和维护技术, 它用于记录应用程序运行时的关键信息和…...

“自动驾驶背后的数学” 专栏导读

专栏链接: 自动驾驶背后的数学 专栏以“自动驾驶背后的数学”为主题,从基础到深入,再到实际应用和未来展望,全面解析自动驾驶技术中的数学原理。开篇用基础数学工具搭建自动驾驶的整体框架,吸引儿童培养兴趣&#xff0…...

Redis中的数据类型与适用场景

目录 前言1. 字符串 (String)1.1 特点1.2 适用场景 2. 哈希 (Hash)2.1 特点2.2 适用场景 3. 列表 (List)3.1 特点3.2 适用场景 4. 集合 (Set)4.1 特点4.2 适用场景 5. 有序集合 (Sorted Set)5.1 特点5.2 适用场景 6. Redis 数据类型的选型建议结语 前言 Redis 作为一款高性能的…...

python并发爬虫

爬虫多线程方法生成 from threading import Threaddef func(name):for i in range(100):print(f"{name}完成了{i}项任务")if __name__ __main__:t1 Thread(targetfunc, args(老杨,))t2 Thread(targetfunc, args(老李,))t3 Thread(targetfunc, args(老孙,))t1.st…...

react-create-app整合windicss

引用:https://blog.csdn.net/gitblog_00339/article/details/142544145 package.json: "react": "^19.0.0","react-dom": "^19.0.0","react-scripts": "5.0.1","typescript": "^4.9.5…...

fircrawl本地部署

企业内部的网站作为知识库给dify使用,使用fircrawl来爬虫并且转换为markdown。 ​ git clone https://github.com/mendableai/firecrawl.gitcd ./firecrawl/apps/api/ cp .env.example .env cd ~/firecrawl docker compose up -d 官方: https://githu…...

Linux 设备分类详解:字符设备、块设备与网络设备解析

引言 在嵌入式 Linux 领域,设备驱动程序是操作系统与硬件之间的桥梁。Linux 设备按照不同的访问方式和特性可以划分为字符设备、块设备和网络设备。理解它们的分类及特性,对于开发 Linux 设备驱动和操作底层硬件至关重要。本文将深入解析这三大类设备的…...

抽象的算法0.1.3.2版本

前言: 公式:(基础 基础 基础 ...更多的基础) 维度(影响因素) 问题 将问题分解成一个个基础和变量,便可轻松解决问题 ————不知名的作者 因为实在是写不出来了,所以直…...

JSON简介及C++中的JSON使用指南

1. 什么是JSON? JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用文本格式存储和传输数据。它易于人阅读和编写,同时也易于机器解析和生成。JSON广泛应用于Web API、配置文件、数据存储等领域。 JS…...

责任链模式-java

1、spring依赖注入模式 @Configuration public class ChainConfig {@Beanpublic ChainSpringFactory chainSpringFactory(List<IHandler<DemoOne,Boolean>> handlerList){return new ChainSpringFactory(handlerList);}} public class DemoOne { }public abstract…...

精华贴分享|从不同的交易理论来理解头肩形态,殊途同归

本文来源于量化小论坛策略分享会板块精华帖&#xff0c;作者为孙小迪&#xff0c;发布于2025年2月17日。 以下为精华帖正文&#xff1a; 01 前言 学习了一段时间交易后&#xff0c;我发现在几百年的历史中&#xff0c;不同门派的交易理论对同一种市场特征的称呼不一样&#x…...

Oracle归档配置及检查

配置归档位置到 USE_DB_RECOVERY_FILE_DEST&#xff0c;并设置存储大小 startup mount; !mkdir /db/archivelog ALTER SYSTEM SET db_recovery_file_dest_size100G SCOPEBOTH; ALTER SYSTEM SET db_recovery_file_dest/db/archivelog SCOPEBOTH; ALTER SYSTEM SET log_archive…...

Apache HttpClient使用

一、Apache HttpClient 基础版 HttpClients 是 Apache HttpClient 库中的一个工具类&#xff0c;用于创建和管理 HTTP 客户端实例。Apache HttpClient 是一个强大的 Java HTTP 客户端库&#xff0c;用于发送 HTTP 请求并处理 HTTP 响应。HttpClients 提供了多种方法来创建和配…...

STM32C011 进入停止模式和待机模式

对于STM32C011J4M3微控制器&#xff0c;你可以使用HAL库来实现进入停止模式&#xff08;Stop Mode&#xff09;和待机模式&#xff08;Standby Mode&#xff09;。下面是进入停止模式和待机模式的示例代码&#xff1a; 进入停止模式代码示例&#xff1a; #include "stm3…...

2. 初识go-zero

介绍 go-zero 是一个集成了各种工程实践的 web 和 rpc 框架。通过弹性设计保障了大并发服务端的稳定性&#xff0c;经受了充分的实战检验。 go-zero 中的 api&#xff0c;rpc&#xff0c;数据库等涉及的代码&#xff0c;都可以给我们一键生成&#xff0c;无需耗费我们什么精力…...

【身份安全】零信任安全框架梳理(一)

目录 零信任网络安全防护理念一、定义零信任原则 二、零信任实现方式三、零信任的核心机制和思想1. 持续验证&#xff08;Continuous Verification&#xff09;2. 多因素认证&#xff08;MFA&#xff09;与强身份验证3. 细粒度权限控制&#xff08;最小权限原则&#xff09;4. …...

Ansys Zemax | 联合Speos实现供应商与OEM交换黑盒光学系统

附件下载 联系工作人员获取附件 本文展示了供应商和OEM如何交换加密光学模型&#xff08;也称为黑匣子模型&#xff09;&#xff0c;从Ansys Zemax OpticStudio中的光学元件设计到Ansys Speos中的系统分析。 概述 在供应商和OEM之间&#xff0c;有两种类型的黑盒模型可以从…...

简历含金量的描述和注意事项!

背景 最近&#xff0c;在公司负责后端相关面试&#xff0c;简历看了不下 50 份&#xff0c;面试 10&#xff0c;纯手码 2000 多字&#xff0c;说说我对简历的看法&#xff0c;希望给大家一点启发。 教育经历 在众多求职面试中&#xff0c;我发现多数求职者容易忽视教育背景的…...

GPT Researcher 的win docker安装攻略

github网址是&#xff1a;https://github.com/assafelovic/gpt-researcher 因为docker安装方法不够清晰&#xff0c;因此写一个使用方法 以下是针对 Windows 系统 使用 Docker 运行 AI-Researcher 项目的 详细分步指南&#xff1a; 步骤 1&#xff1a;安装 Docker 下载 Docke…...

语言模型理论基础-持续更新-思路清晰

1.预训练 相似的任务A、B&#xff0c;任务A已经用大数据完成了训练&#xff0c;得到模型A。 我们利用-特征提取模型的-“浅层参数通用”的特性&#xff0c;使用模型A的浅层参数&#xff0c;其他参数再通过任务B去训练&#xff08;微调&#xff09;。 2.统计语言模型 通过条件…...

【C++指针】搭建起程序与内存深度交互的桥梁(下)

&#x1f525;&#x1f525; 个人主页 点击&#x1f525;&#x1f525; 每文一诗 &#x1f4aa;&#x1f3fc; 往者不可谏&#xff0c;来者犹可追——《论语微子篇》 译文&#xff1a;过去的事情已经无法挽回&#xff0c;未来的岁月还可以迎头赶上。 目录 C内存模型 new与…...

ElasticSearch常用优化点

关闭交换分区&#xff1a;因为Linux采用了三级页表虚存管理&#xff0c;关闭交换分区可以减少系统IO&#xff0c;页面换入唤出时所耗费的总线时间以及减少系统中断次数&#xff1b;swap的使用会显著增加延迟和降低吞吐量。文件描述符配置&#xff1a;任何网络应用都需要增加文件…...

数据结构每日一题day3(顺序表)★★★★★

题目描述&#xff1a;顺序表L的元素递增有序排列&#xff0c;设计一个算法在插入元素x后保持该顺序表仍然递增有序排列,插入成功后返回插入元素所在位置,不成功返回-1 算法思想&#xff1a;在递增有序的顺序表中插入元素 x 并保持有序性&#xff0c;步骤如下&#xff1a; 合法…...

VS Code 中 .history`文件的来源与 .gitignore`的正确使用

引言 在使用 VS Code 进行 Git 版本控制时&#xff0c;有时会发现项目中多出一个 .history 目录&#xff0c;并被 Git 识别为未跟踪文件。本文将解释 .history 的来源&#xff0c;并提供 .gitignore 的正确配置方法&#xff0c;确保开发环境的整洁性。 1. .history 文件的来源…...

2025-03-26 学习记录--C/C++-PTA 6-3 求链式表的表长

合抱之木&#xff0c;生于毫末&#xff1b;九层之台&#xff0c;起于累土&#xff1b;千里之行&#xff0c;始于足下。&#x1f4aa;&#x1f3fb; 一、题目描述 ⭐️ 6-3 求链式表的表长 本题要求实现一个函数&#xff0c;求链式表的表长。 函数接口定义&#xff1a; &…...

element-plus中Cascader级联选择器组件的使用

目录 一.基本使用 二.进阶使用 1.如何获取最后一级选项的值&#xff1f; 2.如何让级联选择器的输入框只展示最后一级&#xff1f; 三.实战 1.场景描述 2.实现步骤 ①设计后端返回值Vo ②编写controller ③编写service ④编写mapper层 ⑤在前端&#xff0c;通过发送…...

性能测试、负载测试、压力测试的全面解析

在软件测试领域&#xff0c;性能测试、负载测试和压力测试是评估系统稳定性和可靠性的关键手段。​它们各自关注不同的测试目标和应用场景&#xff0c;理解这些差异对于制定有效的测试策略至关重要。 本文对性能测试、负载测试和压力测试进行深入分析&#xff0c;探讨其定义、…...

阶段一:Java基础语法

目标&#xff1a;掌握Java的基本语法&#xff0c;理解变量、数据类型、运算符、控制结构等。 1. Java开发环境搭建 安装JDK配置环境变量编写第一个Java程序 代码示例&#xff1a; // HelloWorld.java public class HelloWorld { // 定义类名为 HelloWorldpublic static vo…...

信息安全的数学本质与工程实践

信息安全的本质是数学理论与工程实践的高度统一。在这个数字空间与物理世界深度融合的时代&#xff0c;信息安全已从简单的数据保护演变为维系数字社会正常运转的基础设施。对于计算机专业学习者而言&#xff0c;理解信息安全需要超越工具化认知&#xff0c;深入其数学内核与系…...

GPU架构与通信互联技术介绍

文章目录 GPU架构介绍SM 和 Warp Scheduler GPU通信互联技术介绍1、GPUDirectGPUDirect Shared AccessGPUDirect P2PGPUDirect for VideoGPUDirect for RDMARDMAGPUDirect RDMA GPUDirect Storage 2、NVLink & NVSwitchNVLinkNVSwitch 3、应用场景总结 GPU架构介绍 SM 和 …...

解决Centos使用yum命令报错“Cannot find a valid baseurl for repo: base/7/x86_64”问题

一、问题描述 我们在使用Centos7.9使用【sudo yum install influxdb2】命令安装influxDB数据库的时候提示“Loading mirror speeds from cached hostfile Could not retrieve mirrorlist http://mirrorlist.centos.org/release=7&arch=x86_64&repo=os&infra=stock …...

CosyVoice2在Windows系统上本地部署的详细步骤

CosyVoice2在Windows系统上本地部署的详细步骤&#xff1a; 下载源码并初始化&#xff1a; 确保你的设备上安装了Git。打开命令提示符&#xff08;cmd&#xff09;&#xff0c;执行以下命令来克隆仓库&#xff1a;git clone --recursive https://github.com/FunAudioLLM/CosyVo…...

【拒绝算法PUA】LeetCode 2255. 统计是给定字符串前缀的字符串数目

目录 系列文章目录 专题总结&#xff1a; C刷题技巧总结&#xff1a; 题目 2116. 判断一个括号字符串是否有效 难度 描述 解题方法1 系列文章目录 专题总结&#xff1a; 【拒绝算法PUA】0x00-位运算【拒绝算法PUA】0x01- 区间比较技巧【拒绝算法PUA】0x02- 区间合并技…...

华为HCIE鸿蒙应用开发认证靠谱吗?

在万物互联时代&#xff0c;智能终端设备的多样性与协同需求催生了操作系统的革新。华为HarmonyOS&#xff08;鸿蒙系统&#xff09;凭借其分布式架构与全场景能力&#xff0c;正成为打破设备边界、重塑用户体验的核心技术底座。HCIE鸿蒙应用开发认证作为华为认证体系的顶级资质…...

AWE 2025:当AI科技遇见智能家居

3月20日&#xff0c;以“AI科技、AI生活”为主题的AWE2025&#xff08;中国家电及消费电子博览会&#xff09;在上海新国际博览中心开幕。作为全球家电行业风向标&#xff0c;本届展会最大的亮点莫过于健康理念在家电领域的全面渗透。从食材保鲜到空气净化&#xff0c;从衣物清…...

CSS选择器

文章目录 基本选择器复合选择器交集选择器并集选择器后代选择器子代选择器兄弟选择器相邻兄弟选择器通用兄弟选择器 属性选择器伪类选择器动态伪类结构伪类:first-child:last-child:nth-child:nth-last-child:first-of-type:last-of-type:nth-of-type:nth-last-of-type:only-ch…...

吐血整理:Air8201如何使用LuatOS进行电源管理功能!

在物联网应用场景中&#xff0c;设备续航能力直接影响其部署成本与运维效率。LuatOS操作系统通过软件层面的精细化控制&#xff0c;为Air8201提供了灵活且高效的电源管理策略。本文将从系统架构、API接口、实战配置三个维度&#xff0c;解析如何利用LuatOS实现Air8201的智能电源…...

C++11QT复习 (四)

Day6-1 输入输出流运算符重载&#xff08;2025.03.25&#xff09; 1. 拷贝构造函数的调用时机 2. 友元2.1 友元函数 3. 输入输出流运算符重载3.1 关键知识点3.2 代码3.3 关键问题3.4 完整代码 4. 下标访问运算符 operator[]4.1 关键知识点4.2 代码 5. 函数调用运算符 operator…...

Allure 报告数据存储结构

Allure 报告数据存储结构 Allure的报告的下有一个data目录&#xff0c;里面存储了全部展示的数据。data目录下面有两种类型的文件一类是csv&#xff0c;一类是json&#xff0c;两个类型的文件中同名的文件数据是一样的&#xff0c;只是不同的展示方法。我们就按照json格式的数据…...

HarmonyOS:基于axios实现文件的下载以及下载进度的监听

#前言&#xff1a;项目开发中&#xff0c;避免不了实现文件下载功能&#xff0c;其他平台的下载都很成熟&#xff0c;网上的例子也比较多&#xff0c;我就自己项目中实现的下载功能做个总结&#xff0c;你可以参考我的写法实现功能。 下载封装基于axios实现的下载功能。 1.下载…...

应用服务接口第二次请求一直pending问题

目录 一、问题背景二、问题排查过程三、解决方案四、总结 一、问题背景 升级内容发布到灰度环境&#xff0c;验证相关服务&#xff0c;查看接口调用日志&#xff0c;发现第一次请求正常&#xff0c;第二次相同接口请求就一直pending&#xff0c;其他服务也是如此 二、问题排查…...

外设的中断控制

如ADC、SPI、I2C、TIM等使用STM32 HAL库时的中断函数调用方式和UART非常类似&#xff0c;都有底层直接使能中断和上层库函数管理两种方式。下面详细说明几种典型外设&#xff1a; 一、ADC外设 &#xff08;1&#xff09;直接使能中断&#xff08;底层控制&#xff09;&#xf…...

云资源开发学习应用场景指南,场景 1 云上编程实践平台

云资源开发学习应用场景指南 云资源开发学习应用场景指南&#xff0c;场景 2&#xff1a;云桌面实验室 云资源开发学习应用场景指南&#xff0c;场景 3&#xff1a;云资源支持的项目实践 场景 1&#xff1a;云上编程实践平台 《如何在云平台上搭建你的第一个编程实践环境》…...

C++中使用CopyFromRecordset将记录集拷贝到excel中时,如果记录集为0个,函数崩溃,是什么原因

文章目录 原因分析解决方案1. 检查记录集是否为空2. 安全调用COM方法3.进行异常捕获4. 替代方案&#xff1a;手动处理空数据 总结 在C中使用CopyFromRecordset将空记录集&#xff08;0条记录&#xff09;复制到Excel时崩溃的原因及解决方法如下&#xff1a; 原因分析 空记录集…...

第四届能源、电力与电气国际学术会议(ICEPET 2025)

重要信息 地点&#xff1a;中国-成都 官网&#xff1a;www.icepet.net&#xff08;了解参会投稿等信息&#xff09; 时间&#xff1a;2025年4月25-27日 简介 第四届能源、电力与电气会&#xff08;ICEPET 2025定于2025年4月25-27日在中国成都举办。 本次将围绕能源、电力及…...

【IDEA的个性化配置】

目录&#xff1a; 一&#xff1a;隐藏项目路径二&#xff1a;禁用斜体注释三&#xff1a;重新Maven构建未完待续... 一&#xff1a;隐藏项目路径 &#x1f60a;在IDEA左侧的Project目录中&#xff0c;项目名称后面显示了项目的文件路径地址&#xff0c;如果不喜欢可以隐藏&…...

分享最近前端面试遇到的一些问题

前情提要&#xff08;分享个人情况&#xff0c;可以直接跳过&#xff09; 先说一下我的个人情况&#xff0c;我是2026届的&#xff0c;目前是在找前端实习。 3月初&#xff0c;从3月3日开始在Boss上投简历。 分享我的个人故事&#xff0c;不想看可以直接滑到下面&#xff0c;…...

SSH免密登录服务器方法

Window免密连接Linux系统 生成公匙 ssh-keygen -t rsa一路回车生成公钥 复制公匙&#xff0c;使用记事本打开复制全部内容 notepad C:\Users\DELL\.ssh\id_rsa.pub内容如"ssh-rsa AAAAB3NzaC1yc2EAAAA…" 远程登录服务器将内容写入~/.ssh/authorized_keys echo …...

3.26前端模拟面试

包含 Vue 3、TypeScript、性能优化、工程化等方面&#xff0c;偏八股文。 基础知识 Vue 3 响应式原理&#xff1a;Vue 3 如何实现响应式系统&#xff1f;Proxy 和 Reflect 的作用是什么&#xff1f; TypeScript 类型体操&#xff1a;实现一个 TypeScript 类型 DeepPartial&am…...