From 0202812af6e059b25c131ae2ab261b91ce98e404 Mon Sep 17 00:00:00 2001 From: jackchenyang <874821510@qq.com> Date: Tue, 18 Jun 2024 14:45:04 +0800 Subject: [PATCH] `1112 --- FCL/BLL/Common/HttpHelper.cs | 87 +++++++++------------ FCL/FineUIPro.Web/FineUIPro.Web.csproj.user | 2 +- FCL/FineUIPro.Web/Web.config | 4 +- FCL/FineUIPro.Web/ssocallback.aspx.cs | 2 +- FCL/WebApi/WebApi.csproj.user | 2 +- 5 files changed, 40 insertions(+), 57 deletions(-) diff --git a/FCL/BLL/Common/HttpHelper.cs b/FCL/BLL/Common/HttpHelper.cs index 3d1d014..eb2dbca 100644 --- a/FCL/BLL/Common/HttpHelper.cs +++ b/FCL/BLL/Common/HttpHelper.cs @@ -3,6 +3,8 @@ using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; +using System.Net.Security; +using System.Security.Cryptography.X509Certificates; using System.Text; using System.Threading.Tasks; @@ -55,60 +57,41 @@ namespace BLL.Common } return strPostReponse; } - - - public static string HttpPost(string Url, string jsonParas) + private static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors) { - string strURL = Url; - //创建一个HTTP请求 - HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strURL); - //Post请求方式 - request.Method = "POST"; - //内容类型 - request.ContentType = "application/x-www-form-urlencoded"; - - //设置参数,并进行URL编码 - - string paraUrlCoded = jsonParas;//System.Web.HttpUtility.UrlEncode(jsonParas); - - byte[] payload; - //将Json字符串转化为字节 - payload = System.Text.Encoding.UTF8.GetBytes(paraUrlCoded); - //设置请求的ContentLength - request.ContentLength = payload.Length; - //发送请求,获得请求流 - - Stream writer; - try - { - writer = request.GetRequestStream();//获取用于写入请求数据的Stream对象 - } - catch (Exception) - { - writer = null; - BLL.ErrLogInfo.WriteLog("连接服务器失败!"); - } - //将请求参数写入流 - writer.Write(payload, 0, payload.Length); - writer.Close();//关闭请求流 - // String strValue = "";//strValue为http响应所返回的字符流 - HttpWebResponse response; - try - { - //获得响应流 - response = (HttpWebResponse)request.GetResponse(); - } - catch (WebException ex) - { - response = ex.Response as HttpWebResponse; - } - Stream s = response.GetResponseStream(); - // Stream postData = Request.InputStream; - StreamReader sRead = new StreamReader(s); - string postContent = sRead.ReadToEnd(); - sRead.Close(); - return postContent;//返回Json数据 + return true; //总是接受 } + + public static string PostJsonByHttps(string url, string jsonParams) + { + ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls; + HttpWebRequest request = null; + CookieContainer cookie = new CookieContainer(); + //HTTPSQ请求 + ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult); + request = WebRequest.Create(url) as HttpWebRequest; + request.CookieContainer = cookie; + request.ProtocolVersion = HttpVersion.Version11; + request.Method = "POST"; + request.ContentType = "application/x-www-form-urlencoded"; + request.KeepAlive = true; + byte[] byteData = Encoding.UTF8.GetBytes(jsonParams); + int length = byteData.Length; + request.ContentLength = length; + + using (Stream stream = request.GetRequestStream()) + { + stream.Write(byteData, 0, byteData.Length); + } + + var response = (HttpWebResponse)request.GetResponse(); + + using (StreamReader st = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("utf-8"))) + { + return st.ReadToEnd().ToString(); + } + } + private static HttpWebRequest CreateHttpRequest(string url, string requestType, string token, params object[] strJson) { HttpWebRequest request = null; diff --git a/FCL/FineUIPro.Web/FineUIPro.Web.csproj.user b/FCL/FineUIPro.Web/FineUIPro.Web.csproj.user index c498d8f..c048173 100644 --- a/FCL/FineUIPro.Web/FineUIPro.Web.csproj.user +++ b/FCL/FineUIPro.Web/FineUIPro.Web.csproj.user @@ -2,7 +2,7 @@ ProjectFiles - Release|Any CPU + Debug|Any CPU true diff --git a/FCL/FineUIPro.Web/Web.config b/FCL/FineUIPro.Web/Web.config index 0bc7abb..9c54fc2 100644 --- a/FCL/FineUIPro.Web/Web.config +++ b/FCL/FineUIPro.Web/Web.config @@ -9,7 +9,7 @@
- + @@ -54,7 +54,7 @@ - + diff --git a/FCL/FineUIPro.Web/ssocallback.aspx.cs b/FCL/FineUIPro.Web/ssocallback.aspx.cs index ea96834..1a1096b 100644 --- a/FCL/FineUIPro.Web/ssocallback.aspx.cs +++ b/FCL/FineUIPro.Web/ssocallback.aspx.cs @@ -47,7 +47,7 @@ namespace FineUIPro.Web { string postData = $"code={code}&client_id={clientId}&client_secret={clientSecret}&grant_type={grant_type}&redirect_uri={redirect_url}&scope={scope}"; //BLL.ErrLogInfo.WriteLog($"请求参数postData={postData}"); - string result = BLL.Common.HttpHelper.HttpPost(baseUrl, postData); + string result = BLL.Common.HttpHelper.PostJsonByHttps(baseUrl, postData); //BLL.ErrLogInfo.WriteLog($"请求API Result={result}"); var Data = JsonConvert.DeserializeObject(result); diff --git a/FCL/WebApi/WebApi.csproj.user b/FCL/WebApi/WebApi.csproj.user index 643f3e5..ca0d73e 100644 --- a/FCL/WebApi/WebApi.csproj.user +++ b/FCL/WebApi/WebApi.csproj.user @@ -8,7 +8,7 @@ - Release|Any CPU + Debug|Any CPU