Provides methods to communicate with web servers.
UnityWebRequest
handles the flow of HTTP communication with web servers. To download and upload data, use DownloadHandler and UploadHandler respectively.
UnityWebRequest
includes static utility functions that return UnityWebRequest
instances configured for common use cases. For example:
UnityWebRequest.Get
UnityWebRequest.Post
UnityWebRequest.Put
To send a web request from a UnityWebRequest
instance, call UnityWebRequest.SendWebRequest. After the UnityWebRequest
begins to communicate with a remote server, you can't change any of the properties in that UnityWebRequest
instance.
HTTPS is supported, server certificate is validated against the root certificate store available on the system the app runs on. Validation can be disabled (for example for development server using self-signed certificate) or changed to a custom handling by assigning UnityWebRequest.certificateHandler property.
Depending on the platform your application runs on, UnityWebRequest
either sets the User-Agent header itself or leaves it for the operating system to set. UnityWebRequest
sets the User-Agent
header for all platforms except iOS, Xbox platforms, and WebGL.
Note: From Unity 2019.2, UnityWebRequest
sets the User-Agent
header for Android devices. In earlier releases, the operating system set the User-Agent
header.
Note: If the device that the application runs on uses proxy settings, UnityWebRequest
applies the proxy settings after the application sends the request.
kHttpVerbCREATE | The string "CREATE", commonly used as the verb for an HTTP CREATE request. |
kHttpVerbDELETE | The string "DELETE", commonly used as the verb for an HTTP DELETE request. |
kHttpVerbGET | The string "GET", commonly used as the verb for an HTTP GET request. |
kHttpVerbHEAD | The string "HEAD", commonly used as the verb for an HTTP HEAD request. |
kHttpVerbPOST | The string "POST", commonly used as the verb for an HTTP POST request. |
kHttpVerbPUT | The string "PUT", commonly used as the verb for an HTTP PUT request. |
certificateHandler | Holds a reference to a CertificateHandler object, which manages certificate validation for this UnityWebRequest. |
disposeCertificateHandlerOnDispose | If true, any CertificateHandler attached to this UnityWebRequest will have CertificateHandler.Dispose called automatically when UnityWebRequest.Dispose is called. |
disposeDownloadHandlerOnDispose | If true, any DownloadHandler attached to this UnityWebRequest will have DownloadHandler.Dispose called automatically when UnityWebRequest.Dispose is called. |
disposeUploadHandlerOnDispose | If true, any UploadHandler attached to this UnityWebRequest will have UploadHandler.Dispose called automatically when UnityWebRequest.Dispose is called. |
downloadedBytes | Returns the number of bytes of body data the system has downloaded from the remote server. (Read Only) |
downloadHandler | Holds a reference to a DownloadHandler object, which manages body data received from the remote server by this UnityWebRequest. |
downloadProgress | Returns a floating-point value between 0.0 and 1.0, indicating the progress of downloading body data from the server. (Read Only) |
error | A human-readable string describing any system errors encountered by this UnityWebRequest object while handling HTTP requests or responses. (Read Only) |
isDone | Returns true after the UnityWebRequest has finished communicating with the remote server. (Read Only) |
isModifiable | Returns true while a UnityWebRequest’s configuration properties can be altered. (Read Only) |
method | Defines the HTTP verb used by this UnityWebRequest, such as GET or POST. |
redirectLimit | Indicates the number of redirects which this UnityWebRequest will follow before halting with a “Redirect Limit Exceeded” system error. |
responseCode | The numeric HTTP response code returned by the server, such as 200, 404 or 500. (Read Only) |
result | The result of this UnityWebRequest. |
timeout | Sets UnityWebRequest to attempt to abort after the number of seconds in timeout have passed. |
uploadedBytes | Returns the number of bytes of body data the system has uploaded to the remote server. (Read Only) |
uploadHandler | Holds a reference to the UploadHandler object which manages body data to be uploaded to the remote server. |
uploadProgress | Returns a floating-point value between 0.0 and 1.0, indicating the progress of uploading body data to the server. |
uri | Defines the target URI for the UnityWebRequest to communicate with. |
url | Defines the target URL for the UnityWebRequest to communicate with. |
useHttpContinue | Determines whether this UnityWebRequest will include Expect: 100-Continue in its outgoing request headers. (Default: true). |
UnityWebRequest | Creates a UnityWebRequest with the default options and no attached DownloadHandler or UploadHandler. Default method is GET. |
Abort | If in progress, halts the UnityWebRequest as soon as possible. |
Dispose | Signals that this UnityWebRequest is no longer being used, and should clean up any resources it is using. |
GetRequestHeader | Retrieves the value of a custom request header. |
GetResponseHeader | Retrieves the value of a response header from the latest HTTP response received. |
GetResponseHeaders | Retrieves a dictionary containing all the response headers received by this UnityWebRequest in the latest HTTP response. |
SendWebRequest | Begin communicating with the remote server. |
SetRequestHeader | Set a HTTP request header to a custom value. |
ClearCookieCache | Clears stored cookies from the cache. |
Delete | Creates a UnityWebRequest configured for HTTP DELETE. |
EscapeURL | Escapes characters in a string to ensure they are URL-friendly. |
GenerateBoundary | Generate a random 40-byte array for use as a multipart form boundary. |
Get | Create a UnityWebRequest for HTTP GET. |
Head | Creates a UnityWebRequest configured to send a HTTP HEAD request. |
Post | Creates a UnityWebRequest configured to send form data to a server via HTTP POST. |
PostWwwForm | Creates a UnityWebRequest configured to send form data to a server via HTTP POST. |
Put | Creates a UnityWebRequest configured to upload raw data to a remote server via HTTP PUT. |
SerializeFormSections | Converts a List of IMultipartFormSection objects into a byte array containing raw multipart form data. |
SerializeSimpleForm | Serialize a dictionary of strings into a byte array containing URL-encoded UTF8 characters. |
UnEscapeURL | Converts URL-friendly escape sequences back to normal text. |