Передача адреса электронной почты через строку запроса в C#

#c# #url

#c# #url

Вопрос:

Я хочу отправить URL человеку. Этот URL-адрес должен включать адрес электронной почты. В принципе, я хочу что-то, что выглядит как:

 http://www.mydomain.com/page.aspx?e=emailAddress@network.com
  

Насколько я понимаю, я не могу передать адрес электронной почты напрямую через URL. Скорее, мне нужно сначала его закодировать. Правильно ли я понимаю? Если да, то как мне закодировать его с помощью C #? Я вижу всевозможные варианты кодирования, но я не уверен, что использовать.

Спасибо!

Ответ №1:

Если вы делаете это с C #, используйте HttpServerUtility.UrlEncode для кодирования чего-либо в URL.

Из статьи:

 String MyURL;
MyURL = "http://www.contoso.com/articles.aspx?title="   Server.UrlEncode("ASP.NET Examples");
  

или для вашего случая:

 String MyURL = "http://www.mydomain.com/page.aspx?e="   Server.UrlEncode("emailAddress@network.com");
  

Ответ №2:

Да, было бы неплохо закодировать аргумент в URL, используя что-то вроде HttpUtility.UrlEncode() .

Однако то, что вы показали, передает электронное письмо в аргументе запроса URL. Не уверен, что вы имеете в виду, говоря об отправке URL-адреса человеку.

Комментарии:

1. И затем вам нужно использовать HttpUtility.UrlDecode() для извлечения данного электронного письма из параметра запроса.

Ответ №3:

Попробуйте использовать HttpUtility.UrlEncode() для адреса электронной почты, это должно делать то, что вы хотите.

Комментарии:

1. Другой Крис был быстрее 😉