143 lines
4.2 KiB
C#
143 lines
4.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using AllBase;
|
|
|
|
namespace Work.Api
|
|
{
|
|
public class GetEditDetail
|
|
{
|
|
public ShopChatBase Shop;
|
|
public string Name;
|
|
public GetEditDetail(ShopChatBase shop,string name)
|
|
{
|
|
Shop = shop;
|
|
Name = name;
|
|
}
|
|
|
|
public ResultBase Get(long pin)
|
|
{
|
|
string html = GetHtmlBy(pin);
|
|
if (string.IsNullOrEmpty(html) || !html.Contains("\"success\":true"))
|
|
{
|
|
LogSave.Add(Name, "商品不存在:" + pin);
|
|
return null;
|
|
}
|
|
if (BaseRegex.GetIntJson(ref html, "is_onsale") == 0)
|
|
{
|
|
LogSave.Add(Name, "商品已下架:" + pin);
|
|
return null;
|
|
}
|
|
GetEditDetailBase tp = JsonHelper.DeserializeJsonToObject<GetEditDetailBase>(html);
|
|
tp.result.fabricx = BaseRegex.GetIntJson(ref html, "fabric");
|
|
tp.result.fabric_contentx = BaseRegex.GetIntJson(ref html, "fabric_content");
|
|
return tp.result;
|
|
}
|
|
|
|
public string GetHtmlBy(long pin)
|
|
{
|
|
string url = "https://mms.pinduoduo.com/glide/v2/mms/query/commit/detail/"+pin;
|
|
string refere = "https://mms.pinduoduo.com/Pdd.html";
|
|
WebClientx wb = new WebClientx();
|
|
wb.Timeout = 30;
|
|
wb.AllowAutoRedirect = false;
|
|
wb.Headers.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8");
|
|
wb.Headers.Add("Accept-Encoding", "gzip,deflate");
|
|
wb.Headers.Add("Accept-Language", "zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3");
|
|
wb.Headers.Add("User-Agent", BaseClass.ChromeUserAgent);
|
|
wb.Headers.Add("Upgrade-Insecure-Requests", "1");
|
|
wb.Headers.Add("Referer", "https://mms.pinduoduo.com/Pdd.html");
|
|
wb.Headers.Add("Cookie", Shop.Cookies);
|
|
try
|
|
{
|
|
var b = wb.DownloadData(url);
|
|
return Encoding.UTF8.GetString(b);
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
return e.Message;
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
public class GetEditDetailBase
|
|
{
|
|
public bool success;
|
|
public ResultBase result;
|
|
}
|
|
|
|
public class ResultBase
|
|
{
|
|
public long id;
|
|
public long goods_id;
|
|
public int check_status;
|
|
public int commit_deleted;
|
|
public string owner;
|
|
public int is_shop;
|
|
public string goods_sn;
|
|
public int is_folt;
|
|
public string warm_tips;
|
|
public int fabricx;
|
|
public int fabric_contentx;
|
|
public int cost_template_id;
|
|
public int cat_id;
|
|
public int mall_id;
|
|
public string goods_name;
|
|
public string tiny_name;
|
|
public string goods_desc;
|
|
public string share_desc;
|
|
public List<string> list_desc = new List<string>();
|
|
public int market_price;
|
|
public string thumb_url;
|
|
public string image_url;
|
|
public string hd_thumb_url;
|
|
public CommitExtensionBase commit_extension;
|
|
public List<GalleriesBase> galleries;
|
|
public List<SkuDetailBase> sku;
|
|
public List<int> cat_ids;
|
|
public List<string> cats;
|
|
public string owner_name;
|
|
}
|
|
|
|
public class CommitExtensionBase
|
|
{
|
|
public long goods_commit_id;
|
|
public string out_goods_sn;
|
|
}
|
|
|
|
public class GalleriesBase
|
|
{
|
|
public string url;
|
|
public int width;
|
|
public int height;
|
|
public int type;
|
|
}
|
|
|
|
public class SkuDetailBase
|
|
{
|
|
public long id;
|
|
public long sku_id;
|
|
public string sku_sn;
|
|
public int is_onsale;
|
|
public int limit_quantity;
|
|
public int multi_price;
|
|
public int price;
|
|
public int quantity;
|
|
public string thumb_url;
|
|
public List<SpecDetailBase> spec;
|
|
public string out_sku_sn;
|
|
}
|
|
|
|
public class SpecDetailBase
|
|
{
|
|
public int parent_id;
|
|
public string parent_name;
|
|
public long spec_id;
|
|
public string spec_name;
|
|
}
|
|
}
|