网站分析中常常会遇到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解码:比照法的问题相关推荐

  1. python url解码详解

    python url解码 url是数据的一个部分,一般会用来做什么呢?比如网站的 URL,比如搜索引擎中的 url,再比如网页中的图片等. 你也许不知道,在 Web页面中的图片.链接.超链接都是 UR ...

  2. 快速解码base64和utf-8的ASCII编码和URL解码

    看论坛上总是有人发乱七八糟的文字,根本看不懂,用下面的方法解密一下. 只要有浏览器的开发者工具就行了. UTF-16解码 console.log("\u5475\u5475") U ...

  3. 20220130---CTF WEB方向---命令执行和URL解码

    CTF WEB方向–攻防世界–新手场–11,12两道题 第11题:command_execution--------题目类型:命令执行 先尝试ping一下127.0.0.1: 根据得到的反馈,估计是w ...

  4. 【ASP】简单Url编码和Url解码实例

    描述:在数据传输或读取时,有些敏感数据不宜显示传输,特别涉及机密或财务信息,因此使用编码技术尤为重要. 简单实例: URL编码代码: protected void Button1_Click(obje ...

  5. Python url编码、url解码

    url编码 import urllib.parseu = "%E6%88%91%E7%88%B1%E4%B8%AD%E5%9B%BD" print("url编码:&quo ...

  6. python解析url参数_Python3 url解码与参数解析

    在获取zk节点时,有些子节点名字直接就是编码后的url,就像下面这行一样: url='dubbo%3A%2F%2F10.4.5.3%3A20880%2Fcom.welab.authority.serv ...

  7. URL编码(encode)和URL解码(decode)

    由于URL中支持的字符是有限的,所以一些特殊字符(比如说:&.空格.加号等)和中文需要经过URL编码. URL编码的大体过程: 1.将字符经过一定的字符集(通常是UTF-8)编码 比如:&am ...

  8. JS javascript实现url编码和url解码(urlEncode urlDecode)

    本文转自:JS javascript实现url编码和url解码(urlEncode urlDecode)  转载请保留. 表单通过get方式提交中文数据时,提交的中文会被转化为类似"%CC% ...

  9. python网络爬虫实列——站长之家url解码编码

    爬虫实列--站长之家url解码编码 利用urllib可以做一些网页在线翻译,在线解码之类的实列. 1. 这是网站 2.找到所需要的请求头文件 找到请求网址,明确请求方法(详情请百度get请求与post ...

最新文章

  1. CF724G Xor-matic Number of the Graph(线性基+组合数)
  2. apache2 cgi配置
  3. Python实现简单的购物车
  4. PHP7.1安装yaf扩展
  5. python 字符串格式符
  6. 你应该知道的jQuery技巧【收藏】
  7. tomee_OpenLiberty:注入错误,适用于TomEE和Wildfly
  8. 互联网日报 | 3月7日 星期日 | 《你好,李焕英》成中国影史票房亚军;丰巢新增智能存包柜业务;特斯拉推出内部社交平台...
  9. 【idea配置】电脑死机重启后idea报错cannot load project:com.intellij.ide
  10. java set取最大最小_Java中取得数组中最大(小)元素的几种实现方法
  11. ccna之交换机密码破解
  12. k8s集群PHP环境使用
  13. 5.ESL笔记:线性模型与高斯-马尔科夫定理
  14. GFLOPS和GMACS概念
  15. Go语言aes加密解密处理
  16. 打开我的电脑显示计算机管理 不显示磁盘,win10打开此电脑不显示磁盘盘符的解决方法?...
  17. 两个简单的画验证码图形程序
  18. 运维工程师主要做什么_网络工程师和网络运维工程师到底有什么不同?
  19. 丹纳赫完成对PNI和GoSilico的收购;拜耳收购Noria 和PSMA Therapeutics | 医药健闻
  20. 全媒体运营师胡耀文教你:拆解电商运营万能公式

热门文章

  1. 啦啦~~~记录江苏省C等级考试相关题目
  2. 13,xilinx 7系列FPGA理论篇——IO_FIFO篇简介
  3. Detectron2安装踩坑记录(比较详细版)
  4. 信奥基本功:打字练习(盲打)
  5. JAVA-练习-百万富翁
  6. 使用GAN的图像超分辨率功能彻底消灭模糊图
  7. 奥运后,接手两个项目,PECT培训,CIW培训,系分考试...........一堆流水帐
  8. Vue中使用百度地图做路径分析并根据起终点坐标模拟道路里程桩
  9. 帮上百家客户完成数字化转型后,SAS开出了四剂药方应对变革焦虑
  10. DELL服务器部件型号/PN查找