大淘客api实现多多进宝的商品查询PHP版

大家好,我是网创有方,今天教大家如何使用大淘客的api实现拼多多商品详情信息查询。这里用到的多多进宝,如果没有多多进宝的,先去多多进宝注册个账号吧!

第一步:进入大淘客官方创建应用,并且下载大淘客的sdk

第二步:将sdk导入到项目中

第三步:编写验签和查询代码,验签的目的是为了防止恶意注入,来保证请求的合法性。

代码中进行了2轮查询,为什么要这样操作呢?官方说goosId已经被废弃了,现在采用加密后的goodSign代替,但是goodSign获取方式官方又不说,后面经过网络查询得知可以在第一轮的json返回数据里获取。所以这里就进行了二次请求。把第一轮查询到的goodSign赋值给第二轮查询的参数。

<?phpinclude 'vendor/autoload.php';//拼多多商品详情$host = "https://openapi.dataoke.com/api/dels/pdd/goods/detail";//默认必传参数$data = ['appKey' =>"你的appKey",'version' => 'v2.0.0','goodsSign' =>'','searchId' =>'','goodsImgType'=>'','goodsId'=>'你要查询的商品名称'];//加密的参数$data['sign'] = makeSign($data,"你的secretKey");//拼接请求地址$url = $host . '?' . http_build_query($data);//执行请求获取数据$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_TIMEOUT,3000);curl_setopt($ch, CURLOPT_HEADER, 0);$output = curl_exec($ch);$a = curl_error($ch);if(!empty($a)){return json_encode(array('code'=>10003, 'msg'=>$a));}// curl_close($ch);// return $output;echo($output);// 使用json_decode函数将JSON字符串解码为PHP对象  $jsonObject = json_decode($output); //将第一次请求返回的json字符串转化为php对象// 提取name字段的值  $goodsSign = $jsonObject->goodsSign;  //提起goodsSign//开始第二次请求$data = ['appKey' =>"你的appKey",'version' => 'v2.0.0','goodsSign' =>$goodsSign,'searchId' =>'','goodsImgType'=>'','goodsId'=>'你要查询的商品名称'];//加密的参数$data['sign'] = makeSign($data,"你的secretKey");//拼接请求地址$url = $host . '?' . http_build_query($data);//执行请求获取数据$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_TIMEOUT,3000);curl_setopt($ch, CURLOPT_HEADER, 0);$output = curl_exec($ch);$a = curl_error($ch);if(!empty($a)){return json_encode(array('code'=>10003, 'msg'=>$a));}function makeSign($data, $appSecret)
{ksort($data);$str = '';foreach ($data as $k => $v) {$str .= '&' . $k . '=' . $v;}$str = trim($str, '&');$sign = strtoupper(md5($str . '&key=' . $appSecret));return $sign;
}

第四步:访问相关网页进行查询

第五步:对返回的json数据进行数据处理,这里就不说了,大家想怎么处理自己看着办吧

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

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

相关文章

【PyQt5】一文向您详细介绍 QLineEdit() 的作用

【PyQt5】一文向您详细介绍 QLineEdit() 的作用 下滑即可查看博客内容 &#x1f308; 欢迎莅临我的个人主页 &#x1f448;这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地&#xff01;&#x1f387; &#x1f393; 博主简介&#xff1a;985高校的普通本硕&…

计量校准温度仪表的常见分类有哪些?

温度仪表在计量校准中&#xff0c;可以说是比较常见的仪器&#xff0c;而温度仪器因为用于校准的场景很多&#xff0c;应用的场合不同&#xff0c;也是有着很多不同的分类&#xff0c;今天就简单为大家介绍一些温度仪表的细分分类。 温度仪表根据测温的方式不同&#xff0c;可以…

2024华为OD机试真题- 电脑病毒感染-(C++/Python)-C卷D卷-200分

2024华为OD机试题库-(C卷+D卷)-(JAVA、Python、C++) 题目描述 一个局域网内有很多台电脑,分别标注为 0 ~ N-1 的数字。相连接的电脑距离不一样,所以感染时间不一样,感染时间用 t 表示。 其中网络内一台电脑被病毒感染,求其感染网络内所有的电脑最少需要多长时间。如果…

PyTorch之nn.Module与nn.functional用法区别

文章目录 1. nn.Module2. nn.functional2.1 基本用法2.2 常用函数 3. nn.Module 与 nn.functional3.1 主要区别3.2 具体样例&#xff1a;nn.ReLU() 与 F.relu() 参考资料 1. nn.Module 在PyTorch中&#xff0c;nn.Module 类扮演着核心角色&#xff0c;它是构建任何自定义神经网…

【Spring Boot 源码学习】初识 ConfigurableEnvironment

《Spring Boot 源码学习系列》 初识 ConfigurableEnvironment 一、引言二、主要内容2.1 Environment2.1.1 配置文件&#xff08;profiles&#xff09;2.1.2 属性&#xff08;properties&#xff09; 2.2 ConfigurablePropertyResolver2.2.1 属性类型转换配置2.2.2 占位符配置2.…

Python--进程基础

创建进程 os.fork() 该方法只能在linux和mac os中使用&#xff0c;因为其主要基于系统的fork来实现。window中没有这个方法。 通过os.fork()方法会创建一个子进程&#xff0c;子进程的程序集为该语句下方的所有语句。 import os​​print("主进程的PID为:" , os.g…

Python pdfkit wkhtmltopdf html转换pdf 黑体字体乱码

