.net4.0 winform中的urlencode函数 (2019/1/5 11:58:00) |
分类:多耐特 | 标签:urlencode .netframework |
在asp中可以用server.UrlEncode()方法将参数编码,在早期.net版本中也可以用ystem.Web.HttpUtility.UrlEncode()方法 但是在.net 4.0以后的framework这以方法不适用了, 在网上找了下,说可以用System.Uri.EscapeDataString()和System.Uri.EscapeUriString()来实现,但是经过测试,这2个方法的encode之后的编码和server.UrlEncode编码一样 找了很久,想了下,自己用一个自定义函数来实现,将+-*!@#等特殊字符用asp中的server.UrlEncode输出,然后在C#代码中replace。asp代码如下: straaaa="
~!@#$%^&*()_+=-\></
? *.'"",|[]{}"
for i=1 to len(straaaa)
strbbbbb=mid(straaaa,i,1)
response.write "ParaUrl = ParaUrl.Replace(""" & strbbbbb & """, """ & server.UrlEncode(strbbbbb) & """);<br />"
next 最后生成的网页内容为: ParaUrl = ParaUrl.Replace("~", "%7E");
ParaUrl = ParaUrl.Replace("!", "%21");
ParaUrl = ParaUrl.Replace("@", "%40");
ParaUrl = ParaUrl.Replace("#", "%23");
ParaUrl = ParaUrl.Replace("$", "%24");
ParaUrl = ParaUrl.Replace("%", "%25");
ParaUrl = ParaUrl.Replace("^", "%5E");
ParaUrl = ParaUrl.Replace("&", "%26");
ParaUrl = ParaUrl.Replace("*", "%2A");
ParaUrl = ParaUrl.Replace("(", "%28");
ParaUrl = ParaUrl.Replace(")", "%29");
ParaUrl = ParaUrl.Replace("_", "%5F");
ParaUrl = ParaUrl.Replace("+", "%2B");
ParaUrl = ParaUrl.Replace("=", "%3D");
ParaUrl = ParaUrl.Replace("-", "%2D");
ParaUrl = ParaUrl.Replace("\", "%5C");
ParaUrl = ParaUrl.Replace(">", "%3E");
ParaUrl = ParaUrl.Replace("<", "%3C");
ParaUrl = ParaUrl.Replace("/", "%2F");
ParaUrl = ParaUrl.Replace("?", "%3F");
ParaUrl = ParaUrl.Replace(" ", "+");
ParaUrl = ParaUrl.Replace("*", "%2A");
ParaUrl = ParaUrl.Replace(".", "%2E");
ParaUrl = ParaUrl.Replace("'", "%27");
ParaUrl = ParaUrl.Replace(""", "%22");
ParaUrl = ParaUrl.Replace(",", "%2C");
ParaUrl = ParaUrl.Replace("|", "%7C");
ParaUrl = ParaUrl.Replace("[", "%5B");
ParaUrl = ParaUrl.Replace("]", "%5D");
ParaUrl = ParaUrl.Replace("{", "%7B");
ParaUrl = ParaUrl.Replace("}", "%7D");
把上述内容添加到C#的自定义函数里面即可(注意%和转义): pstring UrlEncode(string ParaUrl) {
ParaUrl = ParaUrl.Replace("+", "%2B");
ParaUrl = ParaUrl.Replace("~", "%7E");
ParaUrl = ParaUrl.Replace("!", "%21");
ParaUrl = ParaUrl.Replace("@", "%40");
ParaUrl = ParaUrl.Replace("#", "%23");
ParaUrl = ParaUrl.Replace("$", "%24");
//ParaUrl = ParaUrl.Replace("%", "%25");
ParaUrl = ParaUrl.Replace("^", "%5E");
ParaUrl = ParaUrl.Replace("&", "%26");
ParaUrl = ParaUrl.Replace("*", "%2A");
ParaUrl = ParaUrl.Replace("(", "%28");
ParaUrl = ParaUrl.Replace(")", "%29");
ParaUrl = ParaUrl.Replace("_", "%5F");
ParaUrl = ParaUrl.Replace("+", "%2B");
ParaUrl = ParaUrl.Replace("=", "%3D");
ParaUrl = ParaUrl.Replace("-", "%2D");
ParaUrl = ParaUrl.Replace("
\\","%5C
");
ParaUrl = ParaUrl.Replace(">", "%3E");
ParaUrl = ParaUrl.Replace("<", "%3C");
ParaUrl = ParaUrl.Replace("/", "%2F");
ParaUrl = ParaUrl.Replace("?", "%3F");
ParaUrl = ParaUrl.Replace(" ", "%20");
ParaUrl = ParaUrl.Replace("*", "%2A");
ParaUrl = ParaUrl.Replace(".", "%2E");
ParaUrl = ParaUrl.Replace("*", "%2A");
ParaUrl = ParaUrl.Replace(".", "%2E");
ParaUrl = ParaUrl.Replace("'", "%27");
ParaUrl = ParaUrl.Replace("\"", "%22");
ParaUrl = ParaUrl.Replace(",", "%2C");
ParaUrl = ParaUrl.Replace("|", "%7C");
ParaUrl = ParaUrl.Replace("[", "%5B");
ParaUrl = ParaUrl.Replace("]", "%5D");
ParaUrl = ParaUrl.Replace("{", "%7B");
ParaUrl = ParaUrl.Replace("}", "%7D");
return ParaUrl;
} 然后调用UrlEncode函数即可
|
阅读(3436) | 评论(0) |
|
相关文章 |
暂无相关文章! |
评论 |
暂无评论! |
|
|
热门标签 |
asp(5050,3) webservice(4076,1) xml(3818,1) 微信公众平台(353,2) 关联度(,1) 订阅号(,1) 订阅号网页(,1) 网页获取openid(,1) 微信平台开发(,1) 学习笔记(,1) 迷宫求解(,1) 云技术(,1) javascript(,1) 相关性(,1) 相似文章(,1) 相关文章(,1) 智慧教室(,1) msxml2.XmlHttp(,1) ubuntu(,1) 乌班图(,1) 甲骨文云(,1) Nosupportedauthenticationmethodsavailable(,1) 批处理(,1) bat(,1) 订阅号获取openid(,1) 批量修改文件名(,1) publickey(,1) msxml3.dll(,1) 系统未找到制定资源(,1) 折叠菜单(,1) 收缩菜单(,1) .netframework(,1) urlencode(,1) ren(,1) |
|
|