petushok55
@petushok55
Обучаюсь на практике.

Почему не работает класс для отправки POST запросов?

HttpController
using Newtonsoft.Json;
using System.Collections;
using UnityEngine;
using UnityEngine.Networking;

public class HttpController : MonoBehaviour
{
    public static string URL = "http://localhost:3000/";
    public static IEnumerator Post(string item1, string content1)
    {
        WWWForm formData = new WWWForm();
        formData.AddField(item1, content1);

        using (UnityWebRequest request = UnityWebRequest.Post(URL, formData)) // эта суета делается для Dispose();
        {
            request.SetRequestHeader("User-Agent", "UnityApp");
            yield return request.SendWebRequest();

            if (request.result == UnityWebRequest.Result.ProtocolError | request.result == UnityWebRequest.Result.ConnectionError)
            {
                Debug.Log(request.result);
            }
            else
            {
                var answer = JsonConvert.DeserializeObject<WebResponse>(request.downloadHandler.text);
                Debug.Log("получилось" + answer);
            }

        }
    }
}

Другой скрипт
using System.Collections;
using UnityEngine;
using UnityEngine.Networking;

public class RandomName: MonoBehaviour
{

    private void Start()
    {
        HttpController.Post("item1","content1"); // не работает. просто ничего не делается что ли
    }
}
  • Вопрос задан
  • 42 просмотра
Пригласить эксперта
Ответы на вопрос 2
tentrun
@tentrun
Fullstack (asp.net /react, vue, angular) deletant
Насколько я понимаю для загрузки контента тебе UploadHandler нужен.
Ответ написан
Комментировать
@NickNamee
как вариант

request.SendWebRequest();
while (!request.isDone())
yield return null;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы