Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Text;
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.Networking;
- public class SendJSON : MonoBehaviour {
- IEnumerator Start()
- {
- string Response = null;
- yield return StartCoroutine(SendRequest(@"https://next.json-generator.com/api/json/get/Ey7IuRl88", MethodsHTTP.GET, delegate (bool state, string message) { Response = message; }));
- Debug.Log(Response.Length);
- Debug.Log(Response);
- }
- public struct Headers { public string name; public string value; }
- public enum MethodsHTTP { GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH };
- public static IEnumerator SendRequest(string url, MethodsHTTP type, System.Action<bool, string> outputMessage, string arguments = "", string json = "", string token = "", UploadHandler handler = null, List<Headers> headers = null)
- {
- Debug.Log(url + arguments);
- //headers.ForEach(delegate (Headers data) { Debug.Log(data.name); Debug.Log(data.value); });
- var www = new UnityWebRequest(url + arguments, type.ToString());
- if (handler != null)
- {
- www.uploadHandler = handler;
- }
- else if (!string.IsNullOrEmpty(json))
- {
- byte[] bodyRaw = Encoding.UTF8.GetBytes(json);
- www.uploadHandler = (UploadHandler)new UploadHandlerRaw(bodyRaw);
- www.SetRequestHeader("Content-Type", "application/json");
- }
- if (!string.IsNullOrEmpty(token))
- {
- www.SetRequestHeader("Token", token);
- }
- if (headers != null && headers.Count > 0)
- {
- headers.ForEach((x) => www.SetRequestHeader(x.name, x.value));
- }
- www.downloadHandler = new DownloadHandlerBuffer();
- yield return www.SendWebRequest();
- if (www.isNetworkError || www.isHttpError)
- {
- outputMessage(false, Encoding.UTF8.GetString(www.downloadHandler.data));
- //Debug.Log(Encoding.UTF8.GetString(www.downloadHandler.data));
- }
- else
- {
- //Debug.Log(Encoding.UTF8.GetString(www.downloadHandler.data));
- outputMessage(true, (Encoding.UTF8.GetString(www.downloadHandler.data)));
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment