免费行情网站推荐,兰州网站排名外包,专业的天津网站建设,房地产行业现状与未来欢迎来到《小5讲堂》#xff0c;大家好#xff0c;我是全栈小5。 这是2024年第8篇文章#xff0c;此篇文章是C#知识点实践序列文章#xff0c; 博主能力有限#xff0c;理解水平有限#xff0c;若有不对之处望指正#xff01; 地址编码大家应该比较经常遇到和使用到大家好我是全栈小5。 这是2024年第8篇文章此篇文章是C#知识点实践序列文章 博主能力有限理解水平有限若有不对之处望指正 地址编码大家应该比较经常遇到和使用到一起来看看是如何编码和解码的吧 目录 前言基本信息编码场景 地址编码解码地址编码效果代码 地址解码效果代码 疑问解答 前言
对接过接口的小伙伴应该对地址编码不陌生对于我们刚接触时心中都有疑问为什么要编码直接原样字符串传递不可以吗 我们带着这个疑问一步步来解开谜团
基本信息
C#中的地址编码和地址解码通常用于处理 URL 中的特殊字符以确保 URL 的正确性和安全性。这种编码/解码操作可以使用 UrlEncode 和 UrlDecode 方法来完成。比如空格和问号。
编码场景
比如C站下面的文本搜索区域当我们输入文本搜索时地址栏就会自动把特殊符号进行了编码 原始文本C# URL编码?和解码 编码文本C%23%20URL编码%3F和解码%26 从下面我们可以知道#井号、空格、?问号、和符号均被自动进行了编码 这个和符号被编码的目的很简单因为地址栏的和符号是用来分隔参数所以不能原样显示否则可能会出现就达不到参数值的正确性了
地址编码解码
地址编码
从上面基本信息我们可以知道对地址编码主要是为了正确性和安全性一般地址参数都是用问号后面的来标识所以地址参数有问号就需要特殊处理。 这里需要注意的是地址编码是指针对问号后面的参数进行编码而不是全地址进行编号否则就无法发起http请求了。
效果
没有进行地址参数处理就会出现下面全地址编码这个是不对的 地址参数编码
代码
string urlText https://so.csdn.net/so/search?spm1001.2227.3001.4498qC# URL编码?和解码tu;
string urlValue urlText.Split(?)[0];
string urlParam urlText.Split(?)[1];
string urlNew ${urlValue}?{System.Web.HttpUtility.UrlEncode(urlParam)};
textBox2.Text urlNew;地址解码
在 C# 中地址解码是将经过地址编码的字符串还原为原始字符串的过程。 常用的地址解码方法是 HttpUtility.UrlDecode该方法在 System.Web 命名空间中定义。
效果 代码
string url https://so.csdn.net/so/search?spm%3d1001.2227.3001.4498%26q%3dC%23URL%e7%bc%96%e7%a0%81;
string urlNew System.Web.HttpUtility.UrlDecode(url);
textBox2.Text urlNew;疑问解答
如果在 C# 中不进行地址编码可能会出现以下问题
1.URI 格式错误 特殊字符如空格、问号、等号等在 URI 中有特定的含义如果不经过编码直接使用可能会导致 URI 格式错误无法正确解析和处理。 2.安全问题 在构造包含用户输入的 URI 时如果不对用户输入的特殊字符进行编码可能会导致安全问题。例如恶意用户可能通过在 URI 中插入恶意代码或注入攻击来获取未经授权的数据或执行非法操作。 3.数据丢失或错误 某些字符在 URI 中可能会被服务器或其他中间件解析或处理时误解。在进行传输或处理过程中这些字符可能被修改或丢失导致 URI 不符合预期。 4.兼容性问题 不同的服务器或客户端可能对特殊字符的处理方式有所不同。如果不进行地址编码可能会导致不同环境下的兼容性问题影响系统的通用性和可移植性。 总结温故而知新不同阶段重温知识点会有不一样的认识和理解博主将巩固一遍知识点并以实践方式和大家分享若能有所帮助和收获这将是博主最大的创作动力和荣幸。也期待认识更多优秀新老博主。