<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>京东接口查询图片</title>
</head>
<body>
<form action="./index.php" method="GET">
<br />
如:https://item.jd.com/699114.html
<br />
<input type="text" value="" name="url" placeholder="输入url地址栏">
<input type="submit" value="提交">
<br>
</form>
</body>
</html>
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2018/7/28
* Time: 16:04
*/
function getHTTPS($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
function preg_substr($start, $end, $str) // 正则截取函数
{
try {
$temp = preg_split($start, $str);
} catch (\Exception $e) {
var_dump($str);
exit();
}
$result = [];
foreach ($temp as $index => $value) {
if ($index == 0) continue;
$content = preg_split($end, $value);
array_push($result, $content[0]);
}
return $result;
}
//$id=3840221;
@$url=$_GET['url'];
//$url="https://item.jd.com/4614647.html";
$appkey = '166398de4092e4dcbe0275ca4fe728dc';
if (strpos($url, 'item.jd')) {
$data = preg_substr('/item.jd.[a-z]+\//', '/.html/', $url);
}
$basefields = "pname,size,color,weight,imagePath";
$baseproduct_api = "https://way.jd.com/JDCloud/baseproduct?ids={$data[0]}&appkey={$appkey}&basefields={$basefields}";
$html = getHTTPS($baseproduct_api);
$base_json = json_decode($html, true);
$pname=$base_json['result']['jingdong_new_ware_baseproduct_get_responce']['listproductbase_result'][0]['pname'];
$urls=$base_json['result']['jingdong_new_ware_baseproduct_get_responce']['listproductbase_result'][0]['url'];
echo "商品名:".$pname."<br />";
echo "采集地址:".$urls."<br />";
echo "<br />";
echo "缩略图如下:"."</br>";
//dump($base_json['result']['jingdong_new_ware_baseproduct_get_responce']['listproductbase_result'][0]);
//缩略图
@$img_api = "https://way.jd.com/JDCloud/productimage?sku_id={$data[0]}&appkey={$appkey}";
$html = getHTTPS($img_api);
$img_json = json_decode($html, true);
@$arr = $img_json['result']['jingdong_ware_productimage_get_responce']['image_path_list'][0]['image_list'];
if (is_array($arr) && count($arr)>0 ){
foreach ($arr as $index => $value) {
$path = preg_replace('/n5/','n12',$value['path'],1);
$picsPath[] = '<img src="'.$path.'"/>';
}
}
if (is_array(@$picsPath) && count(@$picsPath)>0 ){
foreach($picsPath as $v){
echo $v."<hr />";
}
}
echo "<br />";
echo "图片详情:";
echo "<br />";
//图片详细
@$detail_api = "https://way.jd.com/JDCloud/mobilebigfield?skuid={$data[0]}&appkey={$appkey}";
$html = getHTTPS($detail_api);
$detail_json = json_decode($html, true);
@$img=$detail_json['result']['jingdong_new_ware_mobilebigfield_get_responce']['result'];
echo ($img);
function dump($arr)
{
echo '<pre>';
var_dump($arr);
echo '</pre>';
}
?>
?>
public function j_copy($id)
{
$appkey = '166398de4092e4dcbe0275ca4fe728dc';
//图文详情
try {
$detail_api = "https://way.jd.com/JDCloud/mobilebigfield?skuid={$id}&appkey={$appkey}";
$html = $this->getHTTPS($detail_api);
$detail_json = json_decode($html, true);
if ($detail_json['code'] != '10000') {
return [
'code' => 1,
'msg' => $detail_json['msg']
];
}
if ($detail_json['result']['error_response']) {
return [
'code' => 1,
'msg' => '链接错误_1'
];
}
$detail_info = $detail_json['result']['jingdong_new_ware_mobilebigfield_get_responce']['result'];
} catch (\Exception $e) {
$detail_info = "";
}
//商品基本信息
$title = '';
$goods_price_sale = '';
$goods_price = '';
$sale_count = '';
$quantity = '';
$attr_group_list = [];
$checked_attr_list = [];
$picsPath = [];
try {
$basefields = "pname,size,color,weight,imagePath";
$baseproduct_api = "https://way.jd.com/JDCloud/baseproduct?ids={$id}&appkey={$appkey}&basefields={$basefields}";
$html = $this->getHTTPS($baseproduct_api);
$base_json = json_decode($html, true);
if ($base_json['code'] != '10000') {
return [
'code' => 1,
'msg' => $base_json['msg']
];
}
if ($base_json['result']['error_response']) {
return [
'code' => 1,
'msg' => '链接错误_2'
];
}
$arr = $base_json['result']['jingdong_new_ware_baseproduct_get_responce']['listproductbase_result'];
$title = $arr[0]['pname'];
if ($arr[0]['size']) {
$attr_group_list[] = [
'attr_group_name' => '规格',
'attr_list' => [
[
'attr_name' => $arr[0]['size']
]
]
];
$checked_attr_list[0]['attr_list'][] = [
'attr_group_name' => '颜色',
'attr_name' => $arr[0]['size']
];
}
if ($arr[0]['color']) {
$attr_group_list[] = [
'attr_group_name' => '规格',
'attr_list' => [
[
'attr_name' => $arr[0]['color']
]
]
];
$checked_attr_list[0]['attr_list'][] = [
'attr_group_name' => '颜色',
'attr_name' => $arr[0]['color']
];
}
if($arr[0]['imagePath']){
$picsPath[] = preg_replace('/n0/','n12',$arr[0]['imagePath'],1);
}
} catch (\Exception $e) {
}
try {
$img_api = "https://way.jd.com/JDCloud/productimage?sku_id={$id}&appkey={$appkey}";
$html = $this->getHTTPS($img_api);
$img_json = json_decode($html, true);
if ($img_json['code'] != '10000') {
return [
'code' => 1,
'msg' => $img_json['msg']
];
}
if ($img_json['result']['error_response']) {
return [
'code' => 1,
'msg' => '链接错误_3'
];
}
$arr = $img_json['result']['jingdong_ware_productimage_get_responce']['image_path_list'][0]['image_list'];
foreach ($arr as $index => $value) {
$path = preg_replace('/n5/','n12',$value['path'],1);
$picsPath[] = $path;
}
} catch (\Exception $e) {
}
return [
'title' => $title,//标题
'picsPath' => $picsPath,//缩略图
'price' => $goods_price,//原价
'sale_price' => $goods_price_sale,//售价
'sale_count' => $sale_count,//销量
'quantity' => $quantity,//库存
'attr_group_list' => $attr_group_list,//规格列表
'checked_attr_list' => $checked_attr_list,//规格库存列表
'detail_info' => $detail_info//图文详情
];
}
curl访问https
/**
* @param $url
* @return mixed
* curl访问https
*/
public function getHTTPS($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
访问http
public function normal_curl($url)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($curl);
//错误提示
if (curl_exec($curl) === false) {
die(curl_error($curl));
}
// 检查是否有错误发生
if (curl_errno($curl)) {
echo 'Curl error: ' . curl_error($curl);
}
curl_close($curl);
return $data;
}