From 44925e71a9a0838745a7a1020e6dbc08df8a2741 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期一, 10 九月 2018 19:19:57 +0800
Subject: [PATCH] 3335  代码维护

---
 System/HttpRequest/HttpBehaviour.cs |   41 +++++++++++++++++++++++------------------
 1 files changed, 23 insertions(+), 18 deletions(-)

diff --git a/System/HttpRequest/HttpBehaviour.cs b/System/HttpRequest/HttpBehaviour.cs
index 5e245f7..6a45c70 100644
--- a/System/HttpRequest/HttpBehaviour.cs
+++ b/System/HttpRequest/HttpBehaviour.cs
@@ -26,6 +26,11 @@
     bool ok = false;
     string message = string.Empty;
 
+    static HttpBehaviour()
+    {
+        ServicePointManager.ServerCertificateValidationCallback += RemoteCertificateValidationCallback;
+    }
+
     public static void Create(string _url, string _method, string _content, string _contentType, int _retry = 3, Action<bool, string> _result = null)
     {
         var carrier = new GameObject();
@@ -35,7 +40,7 @@
         behaviour.Begin(_url, _method, _content, _contentType, _retry, _result);
     }
 
-    public void Begin(string _url, string _method, string _content, string _contentType, int _retry = 3, Action<bool, string> _result = null)
+    void Begin(string _url, string _method, string _content, string _contentType, int _retry = 3, Action<bool, string> _result = null)
     {
         this.url = _url;
         this.method = _method;
@@ -57,7 +62,6 @@
             request.ReadWriteTimeout = 2000;
             request.Proxy = null;
             request.KeepAlive = false;
-            ServicePointManager.ServerCertificateValidationCallback += RemoteCertificateValidationCallback;
         }
         catch (Exception ex)
         {
@@ -113,47 +117,48 @@
     private static bool RemoteCertificateValidationCallback(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
     {
         if (sslPolicyErrors == SslPolicyErrors.None)
-            return true;
-
-        var _acceptCertificate = true;
-
-        if ((sslPolicyErrors &
-             SslPolicyErrors.RemoteCertificateNotAvailable) == SslPolicyErrors.RemoteCertificateNotAvailable)
         {
-            _acceptCertificate = false;
+            return true;
+        }
+
+        var acceptCertificate = true;
+        if ((sslPolicyErrors & SslPolicyErrors.RemoteCertificateNotAvailable) == SslPolicyErrors.RemoteCertificateNotAvailable)
+        {
+            acceptCertificate = false;
         }
         else
         {
-            if ((sslPolicyErrors &
-                 SslPolicyErrors.RemoteCertificateNameMismatch) == SslPolicyErrors.RemoteCertificateNameMismatch)
+            if ((sslPolicyErrors & SslPolicyErrors.RemoteCertificateNameMismatch) == SslPolicyErrors.RemoteCertificateNameMismatch)
             {
-                _acceptCertificate = false;
+                acceptCertificate = false;
             }
 
-            if ((sslPolicyErrors &
-                 SslPolicyErrors.RemoteCertificateChainErrors) == SslPolicyErrors.RemoteCertificateChainErrors)
+            if ((sslPolicyErrors & SslPolicyErrors.RemoteCertificateChainErrors) == SslPolicyErrors.RemoteCertificateChainErrors)
             {
                 foreach (X509ChainStatus item in chain.ChainStatus)
                 {
                     if (item.Status != X509ChainStatusFlags.RevocationStatusUnknown &&
                         item.Status != X509ChainStatusFlags.OfflineRevocation)
+                    {
                         break;
+                    }
 
                     if (item.Status != X509ChainStatusFlags.NoError)
                     {
-                        _acceptCertificate = false;
+                        acceptCertificate = false;
                     }
                 }
             }
         }
 
-        if (_acceptCertificate == false)
+        if (acceptCertificate == false)
         {
-            _acceptCertificate = true;
+            acceptCertificate = true;
         }
 
-        return _acceptCertificate;
+        return acceptCertificate;
     }
+
     void Update()
     {
         if (Time.time > timeOut && !getResult)

--
Gitblit v1.8.0