Files
KJD/TEMUKJD/BLL/JSTHttpResponseBLL.cs

177 lines
9.3 KiB
C#

using AllBase;
using AllBase.Model.Result;
using NaiBa.Util.Extension;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
namespace TemuKJD.BLL
{
public class JSTHttpResponseBLL
{
public static string JSTPostResponse(ShopLoginInfo shop, string _url, string _data, string referer, string appVersion = null)
{
string cookies = "";
string Authorization = "";
string gwfpArr = "0123456789abcdef";
string gwfp = "";
for (int i = 0; i < 32; i++)
{
gwfp += gwfpArr[Randomx.GetId(gwfpArr.Length)];
}
try
{
var cookieLst = JsonHelper.DeserializeJsonToList<CefSharp.Cookie>(shop?.Cookies.ParseToString());
if (cookieLst == null)
cookieLst = new List<CefSharp.Cookie>();
foreach (var cook in cookieLst)
{
cookies += cook.Name + "=" + cook.Value + ";";
if (cook.Name == "DISTRYBUTION_TOKEN")
Authorization = 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.Headers.Set(HttpRequestHeader.Authorization, Authorization); //"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOiIyMDgxMjU3OCIsInJvbGVJZHMiOltdLCJ1c2VyX25hbWUiOiIxODEzMzYzMjE0NSIsImNvSWQiOiIxNDc5MTQ3NyIsImV4cGlyYXRpb24iOjE3NzAwMDE4ODcwOTgsInVzZXIiOnsiY29JZCI6IjE0NzkxNDc3IiwiY29OYW1lIjoi6YOR5bee6ICA6Ziz572R57uc5pyJ6ZmQ5YWs5Y-4IiwibG9naW5OYW1lIjoiMTgxMzM2MzIxNDUiLCJsb2dpbldheSI6IlVTRVJOQU1FIiwibmlja05hbWUiOiLogIHpqawiLCJyb2xlSWRzIjoiMTEsMTIsMTMsMTQsMTUsMTYsMTcsMTgsMjIsMjMsMjcsMjgsMjksMzAsMzEsMzIsMzMsMzQsMzUsMzYsMzksNDAsNDEsNTIsNTMsNTQsNjEsNjIsNjMsNjQsNjUsNjYsNzAsNzEsNzIsNzMsNzYsOTAsMTAxLDEwMiwxMDMsMTA0LDEwNSwxMDYsMTA3LDEwOCwxMDkiLCJ1aWQiOiIyMDgxMjU3OCJ9LCJhdXRob3JpdGllcyI6WyJKU1QtY2hhbm5lbCIsIm11bHRpTG9naW4iLCJKU1Qtc3VwcGxpZXIiXSwiY2xpZW50X2lkIjoicGMiLCJqdGkiOiJlNGFhYjhiMi01MGM3LTQ2OGQtODQ2Zi03YWM1MzFkYjdkM2UiLCJleHAiOjE3NzAwMDE4ODd9.t-OXhlZVX-zXf0SLbavN7NS6LxOPQi5js2g1ArLzOT8");
request.Headers.Add("gwfp", gwfp); //@"20b34e80784f89c9ab8ebb9344fbc253");
request.Headers.Add("sec-ch-ua", @"""Not)A;Brand"";v=""8"", ""Chromium"";v=""138""");
request.Headers.Add("sec-ch-ua-mobile", @"?0");
if (appVersion.IsNullOrEmpty())
appVersion = @"SUPPLIER_20260123202519";
//request.Headers.Add("App-Version", @"DLZ_20260122203449");
//request.Headers.Add("Source", @"CHANNEL");
request.Headers.Add("App-Version", appVersion);
request.Headers.Add("Source", @"SUPPLIER");
request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.5.40.8 Safari/537.36 PddWorkbench-Online PddBrowser pdd_windows_version/3.0.3.12";
request.Accept = "application/json";
request.ContentType = "application/json;charset=UTF-8";
request.Headers.Add("appCode", @"sc.scm121.com");
request.Headers.Add("Origin", @"https://sc.scm121.com");
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 = GetProxyHtml.ReadResponse(response);
return result;
}
else return ex.Message;
}
catch (Exception e)
{
if (response != null) response.Close();
return e.Message;
}
result = GetProxyHtml.ReadResponse(response);
return result;
}
public static string JSTGetResponse(ShopLoginInfo shop, string _url, string referer, string appVersion = null)
{
string cookies = "";
string Authorization = "";
string gwfpArr = "0123456789abcdef";
string gwfp = "";
for (int i = 0; i < 32; i++)
{
gwfp += gwfpArr[Randomx.GetId(gwfpArr.Length)];
}
try
{
var cookieLst = JsonHelper.DeserializeJsonToList<CefSharp.Cookie>(shop?.Cookies.ParseToString());
if (cookieLst == null)
cookieLst = new List<CefSharp.Cookie>();
foreach (var cook in cookieLst)
{
cookies += cook.Name + "=" + cook.Value + ";";
if (cook.Name == "DISTRYBUTION_TOKEN")
Authorization = 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.Headers.Set(HttpRequestHeader.Authorization, Authorization); //"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOiIyMDgxMjU3OCIsInJvbGVJZHMiOltdLCJ1c2VyX25hbWUiOiIxODEzMzYzMjE0NSIsImNvSWQiOiIxNDc5MTQ3NyIsImV4cGlyYXRpb24iOjE3NzAwMDE4ODcwOTgsInVzZXIiOnsiY29JZCI6IjE0NzkxNDc3IiwiY29OYW1lIjoi6YOR5bee6ICA6Ziz572R57uc5pyJ6ZmQ5YWs5Y-4IiwibG9naW5OYW1lIjoiMTgxMzM2MzIxNDUiLCJsb2dpbldheSI6IlVTRVJOQU1FIiwibmlja05hbWUiOiLogIHpqawiLCJyb2xlSWRzIjoiMTEsMTIsMTMsMTQsMTUsMTYsMTcsMTgsMjIsMjMsMjcsMjgsMjksMzAsMzEsMzIsMzMsMzQsMzUsMzYsMzksNDAsNDEsNTIsNTMsNTQsNjEsNjIsNjMsNjQsNjUsNjYsNzAsNzEsNzIsNzMsNzYsOTAsMTAxLDEwMiwxMDMsMTA0LDEwNSwxMDYsMTA3LDEwOCwxMDkiLCJ1aWQiOiIyMDgxMjU3OCJ9LCJhdXRob3JpdGllcyI6WyJKU1QtY2hhbm5lbCIsIm11bHRpTG9naW4iLCJKU1Qtc3VwcGxpZXIiXSwiY2xpZW50X2lkIjoicGMiLCJqdGkiOiJlNGFhYjhiMi01MGM3LTQ2OGQtODQ2Zi03YWM1MzFkYjdkM2UiLCJleHAiOjE3NzAwMDE4ODd9.t-OXhlZVX-zXf0SLbavN7NS6LxOPQi5js2g1ArLzOT8");
request.Headers.Add("gwfp", gwfp); //@"20b34e80784f89c9ab8ebb9344fbc253");
request.Headers.Add("sec-ch-ua", @"""Not)A;Brand"";v=""8"", ""Chromium"";v=""138""");
request.Headers.Add("sec-ch-ua-mobile", @"?0");
if (appVersion.IsNullOrEmpty())
appVersion = @"SUPPLIER_20260123202519";
request.Headers.Add("App-Version", appVersion);
request.Headers.Add("Source", @"SUPPLIER");
request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.5.40.8 Safari/537.36 PddWorkbench-Online PddBrowser pdd_windows_version/3.0.3.12";
request.Headers.Add("appCode", @"sc.scm121.com");
request.Accept = "*/*";
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");
response = (HttpWebResponse)request.GetResponse();
}
catch (WebException ex)
{
if (ex.Status == WebExceptionStatus.ProtocolError)
{
response = (HttpWebResponse)ex.Response;
result = GetProxyHtml.ReadResponse(response);
return result;
}
else return ex.Message;
}
catch (Exception e)
{
if (response != null) response.Close();
return e.Message;
}
result = GetProxyHtml.ReadResponse(response);
return result;
}
}
}