194 lines
5.9 KiB
C#
194 lines
5.9 KiB
C#
using AllBase;
|
|
using AllBase.Model.DBModel;
|
|
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 HttpResponseTransitWorkOrderBLL
|
|
{
|
|
public static string WorkOrderUrl { get; set; } = "http://14.103.99.254";
|
|
public static string PostResponse(ShopLoginInfo shop, string _url, string _body, string referer)
|
|
{
|
|
|
|
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 + ";";
|
|
}
|
|
}
|
|
catch { }
|
|
|
|
HttpWebResponse response = null;
|
|
string result;
|
|
try
|
|
{
|
|
string url = _url;
|
|
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
|
|
|
|
request.KeepAlive = true;
|
|
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.ContentType = "application/json";
|
|
request.Accept = "*/*";
|
|
request.Headers.Add("Origin", WorkOrderUrl);
|
|
request.Headers.Add("X-Api-Key", "rwo_vmRcWpEFIB9zSTRkXoKSeTpq.ihFaJR7SPFi6GsmKtkorSKo-uj3IsYAvhJQI7lLKu1M");
|
|
request.Referer = referer;
|
|
request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate");
|
|
request.Headers.Set(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.9");
|
|
if (!string.IsNullOrEmpty(cookies))
|
|
request.Headers.Set(HttpRequestHeader.Cookie, cookies);
|
|
|
|
request.Method = "POST";
|
|
request.ServicePoint.Expect100Continue = false;
|
|
|
|
string body = _body;
|
|
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 GetResponse(ShopLoginInfo shop, string _url, string referer)
|
|
{
|
|
|
|
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 + ";";
|
|
}
|
|
}
|
|
catch { }
|
|
|
|
HttpWebResponse response = null;
|
|
string result;
|
|
try
|
|
{
|
|
string url = _url;
|
|
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
|
|
|
|
request.KeepAlive = true;
|
|
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.ContentType = "application/json";
|
|
request.Accept = "*/*";
|
|
request.Headers.Add("X-Api-Key", "rwo_vmRcWpEFIB9zSTRkXoKSeTpq.ihFaJR7SPFi6GsmKtkorSKo-uj3IsYAvhJQI7lLKu1M");
|
|
request.Referer = referer;
|
|
request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate");
|
|
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");
|
|
if (!string.IsNullOrEmpty(cookies))
|
|
request.Headers.Set(HttpRequestHeader.Cookie, cookies);
|
|
|
|
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 async Task<string> GetResponseAsync(ShopLoginInfo shop, string _url, string referer)
|
|
{
|
|
|
|
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 + ";";
|
|
}
|
|
}
|
|
catch { }
|
|
|
|
HttpWebResponse response = null;
|
|
string result;
|
|
try
|
|
{
|
|
string url = _url;
|
|
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
|
|
|
|
request.KeepAlive = true;
|
|
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.ContentType = "application/json";
|
|
request.Accept = "*/*";
|
|
request.Headers.Add("X-Api-Key", "rwo_vmRcWpEFIB9zSTRkXoKSeTpq.ihFaJR7SPFi6GsmKtkorSKo-uj3IsYAvhJQI7lLKu1M");
|
|
request.Referer = referer;
|
|
request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate");
|
|
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");
|
|
if (!string.IsNullOrEmpty(cookies))
|
|
request.Headers.Set(HttpRequestHeader.Cookie, cookies);
|
|
|
|
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);
|
|
return result;
|
|
}
|
|
}
|
|
}
|