Search Issue Tracker

Fixed in 2017.3.0f3

Fixed in 2017.1.X, 2017.2.X

Votes

5

Found in

2017.1.0f3

Issue ID

932312

Regression

Yes

[WWW][UnityWebRequest] InvalidOperationException when User-Agent header contains parenthesis

Networking

-

Steps to reproduce:
1. Open project
2. Enter play mode
3. Observe the console

Result:
InvalidOperationException: Header value contains invalid characters
UnityEngine.Networking.UnityWebRequest.SetRequestHeader (System.String name, System.String value) (at /Users/builduser/buildslave/unity/build/artifacts/generated/common/modules/UnityWebRequest/WebRequestBindings.gen.cs:479)

Reproduced on: 2017.1.0f3, 2017.2.0b2
Did not reproduce on: 5.5.4p1, 5.6.2p4

Note: Removing parenthesis "(" and ")" eliminates the error

Comments (6)

  1. shubhamswaraj2021

    Aug 18, 2020 16:30

    good one <a href="https://www.lyricsauto.com">lyricsauto</a>

  2. RowlandCollins

    Jun 25, 2020 11:41

    It is not easy to solve this issue therefore, I am thinking now to find a way of bypassing it. My friend has suggested me to replace these special characters with the best ones. Website https://xpertwriters.com/academic-ghostwriting-service/ is helpful in research paper online. Using suggested HTML escape characters might help me out.

  3. pikachu007

    Mar 09, 2019 10:33

    Unity Application side:
    Uri.EscapeUriString("Your header content with spéci@l characters");

    Serveur side: PHP exemple:
    urldecode($encodedString);

  4. AlexKilowat

    Oct 02, 2017 10:48

    Fixed in 2017.1.1p3.

  5. Hosnkobf

    Aug 28, 2017 13:23

    Thanks EILIOMM,

    It seems to be really only the brackets... I first tried to escape it in different ways without success.
    In the end I just replaced the brackets and it works.

    [code]
    string Escape(string s)
    {
    s = s.Replace("(", "&#40");
    s = s.Replace(")", "&#41");
    return s;
    }
    [/code]

  6. emiliomm

    Aug 09, 2017 10:52

    I found a way to bypass the issue for those who need the header to work and are stuck with the 2017.x version.

    Simply replace the characters "(" for "&#40" and ")" for "&#41". These are the html escape characters and seem to work fine for me.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.