From 7af10f453c0857e69883fa84b710ea6ba8d057af Mon Sep 17 00:00:00 2001 From: wangzhenxing Date: Fri, 15 Jul 2022 11:41:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0HTTP=20=E5=8F=91=E9=80=81post?= =?UTF-8?q?=E8=AF=B7=E6=B1=82=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Scripts/Manager/NetworkManager.cs | 75 ++++++++++++++++++- 1 file changed, 71 insertions(+), 4 deletions(-) diff --git a/Assets/LuaFramework/Scripts/Manager/NetworkManager.cs b/Assets/LuaFramework/Scripts/Manager/NetworkManager.cs index d54c915fb6..53c194616d 100644 --- a/Assets/LuaFramework/Scripts/Manager/NetworkManager.cs +++ b/Assets/LuaFramework/Scripts/Manager/NetworkManager.cs @@ -52,7 +52,7 @@ namespace GameLogic Reset(); } /// - /// Îö¹¹º¯Êý + /// �������� /// void OnDestroy() { @@ -114,7 +114,6 @@ namespace GameLogic } yield break; } - UnityWebRequest request = UnityWebRequest.Get(url); request.certificateHandler = new AcceptAllCertificatesSignedWithASpecificPublicKey(); @@ -150,16 +149,78 @@ namespace GameLogic public void SendHttpPost_Json_Lua(string url, string data, LuaFunction callback, LuaFunction errorLuaFunc) { + //Debug.LogError("data==="+data); var strs = data.Split(';'); Hashtable table = new Hashtable(); for (int i = 0; i < strs.Length; i = i + 2) { - table.Add(strs[i], strs[i + 1]); + string v1 = strs[i]; + string v3 = strs[i + 1]; + //long v2 = 0; + //if (strs[i].Equals("total_amount") || strs[i].Equals("trade_time") || strs[i].Equals("valid_time")) + //{ + // long.TryParse(v3, out v2); + // Debug.LogError("v2=="+v2); + // table.Add(v1, v2); + //} + //else + //{ + // table.Add(v1, strs[i + 1]); + //} + table.Add(v1, v3); + } var jsonData = MiniJSON.jsonEncode(table); - StartCoroutine(HttpPost_Co(url, jsonData, callback, null, null, errorLuaFunc)); + Debug.LogError("url " + jsonData); + // StartCoroutine(HttpPost_Co(url, jsonData, callback, null, null, errorLuaFunc)); + StartCoroutine(PostData(url, jsonData, callback, null, null, errorLuaFunc)); } + public IEnumerator PostData(string url, string data, LuaFunction callback, Action sharpFunc, Action errorAction, LuaFunction errorLuaFunc) + { + //UnityWebRequest _request; + //byte[] databyte = Encoding.UTF8.GetBytes(data); + //_request = new UnityWebRequest(url, UnityWebRequest.kHttpVerbPOST); + //_request.uploadHandler = new UploadHandlerRaw(databyte); + //_request.downloadHandler = new DownloadHandlerBuffer(); + //_request.SetRequestHeader("Content-Type", "application/json;charset=utf-8"); + //yield return _request.SendWebRequest(); + //Debug.Log(_request.responseCode); + + //if (_request.isHttpError || _request.isNetworkError) + //{ + // Debug.LogError(_request.error); + //} + //else + //{ + // Debug.Log(_request.downloadHandler.text); + //if (callback != null) + //{ + // callback.Call(_request.downloadHandler.text); + //} + + //} + UnityWebRequest www = UnityWebRequest.Post(url, data); + www.SetRequestHeader("Content-Type", "application/json;charset=utf-8"); + byte[] bodyRaw = Encoding.UTF8.GetBytes(data); + www.uploadHandler = new UploadHandlerRaw(bodyRaw); + yield return www.SendWebRequest(); + Debug.LogError("111111111111"); + if (www.isNetworkError) + { + Debug.LogError(www.error); + } + Debug.LogError(www.downloadHandler.text); + if (callback != null) + { + callback.Call(www.downloadHandler.text); + } + + } + + + + public void SendHttpPost_Raw_CSharp(string url, string data, Action sharpFunc, Action errorAction) { StartCoroutine(HttpPost_Co(url, data, null, sharpFunc, errorAction, null)); @@ -198,6 +259,12 @@ namespace GameLogic Dictionary header = new Dictionary(); header.Add("Content-Type", "application/json"); header.Add("charset", "utf-8"); + Debug.LogError("data=="+data); + Debug.LogError("utf8=="+Encoding.UTF8.GetBytes(data)); + byte[] b=Encoding.UTF8.GetBytes(data); + for (int i=0;i