URL解码:比照法的问题
网站分析中常常会遇到URL编码和解码的问题,而不同的站又会适用不同的编码方式。因此灵活的解码逻辑显得很需要
一、比照法(网上比较流行的编码方式)
(自命名,即解码再编码,对比结果)
使用比照法解决URL自动解码(UTF8和GB2312)是先将URL解码再编码,与原来URL对比,如果一致则为当前使用的编码方式,否则相反
存在的问题:部分编码的URL(如中文编码),解码过程没问题,二次编码则与原来不同,因为原来没有编码的部分也编了
如:
URL='/s?vit=union&rn=5&from=415c&word=%e8%8e%ab%e6%9c%a8%e5%85%b0'
decode='/s?vit=union&rn=5&from=415c&word=莫木兰'
encode(decode)='%2fs%3fvit%3dunion%26rn%3d5%26from%3d415c%26word%3d%e8%8e%ab%e6%9c%a8%e5%85%b0'
明显的URL!=encode,因此也就对比失败
using System; using System.Data; using System.Text; using System.Data.SqlClient; using System.Data.SqlTypes; using Microsoft.SqlServer.Server; public partial class UrlCodeFun { [Microsoft.SqlServer.Server.SqlFunction] public static SqlString SqlUrlEncode(string StrUrl) { //urlencode return new SqlString(System.Web.HttpUtility.UrlEncode(StrUrl,System.Text.Encoding.UTF8)); } public static SqlString SqlUrlDecode(string StrUrl) { //decode Encoding encoding = System.Text.Encoding.UTF8; //首先用utf-8进行解码 string code = System.Web.HttpUtility.UrlDecode(StrUrl,encoding); //将已经解码的字符再次进行编码. string encode = System.Web.HttpUtility.UrlEncode(code,encoding).ToLower(); if (StrUrl == encode) { encoding = System.Text.Encoding.UTF8; } else { encoding = System.Text.Encoding.GetEncoding("gb2312"); } //return System.Web.HttpUtility.UrlDecode(StrUrl, encoding); return new SqlString(System.Web.HttpUtility.UrlDecode(StrUrl, encoding)); } }
URL解码:比照法的问题相关推荐
- python url解码详解
python url解码 url是数据的一个部分,一般会用来做什么呢?比如网站的 URL,比如搜索引擎中的 url,再比如网页中的图片等. 你也许不知道,在 Web页面中的图片.链接.超链接都是 UR ...
- 快速解码base64和utf-8的ASCII编码和URL解码
看论坛上总是有人发乱七八糟的文字,根本看不懂,用下面的方法解密一下. 只要有浏览器的开发者工具就行了. UTF-16解码 console.log("\u5475\u5475") U ...
- 20220130---CTF WEB方向---命令执行和URL解码
CTF WEB方向–攻防世界–新手场–11,12两道题 第11题:command_execution--------题目类型:命令执行 先尝试ping一下127.0.0.1: 根据得到的反馈,估计是w ...
- 【ASP】简单Url编码和Url解码实例
描述:在数据传输或读取时,有些敏感数据不宜显示传输,特别涉及机密或财务信息,因此使用编码技术尤为重要. 简单实例: URL编码代码: protected void Button1_Click(obje ...
- Python url编码、url解码
url编码 import urllib.parseu = "%E6%88%91%E7%88%B1%E4%B8%AD%E5%9B%BD" print("url编码:&quo ...
- python解析url参数_Python3 url解码与参数解析
在获取zk节点时,有些子节点名字直接就是编码后的url,就像下面这行一样: url='dubbo%3A%2F%2F10.4.5.3%3A20880%2Fcom.welab.authority.serv ...
- URL编码(encode)和URL解码(decode)
由于URL中支持的字符是有限的,所以一些特殊字符(比如说:&.空格.加号等)和中文需要经过URL编码. URL编码的大体过程: 1.将字符经过一定的字符集(通常是UTF-8)编码 比如:&am ...
- JS javascript实现url编码和url解码(urlEncode urlDecode)
本文转自:JS javascript实现url编码和url解码(urlEncode urlDecode) 转载请保留. 表单通过get方式提交中文数据时,提交的中文会被转化为类似"%CC% ...
- python网络爬虫实列——站长之家url解码编码
爬虫实列--站长之家url解码编码 利用urllib可以做一些网页在线翻译,在线解码之类的实列. 1. 这是网站 2.找到所需要的请求头文件 找到请求网址,明确请求方法(详情请百度get请求与post ...
最新文章
- CF724G Xor-matic Number of the Graph(线性基+组合数)
- apache2 cgi配置
- Python实现简单的购物车
- PHP7.1安装yaf扩展
- python 字符串格式符
- 你应该知道的jQuery技巧【收藏】
- tomee_OpenLiberty:注入错误,适用于TomEE和Wildfly
- 互联网日报 | 3月7日 星期日 | 《你好,李焕英》成中国影史票房亚军;丰巢新增智能存包柜业务;特斯拉推出内部社交平台...
- 【idea配置】电脑死机重启后idea报错cannot load project:com.intellij.ide
- java set取最大最小_Java中取得数组中最大(小)元素的几种实现方法
- ccna之交换机密码破解
- k8s集群PHP环境使用
- 5.ESL笔记:线性模型与高斯-马尔科夫定理
- GFLOPS和GMACS概念
- Go语言aes加密解密处理
- 打开我的电脑显示计算机管理 不显示磁盘,win10打开此电脑不显示磁盘盘符的解决方法?...
- 两个简单的画验证码图形程序
- 运维工程师主要做什么_网络工程师和网络运维工程师到底有什么不同?
- 丹纳赫完成对PNI和GoSilico的收购;拜耳收购Noria 和PSMA Therapeutics | 医药健闻
- 全媒体运营师胡耀文教你:拆解电商运营万能公式
热门文章
- 啦啦~~~记录江苏省C等级考试相关题目
- 13,xilinx 7系列FPGA理论篇——IO_FIFO篇简介
- Detectron2安装踩坑记录(比较详细版)
- 信奥基本功:打字练习(盲打)
- JAVA-练习-百万富翁
- 使用GAN的图像超分辨率功能彻底消灭模糊图
- 奥运后,接手两个项目,PECT培训,CIW培训,系分考试...........一堆流水帐
- Vue中使用百度地图做路径分析并根据起终点坐标模拟道路里程桩
- 帮上百家客户完成数字化转型后,SAS开出了四剂药方应对变革焦虑
- DELL服务器部件型号/PN查找