Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Объявление

public static Networking.UnityWebRequest Post(string uri, string postData);

Параметры

uri Целевой URI, на который будут передаваться данные формы.
postData Данные тела формы. Будет URLEncoded перед передачей.

Возвращает

UnityWebRequest UnityWebRequest, настроенный для отправки данных формы в uri через POST.

Описание

Создает UnityWebRequest, настроенный для отправки данных формы на сервер через HTTP POST.

Этот метод создает UnityWebRequest, задает url строковый аргумент uri и задает method для POST. Заголовок Content-Type по умолчанию будет иметь значение application/x-www-form-urlencoded.

Примечание. Многие языки серверной части неправильно обрабатывают запросы POST с Content-Type. заголовки настроены на кодировку, отличную от application/x-www-form-urlencoded или multipart/form-data.

Этот метод прикрепляет DownloadHandlerBuffer к UnityWebRequest. Это сделано для удобства, поскольку мы ожидаем, что большинство пользователей будут использовать DownloadHandler для проверки ответов с сервера, особенно в случае REST API.

Данные в postData будут экранированы, а затем интерпретированы в поток байтов через System.Text.Encoding.UTF8. Результирующий поток байтов будет сохранен в UploadHandlerRaw, а обработчик загрузки будет присоединен к этому UnityWebRequest.

using UnityEngine; using UnityEngine.Networking; using System.Collections; public class MyBehavior : MonoBehaviour { void Start() { StartCoroutine(Upload()); } IEnumerator Upload() { WWWForm form = new WWWForm(); form.AddField("myField", "myData"); using (UnityWebRequest www = UnityWebRequest.Post("https://www.my-server.com/myform", form)) { yield return www.SendWebRequest(); if (www.result != UnityWebRequest.Result.Success) { Debug.Log(www.error); } else { Debug.Log("Form upload complete!"); } } } }

Объявление

public static Networking.UnityWebRequest Post(string uri, WWWForm formData);

Параметры

uri Целевой URI, на который будут передаваться данные формы.
formData Поля или файлы формы, инкапсулированные в объект WWWForm, для форматирования и передачи на удаленный сервер.

Возвращает

UnityWebRequest UnityWebRequest, настроенный для отправки данных формы в uri через POST.

Описание

Создайте UnityWebRequest, настроенный для отправки данных формы на сервер через HTTP POST.

Этот метод создает UnityWebRequest, задает url строковый аргумент uri и задает method для POST. Заголовок Content-Type будет скопирован из параметра formData.

Этот метод прикрепляет DownloadHandlerBuffer к UnityWebRequest. Это сделано для удобства, поскольку мы ожидаем, что большинство пользователей будут использовать DownloadHandler для проверки ответов с сервера, особенно в случае REST API.

Объект formData создаст поток байтов в соответствующем формате в зависимости от его содержимого. Результирующий поток байтов будет сохранен в UploadHandlerRaw, а обработчик загрузки будет присоединен к этому UnityWebRequest.

using UnityEngine; using UnityEngine.Networking; using System.Collections; public class MyBehavior2 : MonoBehaviour { void Start() { StartCoroutine(Upload()); } IEnumerator Upload() { WWWForm form = new WWWForm(); form.AddField("myField", "myData"); UnityWebRequest www = UnityWebRequest.Post("https://www.my-server.com/myform", form); yield return www.SendWebRequest(); if (www.result != UnityWebRequest.Result.Success) { Debug.Log(www.error); } else { Debug.Log("Form upload complete!"); } } }

Объявление

public static Networking.UnityWebRequest Post(string uri, List multipartFormSections);

public static Networking.UnityWebRequest Post(string uri, List multipartFormSections, byte[] boundary);

Параметры

uri Целевой URI, на который будут передаваться данные формы.
multipartFormSections Список полей формы или файлов для форматирования и передачи на удаленный сервер.
boundary Уникальная граничная строка, которая будет использоваться при разделении полей формы в составной форме. Если он не указан, для вас будет создана граница.

Возвращает

UnityWebRequest UnityWebRequest, настроенный для отправки данных формы в uri через POST.

Описание

Создайте UnityWebRequest, настроенный для отправки данных формы на сервер через HTTP POST.

Этот метод создает UnityWebRequest, задает url строковый аргумент uri и задает method для POST. Заголовок Content-Type будет иметь значение multipart/form-data с соответствующей спецификацией границ.

