819 lines
30 KiB
C#
819 lines
30 KiB
C#
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.Linq;
|
|
using System.Net;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Work._29Tools.BLL
|
|
{
|
|
public class HttpResponseWXBLL
|
|
{
|
|
//Assistant
|
|
public static string WeiXinAssistantPostResponse(ShopLoginInfo shop, string _url, string _data, string referer)
|
|
{
|
|
string biz_magic = "";
|
|
string talent_magic = "";
|
|
string cookies = "";
|
|
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 + ";";
|
|
}
|
|
//var bizMagicCookie = cookieLst.FirstOrDefault(c => c.Name == "biz_magic");
|
|
//if (bizMagicCookie != null)
|
|
// biz_magic = bizMagicCookie.Value;
|
|
var talentMagicCookie = cookieLst.FirstOrDefault(c => c.Name == "talent_magic");
|
|
if (talentMagicCookie != null)
|
|
talent_magic = talentMagicCookie.Value;
|
|
}
|
|
catch { }
|
|
|
|
HttpWebResponse response = null;
|
|
string result;
|
|
try
|
|
{
|
|
string url = _url;
|
|
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
|
|
|
|
request.KeepAlive = true;
|
|
request.Headers.Add("wecom_magic", @"");
|
|
request.Headers.Add("sec-ch-ua-platform", @"""Windows""");
|
|
request.Headers.Add("supplier_magic", @"");
|
|
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("potter-scene", @"weixinShop");
|
|
request.Headers.Add("biz_magic", "");
|
|
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("talent_magic", talent_magic);
|
|
request.ContentType = "application/json";
|
|
request.Headers.Add("mcn_magic", @"");
|
|
request.Headers.Add("Origin", @"https://store.weixin.qq.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.AcceptLanguage, "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6");
|
|
request.Headers.Set(HttpRequestHeader.Cookie, cookies);
|
|
|
|
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 WeiXinPostResponse(ShopLoginInfo shop, string _url, string _data, string referer)
|
|
{
|
|
string biz_magic = "";
|
|
string cookies = "";
|
|
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 + ";";
|
|
}
|
|
var bizMagicCookie = cookieLst.FirstOrDefault(c => c.Name == "biz_magic");
|
|
if (bizMagicCookie != null)
|
|
biz_magic = bizMagicCookie.Value;
|
|
}
|
|
catch { }
|
|
|
|
HttpWebResponse response = null;
|
|
string result;
|
|
try
|
|
{
|
|
string url = _url;
|
|
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
|
|
|
|
request.KeepAlive = true;
|
|
request.Headers.Add("wecom_magic", @"");
|
|
request.Headers.Add("sec-ch-ua-platform", @"""Windows""");
|
|
request.Headers.Add("supplier_magic", @"");
|
|
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("potter-scene", @"weixinShop");
|
|
request.Headers.Add("biz_magic", biz_magic);
|
|
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("talent_magic", @"");
|
|
request.ContentType = "application/json";
|
|
request.Headers.Add("mcn_magic", @"");
|
|
request.Headers.Add("Origin", @"https://store.weixin.qq.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.AcceptLanguage, "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6");
|
|
request.Headers.Set(HttpRequestHeader.Cookie, cookies);
|
|
|
|
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 WeiXinTalentOpenKfPostResponse(ShopLoginInfo shop, string _url, string _data, string referer)
|
|
{
|
|
string biz_magic = "";
|
|
string cookies = "";
|
|
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 + ";";
|
|
}
|
|
var bizMagicCookie = cookieLst.FirstOrDefault(c => c.Name == "biz_magic");
|
|
if (bizMagicCookie != null)
|
|
biz_magic = bizMagicCookie.Value;
|
|
}
|
|
catch { }
|
|
|
|
HttpWebResponse response = null;
|
|
string result;
|
|
try
|
|
{
|
|
string url = _url;
|
|
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
|
|
|
|
request.KeepAlive = true;
|
|
request.Headers.Add("wecom_magic", @"");
|
|
request.Headers.Add("user_scene", @"1002");
|
|
request.Headers.Add("kf_scene", @"6");
|
|
request.Headers.Add("sec-ch-ua-platform", @"""Windows""");
|
|
request.Headers.Add("supplier_magic", @"");
|
|
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("potter-scene", @"weixinShop");
|
|
request.Headers.Add("biz_magic", biz_magic);
|
|
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("talent_magic", @"");
|
|
request.ContentType = "application/json";
|
|
request.Headers.Add("logistics_magic", @"");
|
|
request.Headers.Add("mcn_magic", @"");
|
|
request.Headers.Add("Origin", @"https://store.weixin.qq.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.AcceptLanguage, "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6");
|
|
request.Headers.Set(HttpRequestHeader.Cookie, cookies);
|
|
|
|
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 WeiXinImgPostResponse(ShopLoginInfo shop, string _url, string _data, string dis_k, long dis_t, string ext, string referer = "https://store.weixin.qq.com/")
|
|
{
|
|
string biz_magic = "";
|
|
string cookies = "";
|
|
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 + ";";
|
|
}
|
|
var bizMagicCookie = cookieLst.FirstOrDefault(c => c.Name == "biz_magic");
|
|
if (bizMagicCookie != null)
|
|
biz_magic = bizMagicCookie.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.Add("sec-ch-ua", @"""Not)A;Brand"";v=""8"", ""Chromium"";v=""138""");
|
|
request.Headers.Add("sec-ch-ua-mobile", @"?0");
|
|
request.Headers.Add("X-Requested-With", @"XMLHttpRequest");
|
|
//request.Headers.Add("X-Arguments", @"dis_k=9974f70b8c9e17952a3bf6aa7b0fcfee84d976d5&dis_t=1767868679&ext=1b37ffc79cfe7&apptype=160&filetype=20304&openid=ouBgG2b2iqWytVlHHK0lhZvMBf2o&groupid=0&taskid=c9059d06-383e-460e-86e6-a0cb134016a9");
|
|
request.Headers.Add("X-Arguments", @"dis_k=" + dis_k + @"&dis_t=" + dis_t + @"&ext=" + ext + @"&apptype=160&filetype=20304&openid=" + shop.openid + @"&groupid=0&taskid=" + Guid.NewGuid().ToString());
|
|
request.Accept = "application/json, text/plain, */*";
|
|
request.ContentType = "application/json";
|
|
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.Headers.Add("Origin", @"https://store.weixin.qq.com");
|
|
request.Headers.Add("Sec-Fetch-Site", @"same-site");
|
|
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.AcceptLanguage, "zh-CN,zh;q=0.9");
|
|
|
|
|
|
request.Method = "POST";
|
|
request.ServicePoint.Expect100Continue = false;
|
|
|
|
string body = _data;
|
|
byte[] postBytes = Convert.FromBase64String(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 WeiXinUploadResponse(ShopLoginInfo shop, string _url, string _body, string boundaryStr, string referer)
|
|
{
|
|
|
|
string biz_magic = "";
|
|
string cookies = "";
|
|
try
|
|
{
|
|
var cookieLst = JsonHelper.DeserializeJsonToList<CefSharp.Cookie>(shop?.Cookies.ParseToString());
|
|
if (cookieLst == null)
|
|
cookieLst = new List<CefSharp.Cookie>();
|
|
foreach (var cook in cookieLst)
|
|
{
|
|
if (cook.Name.StartsWith("biz"))
|
|
cookies += cook.Name + "=" + cook.Value + ";";
|
|
}
|
|
var bizMagicCookie = cookieLst.FirstOrDefault(c => c.Name == "biz_magic");
|
|
if (bizMagicCookie != null)
|
|
biz_magic = bizMagicCookie.Value;
|
|
}
|
|
catch { }
|
|
|
|
HttpWebResponse response = null;
|
|
string result;
|
|
try
|
|
{
|
|
string url = _url;
|
|
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
|
|
|
|
request.Headers.Add("wecom_magic", @"");
|
|
request.Headers.Add("sec-ch-ua-platform", @"""Windows""");
|
|
request.Headers.Add("supplier_magic", @"");
|
|
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("potter-scene", @"weixinShop");
|
|
request.Headers.Add("biz_magic", biz_magic);
|
|
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("talent_magic", @"");
|
|
request.ContentType = "multipart/form-data; boundary=" + boundaryStr;
|
|
request.Headers.Add("mcn_magic", @"");
|
|
request.Headers.Add("Origin", @"https://store.weixin.qq.com");
|
|
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 = referer; //"https://store.weixin.qq.com/shop/goods/entry";
|
|
request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate, br, zstd");
|
|
request.Headers.Set(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.9");
|
|
|
|
|
|
request.Method = "POST";
|
|
request.ServicePoint.Expect100Continue = false;
|
|
|
|
string body = _body;
|
|
HttpResponseBLL.WriteMultipartBodyToRequest(request, body);
|
|
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 WeiXinGetResponse(ShopLoginInfo shop, string _url, string referer = "", bool isGetDocument = false)
|
|
{
|
|
string biz_magic = "";
|
|
string cookies = "";
|
|
try
|
|
{
|
|
var cookieLst = JsonHelper.DeserializeJsonToList<CefSharp.Cookie>(shop?.Cookies.ParseToString());
|
|
if (cookieLst == null)
|
|
cookieLst = new List<CefSharp.Cookie>();
|
|
foreach (var cook in cookieLst)
|
|
{
|
|
if (cook.Name.StartsWith("biz"))
|
|
cookies += cook.Name + "=" + cook.Value + ";";
|
|
}
|
|
var bizMagicCookie = cookieLst.FirstOrDefault(c => c.Name == "biz_magic");
|
|
if (bizMagicCookie != null)
|
|
biz_magic = bizMagicCookie.Value;
|
|
}
|
|
catch { }
|
|
|
|
HttpWebResponse response = null;
|
|
string result;
|
|
try
|
|
{
|
|
string url = _url;
|
|
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
|
|
|
|
request.KeepAlive = true;
|
|
if (isGetDocument)
|
|
{
|
|
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");
|
|
}
|
|
else
|
|
{
|
|
request.Headers.Add("wecom_magic", @"");
|
|
request.Headers.Add("sec-ch-ua-platform", @"""Windows""");
|
|
request.Headers.Add("supplier_magic", @"");
|
|
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("potter-scene", @"weixinShop");
|
|
request.Headers.Add("biz_magic", biz_magic);
|
|
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("talent_magic", @"");
|
|
request.Headers.Add("mcn_magic", @"");
|
|
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 = referer;
|
|
request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate, br, zstd");
|
|
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 kdniaoPostResponse(string _url, string _data, string referer, Dictionary<string, object> reqDic, string kdnAuth = null, string kdnAuthKey = "Auth")
|
|
{
|
|
HttpWebResponse response = null;
|
|
string result;
|
|
try
|
|
{
|
|
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(_url);
|
|
|
|
request.KeepAlive = true;
|
|
request.Headers.Add("sec-ch-ua-platform", @"""Windows""");
|
|
//request.Headers.Add("kdnAuth", @"62993d99a28947aaadd6b79427929562");
|
|
//request.Headers.Add("kdnAuth", kdnAuth);
|
|
//request.Headers.Add("Auth", kdnAuth);
|
|
//request.Headers.Add(kdnAuthKey, kdnAuth);
|
|
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/javascript, */*; q=0.01";
|
|
request.ContentType = "application/x-www-form-urlencoded";
|
|
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://56.kdniao.com");
|
|
request.Headers.Set(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.9");
|
|
request.Headers.Add("Sec-Fetch-Site", @"same-site");
|
|
request.Headers.Add("Sec-Fetch-Mode", @"cors");
|
|
request.Headers.Add("Sec-Fetch-Dest", @"empty");
|
|
foreach (var key in reqDic.Keys)
|
|
{
|
|
if (request.Headers.AllKeys.Contains(key))
|
|
continue;
|
|
|
|
request.Headers.Add(key, reqDic[key].ParseToString());
|
|
}
|
|
|
|
request.Referer = referer;
|
|
request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate");
|
|
|
|
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 sAuthorization = "";
|
|
|
|
public static string e57PostResponse(string _url, string _data, string referer)
|
|
{
|
|
//if (string.IsNullOrEmpty(Authorization)) Authorization = "eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjQ3YmRlOGNlLWY5MDUtNDIzOS05M2VjLWZiN2U3MjRmOTY0NiJ9.vwxhj3t4zTDdBQTyfVjcKr-0Oma8-VtPDzE2LVkw4A4aWftncY1ikXgEhGwoYHn9E7yOnhS_Pb7FfzgecTqqHA";
|
|
|
|
bool isRetry = false;
|
|
|
|
Retry:
|
|
|
|
if (string.IsNullOrEmpty(sAuthorization))
|
|
{
|
|
var url3 = BaseClass.Build29WxObjString("user/get_e57_authorization");
|
|
var data3 = UserLogin.GetSignaturex();
|
|
var html3 = GetHtml.PostUtf8(url3, data3);
|
|
if (string.IsNullOrEmpty(html3) || !html3.Contains("\"code\":200"))
|
|
html3 = GetHtml.PostUtf8(url3, data3);
|
|
sAuthorization = BaseRegex.GetStringJson(ref html3, "authorization");
|
|
}
|
|
|
|
HttpWebResponse response = null;
|
|
string result;
|
|
try
|
|
{
|
|
string url = _url;
|
|
HttpWebRequest request;
|
|
if (url.StartsWith("https", StringComparison.OrdinalIgnoreCase))
|
|
{
|
|
ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => true;
|
|
ServicePointManager.SecurityProtocol =
|
|
ServicePointManager.SecurityProtocol | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
|
|
request = WebRequest.Create(url) as HttpWebRequest;
|
|
request.ProtocolVersion = HttpVersion.Version10;
|
|
}
|
|
else
|
|
request = (HttpWebRequest)WebRequest.Create(url);
|
|
|
|
request.KeepAlive = true;
|
|
request.ContentType = "application/json";
|
|
request.Headers.Add("sec-ch-ua", @"""Not(A:Brand"";v=""8"", ""Chromium"";v=""144"", ""Google Chrome"";v=""144""");
|
|
request.Headers.Add("sec-ch-ua-mobile", @"?0");
|
|
request.Headers.Add("sec-ch-ua-platform", @"""Windows""");
|
|
request.Headers.Add("Upgrade-Insecure-Requests", @"1");
|
|
request.Headers.Add("Authorization", "Bearer " + sAuthorization);
|
|
request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.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.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");
|
|
request.Headers.Set(HttpRequestHeader.Cookie, "Admin-Token=" + sAuthorization);
|
|
request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate");
|
|
request.Headers.Set(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.9");
|
|
request.Proxy = null;
|
|
|
|
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);
|
|
if ((result.Contains("没有Authorization") || result.Contains("授权过期")) && !isRetry)
|
|
{
|
|
isRetry = true;
|
|
sAuthorization = "";
|
|
goto Retry;
|
|
}
|
|
return result;
|
|
}
|
|
|
|
public static async Task<string> e57PostResponseAsync(string _url, string _data)
|
|
{
|
|
//await Task.Delay(2000);
|
|
//return await Task.FromResult("<AjaxResult><msg>SUCCESS</msg><code>200</code></AjaxResult>");
|
|
////if (string.IsNullOrEmpty(Authorization)) Authorization = "eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjQ3YmRlOGNlLWY5MDUtNDIzOS05M2VjLWZiN2U3MjRmOTY0NiJ9.vwxhj3t4zTDdBQTyfVjcKr-0Oma8-VtPDzE2LVkw4A4aWftncY1ikXgEhGwoYHn9E7yOnhS_Pb7FfzgecTqqHA";
|
|
|
|
bool isRetry = false;
|
|
|
|
Retry:
|
|
|
|
if (string.IsNullOrEmpty(sAuthorization))
|
|
{
|
|
var url3 = BaseClass.Build29WxObjString("user/get_e57_authorization");
|
|
var data3 = UserLogin.GetSignaturex();
|
|
var html3 = GetHtml.PostUtf8(url3, data3);
|
|
if (string.IsNullOrEmpty(html3) || !html3.Contains("\"code\":200"))
|
|
html3 = GetHtml.PostUtf8(url3, data3);
|
|
sAuthorization = BaseRegex.GetStringJson(ref html3, "authorization");
|
|
}
|
|
|
|
HttpWebResponse response = null;
|
|
string result;
|
|
try
|
|
{
|
|
string url = _url;
|
|
HttpWebRequest request;
|
|
if (url.StartsWith("https", StringComparison.OrdinalIgnoreCase))
|
|
{
|
|
ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => true;
|
|
ServicePointManager.SecurityProtocol =
|
|
ServicePointManager.SecurityProtocol | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
|
|
request = WebRequest.Create(url) as HttpWebRequest;
|
|
request.ProtocolVersion = HttpVersion.Version10;
|
|
}
|
|
else
|
|
request = (HttpWebRequest)WebRequest.Create(url);
|
|
request.KeepAlive = true;
|
|
request.ContentType = "application/json";
|
|
|
|
request.Headers.Add("Authorization", "Bearer " + sAuthorization);
|
|
request.Accept = "application/json";
|
|
request.Headers.Set(HttpRequestHeader.Cookie, "Admin-Token=" + sAuthorization);
|
|
request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate");
|
|
request.Headers.Set(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.9");
|
|
request.Proxy = null;
|
|
|
|
request.Method = "POST";
|
|
request.ServicePoint.Expect100Continue = false;
|
|
|
|
string body = _data;
|
|
byte[] postBytes = System.Text.Encoding.UTF8.GetBytes(body);
|
|
request.ContentLength = postBytes.Length;
|
|
Stream stream = await request.GetRequestStreamAsync();
|
|
stream.Write(postBytes, 0, postBytes.Length);
|
|
stream.Close();
|
|
|
|
response = (HttpWebResponse)await request.GetResponseAsync();
|
|
}
|
|
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);
|
|
if ((result.Contains("没有Authorization") || result.Contains("授权过期")) && !isRetry)
|
|
{
|
|
isRetry = true;
|
|
sAuthorization = "";
|
|
goto Retry;
|
|
}
|
|
return result;
|
|
}
|
|
|
|
public static string e57GetResponse(string _url, string referer)
|
|
{
|
|
bool isRetry = false;
|
|
|
|
Retry:
|
|
|
|
if (string.IsNullOrEmpty(sAuthorization))
|
|
{
|
|
var url3 = BaseClass.Build29WxObjString("user/get_e57_authorization");
|
|
var data3 = UserLogin.GetSignaturex();
|
|
var html3 = GetHtml.PostUtf8(url3, data3);
|
|
if (string.IsNullOrEmpty(html3) || !html3.Contains("\"code\":200"))
|
|
html3 = GetHtml.PostUtf8(url3, data3);
|
|
sAuthorization = BaseRegex.GetStringJson(ref html3, "authorization");
|
|
}
|
|
|
|
HttpWebResponse response = null;
|
|
string result;
|
|
try
|
|
{
|
|
string url = _url;
|
|
|
|
HttpWebRequest request;
|
|
if (url.StartsWith("https", StringComparison.OrdinalIgnoreCase))
|
|
{
|
|
ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => true;
|
|
ServicePointManager.SecurityProtocol =
|
|
ServicePointManager.SecurityProtocol | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
|
|
request = WebRequest.Create(url) as HttpWebRequest;
|
|
request.ProtocolVersion = HttpVersion.Version10;
|
|
}
|
|
else
|
|
request = (HttpWebRequest)WebRequest.Create(url);
|
|
|
|
request.KeepAlive = true;
|
|
request.Headers.Add("sec-ch-ua", @"""Not(A:Brand"";v=""8"", ""Chromium"";v=""144"", ""Google Chrome"";v=""144""");
|
|
request.Headers.Add("sec-ch-ua-mobile", @"?0");
|
|
request.Headers.Add("sec-ch-ua-platform", @"""Windows""");
|
|
request.Headers.Add("Upgrade-Insecure-Requests", @"1");
|
|
request.Headers.Add("Authorization", "Bearer " + sAuthorization);
|
|
request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.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.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");
|
|
request.Headers.Set(HttpRequestHeader.Cookie, "Admin-Token=" + sAuthorization);
|
|
request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate");
|
|
request.Headers.Set(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.9");
|
|
request.Proxy = null;
|
|
|
|
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);
|
|
if ((result.Contains("没有Authorization") || result.Contains("授权过期")) && !isRetry)
|
|
{
|
|
isRetry = true;
|
|
sAuthorization = "";
|
|
goto Retry;
|
|
}
|
|
return result;
|
|
}
|
|
}
|
|
}
|