Version: 2020.2
public void SetRequestHeader (string name, string value);


nameThe key of the header to be set. Case-sensitive.
valueThe header's intended value.


Set a HTTP request header to a custom value.

Header keys and values must be valid according to HTTP protocol specification. Neither string may contain certain illegal characters, such as control characters. Both strings must be non-null and contain a minimum of 1 character. For more information, see HTTP specifications.

This method cannot be called after Send has been called.

It is not recommended to set these headers to custom values: accept-charset, accept-encoding, access-control-request-headers, access-control-request-method, connection, date, dnt, expect, host, keep-alive, origin, referer, te, trailer, transfer-encoding, upgrade, via. Due to different limitations across platforms the custom value might be overridden, ignored or unsupported, so the resulting behavior is unreliable. It is strongly recommended to leave these headers for automatic handling unless you can accept the risk of unexpected results.

The content-length header will be automatically populated based on the contents of the attached DownloadHandler, if any, and cannot be set to a custom value.

The x-unity-version header is automatically set by Unity and may not be set to custom value.

The user-agent header is automatically set by Unity and it is not recommended to set it to custom value.

The cookie and cookie2 headers are automatically managed by underlaying cookie engine. While exact behavior is platform dependent, usually setting cookies via this header will append them to those set by engine. See Also: ClearCookieCache.

In addition to the above, the following headers are filled by the web browser on the WebGL platform, and therefore may not have custom values set: cookie, cookie2, user-agent.