Search code examples
vb.netencodingutf-8httpwebrequest

VB.Net Convert text to WWW form


I want to convert text into the WWW form.

E.g: @ should be %40, % should be %25 etc...

There's fine encoder here, but i want to do it in VB.Net.

I need this for httpwebrequest, i think it has something to do with x-www-form-urlencoded.


Solution

  • You can use the Uri.EscapeDataString() method for that:

    Dim OriginalURL As String = "http://www.example.com/some file with spaces.php?q1=plus+&q2=at@&q3=svenska språkets 'ö'"
    Dim EncodedURL As String = Uri.EscapeDataString(OriginalURL)
    

    Online test: https://ideone.com/h5fqm1

    And if you want to just escape parts of the URL but still keep valid components such as : / = ? & (etc.) you'd use Uri.EscapeUriString().