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

前端pc和小程序接入快递100(跳转方式和api方式)====实时查询接口

文章目录

    • 跳转方式
      • 微信小程序(我以uniapp为例)
      • pc
    • api接入
      • 说明
      • 关于签名计算
      • 成功示例

跳转方式

没有任何开发成本,直接一键接入

可以直接看官方文档

https://www.kuaidi100.com/openapi/api_wxmp.shtml

微信小程序(我以uniapp为例)

https://fuwu.weixin.qq.com/service/detail/00008caeab84c07c17dcdabf55b815

  1. 小程序管理后台添加插件(【设置】-【第三方设置】-【插件管理】-【搜索 wx6885acbedba59c14】)
    在这里插入图片描述

  2. manifest.json增加配置(这里直接copy不用改动)

    "mp-weixin": {"plugins": {"kdPlugin": {"version": "1.1.2","provider": "wx6885acbedba59c14"}}
    }
    
  3. 调用插件

    // num是快递单号 appName是小程序的名称 还有其他参数参见官网uni.navigateTo({url: "plugin://kdPlugin/index?num=xxx&appName=xxx",
    })<navigator url="plugin://kdPlugin/index?num=xxx&appName=xxx"></navigator>
    

缺点:

  1. 默认页面只有最新的一条数据,如果要查看更多需要跳转到他们的小程序
  2. 跳转到他们的小程序默认有几秒钟的广告(虽然可以跳过)

pc

https://www.kuaidi100.com/openapi/api_jump.shtml

window.open('https://www.kuaidi100.com/chaxun?com=[]&nu=[]');

缺点:经我测试查询有问题

  1. 有时候能出结果,但有时候查不出结果
  2. 查询很慢,需要3-7秒左右

我猜测这个应该是官方做了限制,避免被白嫖

api接入

说明

这种方式需要服务端接入,而不是前端直接接入(postman可以调通,但是浏览器会有跨域问题

关于签名计算

官方写的很简单:签名, 用于验证身份, 按param + key + customer 的顺序进行MD5加密(注意加密后字符串一定要转32位大写), 不需要加上“+”号

我最后是通过管理后台的签名和我自己写的签名算法对比才得出最终的计算方式

有几点需要注意的

  1. 请求头的content-typeapplication/x-www-form-urlencoded
  2. 虽然请求方式是post,但是参数写到bodyurl中都是可以的
  3. !!!尤其需要注意param参数的写法,是一个对象,开始的时候我一直在考虑这个怎么传递,因为不是json写法,所以纠结了好久

这里直接给出demo(注意:这里需要安装一个md5加密库

import axios from 'axios';
import CryptoJS from 'crypto-js';function generateSignature(param, key, customer) {// 如果param是对象,则将其转换为字符串let paramStr = '';if (typeof param === 'object') {paramStr = JSON.stringify(param);} else {paramStr = param;}// 拼接字符串const data = paramStr + key + customer;// 进行MD5加密const hash = CryptoJS.MD5(data);// 将加密后的字符串转为32位大写const signature = hash.toString(CryptoJS.enc.Hex).toUpperCase();return signature;
}const key = 'xxx';
const customer = 'xxx';/* data示例:
{com:'yuantong',num: 'YT8979806571449',
}
*/
export function query(data) {return axios.post('https://poll.kuaidi100.com/poll/query.do',{param: data,sign: generateSignature(data, key, customer),customer,},{headers: {'Content-Type': 'application/x-www-form-urlencoded',},});
}

成功示例

在这里插入图片描述

相关文章:

前端pc和小程序接入快递100(跳转方式和api方式)====实时查询接口

文章目录 跳转方式微信小程序&#xff08;我以uniapp为例&#xff09;pc api接入说明关于签名计算成功示例 跳转方式 没有任何开发成本&#xff0c;直接一键接入 可以直接看官方文档 https://www.kuaidi100.com/openapi/api_wxmp.shtml 微信小程序&#xff08;我以uniapp为例…...

电脑永久性不小心删除了东西还可以恢复吗 电脑提示永久性删除文件怎么找回 怎么恢复电脑永久删除的数据

永久删除电脑数据的操作&#xff0c;对于很多常用电脑设备的用户来说&#xff0c;可以说时有发生&#xff01;但是&#xff0c;因为这些情况大都发生在不经意间&#xff0c;所以每每让广大用户感觉到十分苦恼。永久删除也有后悔药&#xff0c;轻松找回电脑中误删的文件。恢复文…...

LeetCode热题100刷题16:74. 搜索二维矩阵、33. 搜索旋转排序数组、153. 寻找旋转排序数组中的最小值、98. 验证二叉搜索树

74. 搜索二维矩阵 class Solution { public:bool searchMatrix(vector<vector<int>>& matrix, int target) {int row matrix.size();int col matrix[0].size();for(int i0;i<row;i) {//先排除一下不存在的情况if(i>0&&matrix[i][0]>target…...

C++仿函数

在C中&#xff0c;我们经常需要对类中的元素进行比较&#xff0c;例如在排序、查找等操作中。为了使类更加灵活&#xff0c;我们可以通过自定义比较函数来实现不同的比较方式。在本文中&#xff0c;我们将探讨如何在类中使用仿函数和 Lambda 表达式来定义自定义比较函数。 1. …...

文献阅读:tidyomics 生态系统:增强组学数据分析

文献介绍 文献题目&#xff1a; The tidyomics ecosystem: enhancing omic data analyses 研究团队&#xff1a; Stefano Mangiola&#xff08;澳大利亚沃尔特和伊丽莎霍尔医学研究所&#xff09;、Michael I. Love&#xff08;美国北卡罗来纳大学教堂山分校&#xff09;、Ant…...

MySQL运维实战之Clone插件(10.1)使用Clone插件

作者&#xff1a;俊达 clone插件介绍 mysql 8.0.17版本引入了clone插件。使用clone插件可以对本地l或远程的mysql实例进行clone操作。clone插件会拷贝innodb存储引擎表&#xff0c;clone得到的是原数据库的一个一致性的快照&#xff0c;可以使用该快照数据来启动新的实例。cl…...

【系统架构设计】数据库系统(三)

数据库系统&#xff08;三&#xff09; 数据库模式与范式数据库设计备份与恢复分布式数据库系统分布式数据库的概念特点分类目标 分布式数据库的架构分布式数据库系统与并行数据库系统 数据仓库数据挖掘NoSQL大数据 数据库模式与范式 数据库设计 备份与恢复 分布式数据库系统…...

免费视频批量横版转竖版

简介 视频处理器 v1.3 是一款由是貔貅呀开发的视频编辑和处理工具&#xff0c;提供高效便捷的视频批量横转竖&#xff0c;主要功能&#xff1a; 导入与删除文件&#xff1a;轻松导入多个视频文件&#xff0c;删除不必要的文件。暂停与继续处理&#xff1a;随时暂停和继续处理。…...

内存管理(知识点)

c语言与c对于内存管理的区别 c语言中动态内存管理方式 malloc\calloc\realloc\free c内存管理方式 c兼容c语言所以c语言中的方式也可以使用 但是用起来太麻烦 所以通过new和delete操作符竞选动态内存管理 单个对象 c语言: int* p2(int*)malloc(sizeof(int)) c : int*p3 new…...

【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【29】Sentinel

持续学习&持续更新中… 守破离 【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【29】Sentinel 简介熔断降级什么是熔断什么是降级相同点不同点 整合Sentinel自定义sentinel流控返回数据使用Sentinel来保护feign远程调用自定义资源给网关整合Sentinel参考 简介 熔断降…...

防范UDP Flood攻击的策略与实践

UDP Flood攻击是一种常见的分布式拒绝服务&#xff08;DDoS&#xff09;攻击手段&#xff0c;通过向目标服务器发送大量无效的UDP数据包&#xff0c;消耗其网络带宽和处理资源&#xff0c;最终导致合法的网络服务无法正常运行。本文将深入探讨UDP Flood攻击的原理、常见的防御策…...

昇思25天学习打卡营第17天 | CycleGAN图像风格迁移互换

通过深入学习CycleGAN模型&#xff0c;我对无监督图像到图像的转换技术有了更深的理解。CycleGAN不仅能在没有成对训练样本的情况下实现域之间的转换&#xff0c;而且在保持内容结构的同时成功转换图像风格&#xff0c;这在许多应用中都非常有用&#xff0c;如艺术风格转换、季…...

Leetcode 2520. 统计能整除数字的位数

问题描述&#xff1a; 给你一个整数 num &#xff0c;返回 num 中能整除 num 的数位的数目。 如果满足 nums % val 0 &#xff0c;则认为整数 val 可以整除 nums 。 示例 1&#xff1a; 输入&#xff1a;num 7 输出&#xff1a;1 解释&#xff1a;7 被自己整除&#xff0…...

WEB前端08-综合案例(动态表格)

使用 HTML、CSS 和 JavaScript 创建动态表格 在本教程中&#xff0c;我们将创建一个动态表格&#xff0c;允许用户添加行、选择项目&#xff0c;并执行批量操作&#xff0c;如全选或删除选中的行。我们将通过 HTML、CSS 和 JavaScript 来实现这一功能。让我们逐步了解每个部分…...

【面试题】Redo log和Undo log

Redo log 介绍Redo log之前我们需要了解一下&#xff0c;mysql数据操作的流程&#xff1a; 上述就是数据操作的流程图&#xff0c;可以发现sql语句并不是直接操作的磁盘而是通过操作内存&#xff0c;然后进行内存到磁盘的一个同步。这里我们必须要了解一些区域&#xff1a; 缓…...

开发实战经验分享:互联网医院系统源码与在线问诊APP搭建

作为一名软件开发者&#xff0c;笔者有幸参与了多个互联网医院系统的开发项目&#xff0c;并在此过程中积累了丰富的实战经验。本文将结合我的开发经验&#xff0c;分享互联网医院系统源码的设计与在线问诊APP的搭建过程。 一、需求分析 在开发任何系统之前&#xff0c;首先要…...

springboot系列教程(十六):配置Actuator组件,实现系统监控

一、Actuator简介 1、监控组件作用 在生产环境中&#xff0c;需要实时或定期监控服务的可用性。Spring Boot的actuator&#xff08;健康监控&#xff09;功能提供了很多监控所需的接口&#xff0c;可以对应用系统进行配置查看、相关功能统计等。 2、监控分类 Actuator 提供…...

单臂路由组网实验,单臂路由的定义、适用情况、作用

一、定义 单臂路由是指通过在路由器的一个接口上配置许多子接口,从而实现原来相互隔离的不同VLAN之间的互通。 子接口:把路由器上的实际的物理接口划分为多个逻辑上的接口,这些被划分的逻辑接口就是子接口。 二、适用情况 用在没有三层交换机,却要实现不同VLAN之间的互…...

【数据结构初阶】顺序表三道经典算法题(详解+图例)

Hello&#xff01;很高兴又见到你了~~~ 看看今天要学点什么来充实大脑吧—— 目录 1、移除元素 【思路图解】 【总结】 2、删除有序数组中的重复项 【思路图解】 【总结】 3、合并两个有序数组 【思路图解】 【总结】 至此结束&#xff0c;Show Time&#xff01; 1、…...

SpringBoot接入JPA连接数据库H2或MySQL例子

一&#xff0c;JPA相关的常用注解和对象 Entity&#xff0c;用于实体类声明语句之前&#xff0c;‌指出该Java类为实体类&#xff0c;‌将映射到指定的数据库表&#xff1b;Table&#xff0c;当实体类与其映射的数据库表名不同名时需要使用。‌该标注与Entity标注并列使用&…...

【Gemini Chrome插件实战指南】:20年老司机亲测的5大生产力跃迁技巧,90%用户还不知道

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Gemini Chrome插件的核心架构与能力边界 Gemini Chrome 插件并非简单封装的 API 调用前端&#xff0c;而是一个基于 Chromium 扩展模型&#xff08;Manifest V3&#xff09;构建的多层协同系统&#xf…...

建立个人学习SOP:信息输入、消化吸收与输出实践

对于软件测试从业者而言&#xff0c;技术迭代的速度往往快于岗位技能的沉淀周期。从自动化框架的百花齐放到 AI 驱动测试的兴起&#xff0c;从微服务架构下的契约测试到混沌工程在稳定性领域的渗透&#xff0c;测试人员需要持续吸收新知识&#xff0c;却又极易陷入“学得越多&a…...

Cheat Engine 简单使用教程(新手版)

很多人第一次打开 Cheat Engine&#xff0c;都会被界面吓到。 其实真没那么复杂。 如果你只是想修改一下单机游戏里的金币、血量或者资源&#xff0c;掌握下面这几个步骤基本就够用了。 一、先打开游戏&#xff0c;再启动 Cheat Engine 这一点很多新人容易搞反。 正确顺序是…...

Hydrin 1 ([Arg8, Gly10, Lys11, Arg12]-Vasotocin)

一、基础信息多肽名称&#xff1a;Hydrin 1&#xff0c;加压催产素变体 [Arg8, Gly10, Lys11, Arg12]-Vasotocin 三字母序列&#xff1a;Cys-Tyr-Ile-Gln-Asn-Cys-Pro-Arg-Gly-Gly-Lys-Arg 单字母序列&#xff1a;CYIQNCPRG GKR 氨基酸数目&#xff1a;12 aa 结构特征&#xff…...

不止于透传:用VirtIO-GPU为你的KVM虚拟机开启3D加速(附XML配置详解)

VirtIO-GPU虚拟化加速实战&#xff1a;从原理到配置的深度解析 在虚拟化技术日益成熟的今天&#xff0c;GPU加速已成为开发测试、图形工作站和云桌面等场景的刚需。传统GPU透传方案虽然性能接近原生&#xff0c;但受限于硬件数量且缺乏灵活性。VirtIO-GPU结合virglrenderer的软…...

虚假信息注入下异构系统弹性纳什均衡【附代码】

✨ 长期致力于博弈论、分布式纳什均衡、虚假信息注入攻击、线性系统、参数不确定、事件触发研究工作&#xff0c;擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;点击《获取方式》 &#xff08;1&#xff09;虚假信息观…...

构建AI信任层TrustLayer:开源插件化架构保障AI输出安全与可靠

1. 项目概述&#xff1a;为什么我们需要一个AI信任层&#xff1f;最近几个月&#xff0c;我几乎把所有主流的AI工具都试了个遍。从代码助手到文案生成&#xff0c;从图像创作到数据分析&#xff0c;每个工具都承诺能提升效率。但用着用着&#xff0c;我发现一个越来越明显的问题…...

小满nestjs(第二十五章 NestJS ORM实战:TypeORM连接MySQL与实体映射)

1. TypeORM连接MySQL的完整配置指南 第一次在NestJS项目中使用TypeORM连接MySQL时&#xff0c;我踩了不少坑。记得当时因为一个简单的端口配置错误&#xff0c;折腾了大半天才成功连接。现在回想起来&#xff0c;其实只要掌握几个关键配置项&#xff0c;整个过程可以非常顺畅。…...

保姆级教程:STM32F407驱动AD9926并行ADC,从硬件连线到DMA数据搬运全流程

STM32F407实战&#xff1a;AD9926并行ADC驱动与DMA高效数据采集全解析 在工业自动化与精密测量领域&#xff0c;高速数据采集系统的设计一直是嵌入式开发的难点之一。AD9926作为一款12位并行输出ADC芯片&#xff0c;配合STM32F407强大的DCMI接口和DMA控制器&#xff0c;能够构…...

数字遗产:我们写的代码,在死后将归于何处?

一行注释里的永恒追问测试工程师的日常&#xff0c;往往是从一行日志或一个断言开始的。但你是否注意过&#xff0c;在那些被反复修改的代码文件最顶端&#xff0c;常常躺着一行注释&#xff1a;“Author: [某位早已离职的同事]”。这行注释像一座小小的墓碑&#xff0c;标记着…...