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(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 list_desc = new List(); public int market_price; public string thumb_url; public string image_url; public string hd_thumb_url; public CommitExtensionBase commit_extension; public List galleries; public List sku; public List cat_ids; public List 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 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; } }