将字符串转换为正确的URI格式

本文关键字:URI 格式 字符串 转换 | 更新日期: 2023-09-27 18:19:29

有什么简单的方法可以将电子邮件地址字符串转换为正确的URI格式吗?

输入:

http://mywebsite.com/validate_email/3DE4ED727750215D957F8A1E4B117C38E7250C33/myemail@yahoo.com  

输出应为:

http://mywebsite.com/validate_email/3DE4ED727750215D957F8A1E4B117C38E7250C33/myemail%40yahoo.com  

如果我不进行输出,我会得到类似的错误响应

An Error Was Encountered
The URI you submitted has disallowed characters.

提前感谢!

将字符串转换为正确的URI格式

描述

您必须从url中提取QueryString,对其进行编码并构建新的url。

样品

string url = "http://mywebsite.com/validate_email/3DE4ED727750215D957F8A1E4B117C38E7250C33/myemail@yahoo.com";
int index = url.LastIndexOf("/");
string queryString = url.Substring(index + 1, url.Length - (index + 1));
url = url.Substring(0, index) + "/" + HttpUtility.UrlEncode(queryString);
// url is now
// http://mywebsite.com/validate_email/3DE4ED727750215D957F8A1E4B117C38E7250C33/myemail%40yahoo.com

更多信息

  • String.LastIndexOf方法
  • String.Substring方法
  • HttpUtility.UrlEncode方法