Pull to refresh

Unity3D — отправка GET и POST-запросов

Доброго времени суток уважаемые читатели! Не так давно столкнулся с такой ситуацией, когда нужно было создать проект, который будет работать не с простым сервером, как это принято для нормальных игровых проектов, а с веб-сервером (с сайтом) и отправлять на него данные посредством GET и POST-запросов, ну и принимать ответы и опираясь на них выполнять определённый алгоритм логики игрового процесса.

Прочитав достаточно много статей про Unity3D и методику WWW, я очень быстро нашёл информацию относительно к GET-запросам, но всё, что касается POST-запросов как токовой адекватной информации я так и не нашёл!

Спустя некоторое время, благодаря методу тыка, мне удалось найти решение о том как с Unity3D отправить GET и POST-запросы на WebServer с обработчиком входящей информации с помощью PHP или HTML и JavaScript.

В общем сам код:

public IEnumerator POST()
{
	var Data = new WWWForm();
	Data.AddField("variable1", "Текст 1");	// на сервере в PHP
	Data.AddField("variable2", "Текст 2");	// регистр заголовков выглядит
	Data.AddField("variable3", "Текст 3");	// примерно так :
	Data.AddField("variable4", "Текст 4");	// $temp = REQUEST('variable1');
	var Query = new WWW("http://www.example.com/game.php", Data);
	yield return Query;
	if (Query.error != null)
	{
		Debug.Log("Server does not respond : " + Query.error);
	}
	else
	{
		if (Query.text == "response") // в основном HTML код которым ответил сервер
		{
			Debug.Log("Server responded correctly");
		}
		else
		{
			Debug.Log("Server responded : " + Query.text);
		}
	}
	Query.Dispose();
}

public IEnumerator GET()
{
	string data1 = "Текст 1";
	string data2 = "Текст 2";
	WWW Query = new WWW("http://127.0.0.1/game.php?variable1=" + data1 + "&variable2=" + data2);
	yield return Query;
	if (Query.error != null)
	{
		Debug.Log("Server does not respond : " + Query.error);
	}
	else
	{
		if (Query.text == "response") // что нам должен ответить сервер на наши данные
		{
			Debug.Log("Server responded correctly");
		}
		else
		{
			Debug.Log("Server responded : " + Query.text);
		}
	}
	Query.Dispose();
	}
}

Спасибо за внимание!
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.