отправить через GET адрес электронной почты, избегая URL-кодировки? - PullRequest
4 голосов
/ 22 июля 2010

У меня могут быть фрейдовские уста, но я не могу понять, как отправить адрес электронной почты на определенный URL-адрес без URL-адреса, кодирующего символ AT в% 40 ... в основном, у меня есть базовая форма

<form class="firstLoginform" id="firstLoginform"  name="firstLoginform"  method="get" action="https://myurl" >

<label for="email" >Email Address</label>
<input type="text" name="userEmail" id="userEmail"  size="20" maxlength="150">

<center>
<input type="submit" value="submit" />
</center>
</form>

но я отправляю форму, URL будет похож на

https://myurl?userEmail=myemail%40mydomain.com

, но мне НУЖНО, по тем же причинам, что и предыдущие настройки, например,

https://myurl?userEmail=myemail@mydomain.com

У меня нет доступана страницу, которая получает переменные ... так что мне интересно, могу ли я отправить адрес электронной почты как есть ..

спасибо !!!

Ответы [ 3 ]

9 голосов
/ 22 июля 2010

Нет, вы не можете в соответствии с RFC1738, URL Spec.Символ @ зарезервирован, поскольку он имеет особое значение.

5 голосов
/ 22 июля 2010

Как отметил Алан, спецификация URL (RFC1738) запрещает использование символа @ в URL, поскольку он зарезервирован для использования в URL любого типа.Примером этого может быть URL-адрес FTP, который предоставляет возможность указать синтаксис * 1003. *.

В разделе 3 RFC показано несколько случаев, в которых символ @ используется в URL.1007 * По этой причине @ вместе с рядом других символов нельзя использовать как часть URL-адреса HTTP.

0 голосов
/ 22 июля 2010

Нет, вы не можете. Переменные в строках запроса должны быть закодированы, в противном случае это недопустимый URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...