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

京东商品详情 API 完整调用实例

Java 完整调用示例(HttpClient)

依赖 Maven

xml

<!-- httpclient --> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.14</version> </dependency> <!-- commons-codec MD5 --> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.15</version> </dependency>

核心代码

java

运行

import org.apache.commons.codec.digest.DigestUtils; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.ContentType; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; import java.util.*; public class JdGoodsDetailApi { // 替换为自己的密钥 private static final String APP_KEY = "你的appKey"; private static final String APP_SECRET = "你的appSecret"; private static final String API_URL = "https://api.jd.com/routerjson"; // 商品详情接口方法 private static final String METHOD = "jd.union.open.goods.jingfen.query"; public static void main(String[] args) throws Exception { // 1.业务入参,skuId为京东商品SKU编号 Map<String, Object> bizParam = new HashMap<>(); bizParam.put("skuId", 100012345678); // 目标商品SKU bizParam.put("goodsType", 0); // 2.组装全部参数 Map<String, String> allParams = new TreeMap<>(); allParams.put("app_key", APP_KEY); allParams.put("timestamp", new Date().toLocaleString()); allParams.put("v", "1.0"); allParams.put("method", METHOD); allParams.put("format", "json"); // 业务参数转JSON字符串 allParams.put("param_json", new com.alibaba.fastjson.JSONObject(bizParam).toString()); // 3.生成MD5签名 String sign = getSign(allParams); allParams.put("sign", sign); // 4.POST请求 String result = doPost(allParams); System.out.println("接口返回结果:" + result); } // 生成签名 private static String getSign(Map<String, String> params) { StringBuilder sb = new StringBuilder(APP_SECRET); for (Map.Entry<String, String> entry : params.entrySet()) { sb.append(entry.getKey()).append(entry.getValue()); } sb.append(APP_SECRET); return DigestUtils.md5Hex(sb.toString()).toUpperCase(); } // 发送Post请求 private static String doPost(Map<String, String> params) throws Exception { CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost httpPost = new HttpPost(API_URL); httpPost.setEntity(new StringEntity(new com.alibaba.fastjson.JSONObject(params).toString(), ContentType.APPLICATION_JSON)); CloseableHttpResponse response = httpClient.execute(httpPost); String resp = EntityUtils.toString(response.getEntity(), "UTF-8"); response.close(); httpClient.close(); return resp; } }

三、PHP 调用实例

php

运行

<?php $appKey = '你的appKey'; $appSecret = '你的appSecret'; $method = 'jd.union.open.goods.jingfen.query'; $url = 'https://api.jd.com/routerjson'; // 业务参数 $bizData = [ 'skuId' => 100012345678, 'goodsType' => 0 ]; $paramJson = json_encode($bizData); // 公共参数 $params = [ 'app_key' => $appKey, 'timestamp' => date('Y-m-d H:i:s'), 'v' => '1.0', 'method' => $method, 'format' => 'json', 'param_json' => $paramJson ]; // 字典排序 ksort($params); $str = $appSecret; foreach ($params as $k => $v) { $str .= $k . $v; } $str .= $appSecret; $sign = strtoupper(md5($str)); $params['sign'] = $sign; // curl请求 $ch = curl_init($url); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($params)); curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $res = curl_exec($ch); curl_close($ch); echo $res; ?>

四、返回核心字段说明(联盟详情接口)

成功返回 JSON 核心节点:

  1. jingfenGoodsInfo商品主体信息
    • skuId:商品 ID
    • skuName:商品标题
    • price:售价、originPrice:原价
    • mainImage:主图地址,galleryImages:图集
    • brandName:品牌,category:类目
  2. couponInfo优惠券信息(面额、门槛、链接)
  3. commissionInfo佣金比例(联盟推广佣金)
http://www.jsqmd.com/news/1107096/

相关文章:

  • 【趣话计算机底层技术】调试器是个大骗子!
  • 合成数据驱动的RLHF:无需人工标注的对齐新路径
  • 做了20多年运维,我发现企业最容易忽视这一点
  • ASMR下载神器终极指南:如何快速高效获取asmr.one资源
  • DeepBump终极指南:3秒从单张图片生成专业法线贴图的AI神器
  • 云康e家最新消息,资金减损核定方案公布。
  • 信任边界与用户沟通:从《恋与深空》角色争议看二次元服务型游戏的运营选择
  • SSH协议详解:Xshell远程连接Linux与Xftp文件传输实操全教程
  • 千兆网卡还没过时 这些场景依然是最佳选择
  • 5步掌握novelWriter:开源小说创作工具的完整指南
  • 自动售货机补货有讲究,这些细节你注意到了吗?~YH
  • Name 不支持中文和特殊字符
  • 【计算机毕业设计】宠物丧葬用品选购网站的设计与实现
  • CXO Wisdom智羚荟:一家企业的成长,离不开另一些优秀企业
  • 反向海淘代购独立站系统,海外创业低成本建站方案全解析
  • 《可靠传输的快递专线 ——TCP 协议深度趣味精讲》
  • 新背景下,我们需要怎样的硬盘接口规范
  • 身体护理的顺序感
  • 2026年儿童口腔运营学习费用大揭秘,你想知道吗?
  • 在饰品、珠宝这类通常被认为由女性主导的赛道上,一个来自荷兰的品牌却独辟蹊径,专注做男性手串
  • 卡特加特是一家人工智能公司吗?
  • 深度学习图像数据集构建:从采集到标注的工程化实践
  • 从“ELK 捞针”到结构化归因:基于 Grok 4.3 的分布式并发 Bug 排查实战
  • zephyr实现ADC方式有那些?
  • CNN端到端2D路径规划:从图像直觉到嵌入式实时导航
  • 工业防爆监控系统选型技术方案|北京易燃易爆场景落地参考
  • 联合疗法新突破 | tDCS协同针刺重塑膝骨关节炎患者脑网络连接,镇痛效果优于单一疗法
  • U535992 J-C 小梦的宝石收集
  • 自动售货机总是卡货?教你几招轻松搞定~YH
  • 什么是联盟营销(Affiliate Marketing)?2026海内外创作者商业化指南