177 lines
9.3 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|