2010-04-13 501 views
1

我正在通過電子郵件地址作爲網址的一部分,url中的電子郵件地址

例如, http://example.com/hello/[email protected]

但是,當傳遞給應用程序控制器時,它將更改爲「user%40hotmail.com」。

我似乎無法理解這個特殊字符逃跑;混亂。 請幫我解釋一下這個問題,以及我能做些什麼來解決它。

我正在使用python的「webapp」web應用程序框架。

+0

另請參閱http://stackoverflow.com/questions/814700/http-url-allowed-characters-in-parameter-names,http://stackoverflow.com/questions/1828958/is-character-inside-url -segment-allowed和http://stackoverflow.com/questions/912811/what-is-the-proper-way-to-url-encode-unicode-characters。 – 2010-04-13 16:04:14

回答

1

它被URL編碼。

您需要對其進行解碼。

+0

我想我可能應該使用,urllib2.ubquote(「email%40domain.com」) 這似乎工作 – phoenix24 2010-04-13 16:07:32

+0

'ubquote'不會工作,但'unquote'會:) – 2010-04-13 16:09:17

1

@變成%40由於percent encoding俗稱url編碼。

如果不知道代碼是如何使用的,那麼查看urllib實用函數進行解碼是值得的。下面是一個例如

可以通過單字符等效替換%XX逃逸。

相關問題