wkhtmltopdf 黑体在html转换pdf时&#xff0c;黑体乱码&#xff0c;分析可能wkhtmltopdf对黑体字体不太兼容&#xff1b; 1.html内容如下 <html> <head> <meta http-equiv"content-type" content"text/html;charsetutf-8"> </head&…

DreamView数据流

DreamView数据流 查看DV中界面启动dag&#xff0c;/apollo/modules/dreamview_plus/conf/hmi_modes/pnc.pb.txt可以看到点击界面的planning按钮&#xff0c;后台其实启动的是/apollo/modules/planning/planning_component/dag/planning.dag和/apollo/modules/external_command…

Oracle连接mysql

oracle使用的11g&#xff0c;在一台windows服务器&#xff1b;mysql使用的是5.7版本&#xff0c;在另一台windows服务器&#xff0c;这两个服务器之间的网络是互通的。做BI时&#xff0c;要获取不同数据源的数据&#xff0c;这些数据源可能是Oracle&#xff0c;也可能是sqlserv…

springboot基础入门2(profile应用)

Profile应用 一、何为Profile二、profile配置方式1.多profile文件方式2.yml多文档方式 三、加载顺序1. file:./config/: 当前项目下的/config目录下2. file:./ &#xff1a;当前项目的根目录3. classpath:/config/:classpath的/config目录4. classpath:/ : classpath的根目录 四…

Redis 集群模式

一、集群模式概述 Redis 中哨兵模式虽然提高了系统的可用性&#xff0c;但是真正存储数据的还是主节点和从节点&#xff0c;并且每个节点都存储了全量的数据&#xff0c;此时&#xff0c;如果数据量过大&#xff0c;接近或超出了 主节点 / 从节点机器的物理内存&#xff0c;就…

个人网站制作 Part 28 添加用户活动跟踪功能 | Web开发项目添加页面缓存

文章目录 &#x1f469;‍&#x1f4bb; 基础Web开发练手项目系列&#xff1a;个人网站制作&#x1f680; 添加用户活动跟踪功能&#x1f528;使用分析工具&#x1f527;步骤 1: 选择分析工具&#x1f527;步骤 2: 注册Google Analytics账户&#x1f527;步骤 3: 获取Analytics…

Java面试题--JVM大厂篇之深入了解G1 GC:高并发、响应时间敏感应用的最佳选择

引言&#xff1a; 在现代Java应用的性能优化中&#xff0c;垃圾回收器&#xff08;GC&#xff09;的选择至关重要。对于高并发、响应时间敏感的应用而言&#xff0c;G1 GC&#xff08;Garbage-First Garbage Collector&#xff09;无疑是一个强大的工具。本文将深入探讨G1 GC适…

李一桐遭遇蜈蚣惊魂

李一桐遭遇“蜈蚣惊魂”&#xff01;刘宇宁展现真男人本色在娱乐圈的幕后&#xff0c;总有一些心跳加速的惊险。近日&#xff0c;李一桐在拍戏时遭遇了一场“蜈蚣惊魂”&#xff0c;让无数粉丝和网友为她捏了一把冷汗。而在这场惊险的遭遇中&#xff0c;刘宇宁展现出了真男人的…

ActiveMq工具之管理页面说明

文章目录 安装ActiveMQ一: 访问管理页面二: 进入管理页面&#xff0c;主页三: Queues页说明四: Topics页说明五: Subscribers页说明 安装ActiveMQ wget https://archive.apache.org/dist//activemq/5.13.3/apache-activemq-5.13.3-bin.tar.gz wget https://mirrors.huaweiclou…

为什么越来越多的企业选择外包?赋能企业未来

软件开发过程包括设计需求、设计方案、产品研发、产品交付、后期维护&#xff0c;许多企业并沒有软件开发的专业能力与工作经验&#xff0c;将软件开发工作进行外包是比较节约成本的&#xff0c;企业能少走不少弯路。 YesPMP平台&#xff08;一站式软件外包、项目外包服务-YesP…

UWA Pipeline 2.6.1版本更新

UWA Pipeline是专为游戏开发团队设计的本地协作平台&#xff0c;旨在帮助团队建立专业的DevOps研发交付流水线。本平台提供了可视化的CI/CD操作界面&#xff0c;高可用的自动化测试和无缝集成的UWA性能保障服务等核心功能。 在最新的Pipeline更新中&#xff0c;UWA引入了参数配…

protobufjs解析proto消息出错RangeError: index out of range: 2499 + 10 > 2499解决办法

使用websocket通讯传输protobuf消息的时候&#xff0c;decode的时候出错了&#xff1a; RangeError: index out of range: 2499 10 > 2499 Error: invalid wire type 4 at offset 1986 出现这种错误的时候&#xff0c;99%是因为proto里面的消息类型和服务端发送的消息类型不…

vue表头字段添加鼠标悬浮提示

<el-table-column prop"jfScore" align"center" min-width"100px"><template slot"header" slot-scope"scope"><div><span>信用积分</span><el-tooltip:aa"scope"class"it…

关于windows,wifi图标显示不了的解决方法

解决方法一&#xff08;解决了我的问题的方法&#xff09;&#xff1a; winr -->输入 regedit 打开注册表 --> 删除HKEY-CLASSES_ROOT\CLSID\{3d09c1ca-2bcc-40b7-b9bb-3f3ec143a87b} CLSID在下面仔细找&#xff0c;然后找到09开头那个删掉重启就可以了&#xff0c;可能…