Если вы предоставляете собственный массив байтов boundary, обратите внимание, что последовательность байтов должна быть уникальной и не должна появляться нигде в теле данных формы. Дополнительные сведения о составных формах и границах форм см. в RFC 2388.

Этот метод прикрепляет DownloadHandlerBuffer к UnityWebRequest. Это сделано для удобства, поскольку мы ожидаем, что большинство пользователей будут использовать DownloadHandler для проверки ответов с сервера, особенно в случае REST API.

Список объектов IMultipartFormSection в multipartFormSections будет отформатирован в действительное составное тело формы. Каждый объект будет интерпретироваться как раздел дискретной формы. Поток байтов, полученный в результате форматирования этого составного тела формы, будет сохранен в UploadHandlerRaw и прикреплен к этому UnityWebRequest.

Использование IMultipartFormSection

Чтобы обеспечить больший контроль над тем, как вы указываете данные формы, система UnityWebRequest содержит (реализуемый пользователем) интерфейс IMultipartFormSection. Для стандартных приложений Unity также предоставляет реализации по умолчанию для разделов данных и файлов.

Посмотрите так же: MultipartFormDataSection и MultipartFormFileSection.

Этому методу может быть предоставлен список объектов IMultipartFormSection. Члены списка будут отформатированы в составную форму, как определено RFC 2388.. р>

Составные формы требуют уникальной граничной строки для определения разделения между полями. Необходимо гарантировать, что граничная строка не присутствует нигде в теле любого поля формы в запросе. Если вы не укажете границу, Unity создаст ее. Сгенерированная граница составляет 40 случайных печатаемых байтов, которые фактически никогда не сталкиваются с данными поля формы. Однако, если ваше приложение требует указать пользовательскую строку границы, вы можете это сделать.

Предоставленная граница, если она есть, будет автоматически преобразована из массива байтов в символы UTF8.

using UnityEngine; using UnityEngine.Networking; using System.Collections; public class MyBehavior3 : MonoBehaviour { void Start() { StartCoroutine(Upload()); } IEnumerator Upload() { WWWForm form = new WWWForm(); form.AddField("myField", "myData"); UnityWebRequest www = UnityWebRequest.Post("https://www.my-server.com/myform", form); yield return www.SendWebRequest(); if (www.result != UnityWebRequest.Result.Success) { Debug.Log(www.error); } else { Debug.Log("Form upload complete!"); } } }

Объявление

public static Networking.UnityWebRequest Post(string uri, Dictionary formFields);

Параметры

uri Целевой URI, на который будут передаваться данные формы.
formFields Строки, указывающие ключи и значения полей формы. Будет автоматически отформатирован в тело формы с URL-кодированием..

Возвращает

UnityWebRequest UnityWebRequest, настроенный для отправки данных формы в uri через POST.

Описание

Создайте UnityWebRequest, настроенный для отправки данных формы на сервер через HTTP POST.

Этот метод создает UnityWebRequest, задает url строковый аргумент uri и задает method для POST. Заголовок Content-Type будет иметь значение application/x-www-form-urlencoded.

Словарь строк в formFields будет интерпретироваться как список полей формы, идентификаторы полей которых являются ключами словаря, а значения полей — значениями словаря. И ключи, и значения будут экранированы, а затем объединены в строку формы в кодировке URL. (например, key1=value1&key2=value2).

Этот метод по умолчанию прикрепляет DownloadHandlerBuffer к UnityWebRequest. Это сделано для удобства, поскольку мы ожидаем, что большинство пользователей будут использовать DownloadHandler для проверки ответов с сервера, особенно в случае REST API.

Строка формы в кодировке URL, сгенерированная из formFields, будет преобразована в поток байтов и сохранена в UploadHandlerRaw. , который будет прикреплен к этому UnityWebRequest.

using UnityEngine; using UnityEngine.Networking; using System.Collections; public class MyBehavior4 : MonoBehaviour { void Start() { StartCoroutine(Upload()); } IEnumerator Upload() { WWWForm form = new WWWForm(); form.AddField("myField", "myData"); UnityWebRequest www = UnityWebRequest.Post("https://www.my-server.com/myform", form); yield return www.SendWebRequest(); if (www.result != UnityWebRequest.Result.Success) { Debug.Log(www.error); } else { Debug.Log("Form upload complete!"); } } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3