通过GET提交一个避免网址编码的电子邮件地址?

时间:2010-07-22 05:06:59

标签: email forms

我可能有一个弗洛伊德的嘴唇,但我不知道如何发送电子邮件地址到一个特定的网址没有网址编码%40中的AT符号... 基本上我有一个基本的表格

<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>

但是我提交的表格就是网址

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

但我需要,因为之前设置的原因是这样的

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

我无法访问接收变量的页面...所以我想知道我是否可以按原样发送电子邮件地址..

感谢!!!

3 个答案:

答案 0 :(得分:9)

不,你不能根据RFC1738,URL Spec。 @符号是保留的,因为它具有特殊含义。

答案 1 :(得分:5)

正如Alan提到的,URL specification (RFC1738)禁止在URL中使用@符号,因为它保留在任何类型的URL中使用。一个例子是FTP URL,它提供了指定username@host.domain语法的选项。

RFC的第3部分显示了许多在URL中使用@符号的情况。

因此,@以及许多其他字符不能用作HTTP URL的一部分。

答案 2 :(得分:0)

不,你不能。必须对查询字符串中的变量进行编码,否则它不是有效的URL。