public void Send(string url, string json = "", bool compression = false) { string requestMethod = (string.IsNullOrEmpty(json)) ? UnityWebRequest.kHttpVerbGET : UnityWebRequest.kHttpVerbPUT; UnityWebRequest request = new UnityWebRequest(host + url, requestMethod) { certificateHandler = new Certificate(), downloadHandler = new DownloadHandlerBuffer() }; if (!string.IsNullOrEmpty(json)) { byte[] data = compression ? SimpleZlib.CompressToBytes(json, 9) : Encoding.UTF8.GetBytes(json); request.uploadHandler = new UploadHandlerRaw(data); request.SetRequestHeader("Content-Type", "application/json"); } if (!string.IsNullOrEmpty(session)) { request.SetRequestHeader("Cookie", $"PHPSESSID={session}"); request.SetRequestHeader("SessionId", session); } request.SendWebRequest(); }
public static string Send(string url, string data) { // set https protocol ServicePointManager.Expect100Continue = true; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; ServicePointManager.ServerCertificateValidationCallback = delegate { return(true); }; // create request WebRequest request = WebRequest.Create(new Uri(Globals.LauncherConfig.BackendUrl + url)); byte[] bytes = SimpleZlib.CompressToBytes(data, zlibConst.Z_BEST_COMPRESSION); request.Method = "POST"; request.ContentType = "application/json"; request.ContentLength = bytes.Length; // send request using (Stream requestStream = request.GetRequestStream()) { requestStream.Write(bytes, 0, bytes.Length); } // receive response WebResponse response = request.GetResponse(); // get response data using (Stream responseStream = response.GetResponseStream()) { using (MemoryStream ms = new MemoryStream()) { responseStream.CopyTo(ms); return(SimpleZlib.Decompress(ms.ToArray(), null)); } } }
public static string GetJson(string url, bool compress = true) { using var stream = Send(url, "GET", null, compress); using var ms = new MemoryStream(); stream.CopyTo(ms); return(SimpleZlib.Decompress(ms.ToArray(), null)); }
public string PostJson(string url, string data, bool compress = true) { using (Stream stream = Send(url, "POST", data, compress)) { using (MemoryStream ms = new MemoryStream()) { stream.CopyTo(ms); return(SimpleZlib.Decompress(ms.ToArray(), null)); } } }
private Stream Send(string url, string method = "GET", string data = null, bool compress = true) { // disable SSL encryption ServicePointManager.Expect100Continue = true; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; ServicePointManager.ServerCertificateValidationCallback = delegate { return(true); }; // set session headers WebRequest request = WebRequest.Create(new Uri(RemoteEndPoint + url)); if (!string.IsNullOrEmpty(Session)) { request.Headers.Add("Cookie", $"PHPSESSID={Session}"); request.Headers.Add("SessionId", Session); } request.Headers.Add("Accept-Encoding", "deflate"); request.Method = method; if (method != "GET" && !string.IsNullOrEmpty(data)) { // set request body byte[] bytes = (compress) ? SimpleZlib.CompressToBytes(data, zlibConst.Z_BEST_COMPRESSION) : Encoding.UTF8.GetBytes(data); request.ContentType = "application/json"; request.ContentLength = bytes.Length; if (compress) { request.Headers.Add("Content-Encoding", "deflate"); } using (Stream stream = request.GetRequestStream()) { stream.Write(bytes, 0, bytes.Length); } } // get response stream try { WebResponse response = request.GetResponse(); return(response.GetResponseStream()); } catch (Exception e) { Debug.LogError(e); } return(null); }
public string Send(string url, string data = null, bool compress = true) { // disable SSL encryption ServicePointManager.Expect100Continue = true; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; ServicePointManager.ServerCertificateValidationCallback = delegate { return(true); }; // set session headers WebRequest request = WebRequest.Create(new Uri(RemoteEndPoint + url)); if (!string.IsNullOrEmpty(Session)) { request.Headers.Add("Cookie", $"PHPSESSID={Session}"); request.Headers.Add("SessionId", Session); } // set request type and body if (!string.IsNullOrEmpty(data)) { byte[] bytes = (compress) ? SimpleZlib.CompressToBytes(data, zlibConst.Z_BEST_COMPRESSION) : Encoding.UTF8.GetBytes(data); request.Method = "POST"; request.ContentType = "application/json"; request.ContentLength = bytes.Length; using (Stream requestStream = request.GetRequestStream()) { requestStream.Write(bytes, 0, bytes.Length); } } else { request.Method = "GET"; } // get response data WebResponse response = request.GetResponse(); using (Stream responseStream = response.GetResponseStream()) { using (MemoryStream ms = new MemoryStream()) { responseStream.CopyTo(ms); return(SimpleZlib.Decompress(ms.ToArray(), null)); } } }
private static Stream Send(string url, string method = "GET", string data = null, bool compress = true) { // disable SSL encryption ServicePointManager.Expect100Continue = true; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; ServicePointManager.ServerCertificateValidationCallback = delegate { return(true); }; // set session headers var request = WebRequest.Create(new Uri(BackendUrl + url)); request.Headers.Add("Accept-Encoding", "deflate"); request.Method = method; if (method != "GET" && !string.IsNullOrWhiteSpace(data)) { // set request body var bytes = (compress) ? SimpleZlib.CompressToBytes(data, zlibConst.Z_BEST_COMPRESSION) : Encoding.UTF8.GetBytes(data); request.ContentType = "application/json"; request.ContentLength = bytes.Length; if (compress) { request.Headers.Add("Content-Encoding", "deflate"); } using var stream = request.GetRequestStream(); stream.Write(bytes, 0, bytes.Length); } // get response stream try { var response = request.GetResponse(); return(response.GetResponseStream()); } catch (Exception e) { MelonLogger.LogError(e.ToString()); } return(null); }
public void Post(string url, string data, bool compression, Action <byte[]> onFinish = null) { var sendData = compression ? SimpleZlib.CompressToBytes(data, 9) : Encoding.UTF8.GetBytes(data); var request = new UnityWebRequest(_host + url, UnityWebRequest.kHttpVerbPUT) { uploadHandler = new UploadHandlerRaw(sendData), downloadHandler = new DownloadHandlerBuffer() }; request.SetRequestHeader("Content-Type", "application/json"); request.certificateHandler = new CertificateCheck(); if (_phpSession != null) { request.SetRequestHeader("Cookie", $"PHPSESSID={_phpSession}"); request.SetRequestHeader("SessionId", _phpSession); } request.SendWebRequest(); }
public string Send(string url, string data) { ServicePointManager.Expect100Continue = true; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; ServicePointManager.ServerCertificateValidationCallback = delegate { return(true); }; WebRequest request = WebRequest.Create(new Uri(RemoteEndPoint + url)); if (data != null || data != "") { byte[] bytes = SimpleZlib.CompressToBytes(data, zlibConst.Z_BEST_COMPRESSION); request.Method = "POST"; request.ContentType = "application/json"; request.ContentLength = bytes.Length; using (Stream requestStream = request.GetRequestStream()) { requestStream.Write(bytes, 0, bytes.Length); } } else { request.Method = "GET"; } WebResponse response = request.GetResponse(); using (Stream responseStream = response.GetResponseStream()) { using (MemoryStream ms = new MemoryStream()) { responseStream.CopyTo(ms); return(SimpleZlib.Decompress(ms.ToArray(), null)); } } }