using AllBase; using AllBase.Model.DBModel; using AllBase.Model.Result; using NaiBa.Util.Extension; using System; using System.Collections.Generic; using System.IO; using System.IO.Compression; using System.Linq; using System.Net; using System.Text; using System.Threading.Tasks; namespace Work._29Tools.BLL { public class HttpResponseYkdBLL { public static string YangkeduoPostResponse(BuyerLoginInfo buyer, string _url, string _data, string referer) { string cookies = ""; try { var cookieLst = JsonHelper.DeserializeJsonToList(buyer?.cookie.ParseToString()); if (cookieLst == null) cookieLst = new List(); foreach (var cook in cookieLst) { cookies += cook.Name + "=" + cook.Value + ";"; } } catch { } HttpWebResponse response = null; string result; try { string url = _url; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.KeepAlive = true; request.Headers.Add("sec-ch-ua-platform", @"""Windows"""); request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36"; request.Accept = "application/json, text/plain, */*"; request.Headers.Add("sec-ch-ua", @"""Not)A;Brand"";v=""8"", ""Chromium"";v=""138"""); request.Headers.Add("sec-ch-ua-mobile", @"?0"); request.Headers.Add("Origin", @"https://mobile.yangkeduo.com"); request.Headers.Set(HttpRequestHeader.Cookie, cookies); //request.Headers.Add("VerifyAuthToken", @"m1PjolxzzHNRdzkNf4X0rQ4b1c734034415e092"); request.Headers.Add("Sec-Fetch-Site", @"same-origin"); request.Headers.Add("Sec-Fetch-Mode", @"cors"); request.Headers.Add("Sec-Fetch-Dest", @"empty"); request.Referer = referer; //request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate, br, zstd"); request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate"); request.Headers.Set(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.9"); request.Method = "POST"; request.ServicePoint.Expect100Continue = false; string body = _data; byte[] postBytes = System.Text.Encoding.UTF8.GetBytes(body); request.ContentLength = postBytes.Length; Stream stream = request.GetRequestStream(); stream.Write(postBytes, 0, postBytes.Length); stream.Close(); response = (HttpWebResponse)request.GetResponse(); } catch (WebException ex) { if (ex.Status == WebExceptionStatus.ProtocolError) { response = (HttpWebResponse)ex.Response; result = HttpResponseBLL.ReadResponse(response); return result; } else return ex.Message; } catch (Exception e) { if (response != null) response.Close(); return e.Message; } result = HttpResponseBLL.ReadResponse(response); return result; } public static string YangkeduoGetResponse(BuyerLoginInfo buyer, string _url, string referer = "") { string cookies = ""; try { var cookieLst = JsonHelper.DeserializeJsonToList(buyer?.cookie.ParseToString()); if (cookieLst == null) cookieLst = new List(); foreach (var cook in cookieLst) { cookies += cook.Name + "=" + cook.Value + ";"; } } catch { } HttpWebResponse response = null; string result; try { string url = _url; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.KeepAlive = true; request.Headers.Add("sec-ch-ua-platform", @"""Windows"""); request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36"; request.Accept = "application/json, text/plain, */*"; request.Headers.Add("sec-ch-ua", @"""Not)A;Brand"";v=""8"", ""Chromium"";v=""138"""); request.Headers.Add("sec-ch-ua-mobile", @"?0"); request.Headers.Set(HttpRequestHeader.Cookie, cookies); request.Headers.Add("Sec-Fetch-Site", @"same-origin"); request.Headers.Add("Sec-Fetch-Mode", @"cors"); request.Headers.Add("Sec-Fetch-Dest", @"empty"); //request.Referer = "https://mobile.yangkeduo.com/goods.html?goods_id=668777537796&_oak_rcto=YWKWG77VXtDidZlaaAew84Hjoi0WMIkr6Sb3iSrTsNPiwhxdCIE-1DEr&_oc_trace_mark=199&_oc_adinfo=eyJwYWdlX3NuIjoxMDAwMiwic2NlbmVfaWQiOjUwNn0%3D&_oak_gallery_token=49fa7eda1bcf57d32ea05e34565ca727&_oak_gallery=https%3A%2F%2Fimg.pddpic.com%2Fmms-material-img%2F2025-08-19%2F74364405-4d67-4d13-ad64-1712f70865db.jpeg.a.jpeg&_oc_refer_ad=1&page_from=35&thumb_url=https%3A%2F%2Fimg.pddpic.com%2Fmms-material-img%2F2025-08-19%2F74364405-4d67-4d13-ad64-1712f70865db.jpeg.a.jpeg%3FimageMogr2%2Fthumbnail%2F400x%257CimageView2%2F2%2Fw%2F400%2Fq%2F80%2Fformat%2Fwebp&refer_page_name=index&refer_page_id=10002_1775730536937_hocm3gfy6j&refer_page_sn=10002&uin=CFS2K7V47GEISCE6TLYY6HRWPI_GEXDA"; request.Referer = referer; //request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate, br, zstd"); request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate"); request.Headers.Set(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.9"); response = (HttpWebResponse)request.GetResponse(); } catch (WebException ex) { if (ex.Status == WebExceptionStatus.ProtocolError) { response = (HttpWebResponse)ex.Response; result = HttpResponseBLL.ReadResponse(response); return result; } else return ex.Message; } catch (Exception e) { if (response != null) response.Close(); return e.Message; } result = HttpResponseBLL.ReadResponse(response); return result; } public static string YangkeduoGetPageResponse(BuyerLoginInfo buyer, string _url, string referer = "") { string cookies = ""; try { var cookieLst = JsonHelper.DeserializeJsonToList(buyer?.cookie.ParseToString()); if (cookieLst == null) cookieLst = new List(); foreach (var cook in cookieLst) { cookies += cook.Name + "=" + cook.Value + ";"; } } catch { } HttpWebResponse response = null; string result; try { string url = _url; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.KeepAlive = true; request.Headers.Add("sec-ch-ua", @"""Not)A;Brand"";v=""8"", ""Chromium"";v=""138"""); request.Headers.Add("sec-ch-ua-mobile", @"?0"); request.Headers.Add("sec-ch-ua-platform", @"""Windows"""); request.Headers.Add("Upgrade-Insecure-Requests", @"1"); request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36"; request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"; request.Headers.Set(HttpRequestHeader.Cookie, cookies); request.Headers.Add("Sec-Fetch-Site", @"none"); request.Headers.Add("Sec-Fetch-Mode", @"navigate"); request.Headers.Add("Sec-Fetch-User", @"?1"); request.Headers.Add("Sec-Fetch-Dest", @"document"); if (!string.IsNullOrEmpty(referer)) request.Referer = referer; //request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate, br, zstd"); request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate"); request.Headers.Set(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.9"); response = (HttpWebResponse)request.GetResponse(); } catch (WebException ex) { if (ex.Status == WebExceptionStatus.ProtocolError) { response = (HttpWebResponse)ex.Response; result = HttpResponseBLL.ReadResponse(response); return result; } else return ex.Message; } catch (Exception e) { if (response != null) response.Close(); return e.Message; } result = HttpResponseBLL.ReadResponse(response); return result; } public static string YangkeduoGetSearchOrderResponse(BuyerLoginInfo buyer, string _url, string referer = "") { string cookies = ""; try { var cookieLst = JsonHelper.DeserializeJsonToList(buyer?.cookie.ParseToString()); if (cookieLst == null) cookieLst = new List(); foreach (var cook in cookieLst) { cookies += cook.Name + "=" + cook.Value + ";"; } } catch { } HttpWebResponse response = null; string result; try { string url = _url; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.KeepAlive = true; request.Headers.Add("sec-ch-ua", @"""Not)A;Brand"";v=""8"", ""Chromium"";v=""138"""); request.Headers.Add("sec-ch-ua-mobile", @"?0"); request.Headers.Add("sec-ch-ua-platform", @"""Windows"""); request.Headers.Add("Upgrade-Insecure-Requests", @"1"); request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36"; request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"; request.Headers.Set(HttpRequestHeader.Cookie, cookies); request.Headers.Add("Sec-Fetch-Site", @"same-origin"); request.Headers.Add("Sec-Fetch-Mode", @"navigate"); request.Headers.Add("Sec-Fetch-User", @"?1"); request.Headers.Add("Sec-Fetch-Dest", @"document"); if (!string.IsNullOrEmpty(referer)) request.Referer = referer; //request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate, br, zstd"); request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate"); request.Headers.Set(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.9"); response = (HttpWebResponse)request.GetResponse(); } catch (WebException ex) { if (ex.Status == WebExceptionStatus.ProtocolError) { response = (HttpWebResponse)ex.Response; result = HttpResponseBLL.ReadResponse(response); return result; } else return ex.Message; } catch (Exception e) { if (response != null) response.Close(); return e.Message; } result = HttpResponseBLL.ReadResponse(response); return result; } } }