protected IEnumerator LoadAndRequest(string method, string messageBody, PostRequestCallback callback)
        {
            Debug.Log("POST request!");
            yield return(StartCoroutine(Fade(1f)));

            loadIcon.blocksRaycasts = true;

            yield return(StartCoroutine(sendRequestCoroutine(method, messageBody, callback)));

            loadIcon.blocksRaycasts = false;
            yield return(StartCoroutine(Fade(0f)));
        }
示例#2
0
文件: API.cs 项目: sammx343/BonesElf
    public IEnumerator PostRequest(string bodyJsonString, PostRequestCallback callback)
    {
        var request = new UnityWebRequest(url, "POST");

        byte[] bodyRaw = new System.Text.UTF8Encoding().GetBytes(bodyJsonString);
        request.uploadHandler   = (UploadHandler) new UploadHandlerRaw(bodyRaw);
        request.downloadHandler = (DownloadHandler) new DownloadHandlerBuffer();
        request.SetRequestHeader("Content-Type", "application/json");
        request.SetRequestHeader("Authorization", "Bearer 4e09a815-6f53-4506-996a-39322f0ac417");

        yield return(request.SendWebRequest());

        Debug.Log(request);
        Debug.Log("Response: " + request.downloadHandler.text);
        Debug.Log("Response: " + request.isNetworkError);
        Debug.Log("Response: " + request.responseCode);

        callback(!request.isNetworkError, request.downloadHandler.text);
    }
示例#3
0
    private void SendUserSignUp(User user)
    {
        HttpRequestApi api = gameObject.AddComponent <HttpRequestApi>();

        List <User> rows = new List <User>();

        rows.Add(user);

        APPInfo appInfo = new APPInfo();

        appInfo.page      = 1;
        appInfo.size      = 1000;
        appInfo.domain    = 246;
        appInfo.row_model = "User";
        appInfo.rows      = rows;

        var JSON_Body = JsonUtility.ToJson(appInfo);

        Debug.Log(JSON_Body);

        PostRequestCallback signUpMethod = FinishSignUp;
        var result = StartCoroutine(api.PostRequest(JSON_Body, signUpMethod));
    }
示例#4
0
    IEnumerator  PostRequest(PostRequestCallback callback)
    {
        string name = PlayerPrefs.GetString("name");

        //SendRequest
        Debug.Log("UpdateSite >> Start");

        Dictionary <string, string> param = new Dictionary <string, string>();

        param.Add("ps", name);
        param.Add("vr", gameType);
        Debug.Log("UpdateSite >> params=" + param);

        UnityWebRequest www = UnityWebRequest.Post(URI, param);

        yield return(www.Send());

        if (www.isError)
        {
            Debug.Log(www.error);
        }
        else
        {
            if (www.responseCode == 200)
            {
                information = "Seite wurde aktualisiert, beende das Spiel und aktualisiere die Seite im Browser.";
                Debug.Log("UpdateSite >> request sent & is done");
            }
            else
            {
                information = "Verbindung zur Seite konnte nicht hergestellt werden. " +
                              "Falls es nach erneutem Versuchen nicht funktioniert, meldet euch bei uns ([email protected]).";
                Debug.Log("UpdateSite >> request failed code=" + www.responseCode);
            }
            callback(information);
        }
    }
示例#5
0
 public string UpdateWebsite(PostRequestCallback callback)
 {
     StartCoroutine(PostRequest(callback));
     return(information);
 }
示例#6
0
        /// <summary>
        /// Asynchronous HTTP Post request.
        /// src: http://stackoverflow.com/questions/27310201/async-requests-in-unity
        /// https://docs.unity3d.com/Manual/UnityWebRequest-CreatingDownloadHandlers.html
        /// </summary>
        /// <param name="method">REST method name.</param>
        /// <param name="messageBody">POST message body string.</param>
        /// <param name="callback">Callback handler that process the response string. </param>
        /// <returns></returns>
        protected IEnumerator sendRequestCoroutine(string method, string messageBody, PostRequestCallback callback)
        {
            var    data      = System.Text.Encoding.UTF8.GetBytes(messageBody);
            string urlString = getMethodURL(method);

            UnityWebRequest webRequest = UnityWebRequest.Post(urlString, UnityWebRequest.kHttpVerbPOST);

            webRequest.uploadHandler   = new UploadHandlerRaw(data);
            webRequest.downloadHandler = new DownloadHandlerBuffer();
            // Request and wait for the desired page.
            yield return(webRequest.SendWebRequest());

            if (webRequest.isNetworkError)
            {
                print("Error: " + webRequest.error);
            }
            else
            {
                //print(webRequest.downloadHandler.text);
                byte[] results = webRequest.downloadHandler.data;
                //webRequest.downloadHandler.text
                var text = System.Text.Encoding.UTF8.GetString(results);
                callback(text);
            }
        }