1

I am passing the email address as part of the url,

for ex. http://example.com/hello/user@hotmail.com

but, when being passed to the application controller it is changed to " user%40hotmail.com ".

I can't seem to understand this special character escaping; confusion. please help me explain the problem here, and also what can I do to fix it.

I am using python's "webapp" web application framework.

phoenix24
  • 2,072
  • 2
  • 20
  • 24
  • See also http://stackoverflow.com/questions/814700/http-url-allowed-characters-in-parameter-names, http://stackoverflow.com/questions/1828958/is-character-inside-url-segment-allowed and http://stackoverflow.com/questions/912811/what-is-the-proper-way-to-url-encode-unicode-characters. – Daniel Daranas Apr 13 '10 at 16:04

2 Answers2

1

@ turns into %40 because of percent encoding commonly known as url encoding.

Without knowing exactly how the code is being used, it would be worth while to look at urllib utility functions for decoding. Here is one for example,

Replace %xx escapes by their single-character equivalent.

Anthony Forloney
  • 90,123
  • 14
  • 117
  • 115
1

It's being URL encoded.

You'll need to decode it.

Jack Marchetti
  • 15,536
  • 14
  • 81
  • 117