博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
当采集中的url包含%2F时
阅读量:7097 次
发布时间:2019-06-28

本文共 736 字,大约阅读时间需要 2 分钟。

请的一次信息抓取的时候,URI中包含%2F,但在URI虽包含的%2F的都转成/,如web.com/%2F 显示的是web//,导致地址出错。有时候如worda%2Fwordb,代表一个关键词,而转换后worda/wordb,成目录了,2次编码也能解决,,很显然,URI把地址给转换或者说是标准化了,但有时候却不对,具说之方法是作者在stackoverflow中找到解方法的。

解决方法:

static void ForceCanonicalPathAndQuery(Uri uri) {
string paq = uri.PathAndQuery; // need to access PathAndQuery FieldInfo flagsFieldInfo = typeof(Uri).GetField("m_Flags", BindingFlags.Instance | BindingFlags.NonPublic); ulong flags = (ulong)flagsFieldInfo.GetValue(uri); flags &= ~((ulong)0x30); // Flags.PathNotCanonical|Flags.QueryNotCanonical flagsFieldInfo.SetValue(uri, flags); }

调试:

Uri uri = new Uri("xxx.com/%2F"); ForceCanonicalPathAndQuery(uri);

 

希望有其它方法...

转载于:https://www.cnblogs.com/rockdean/articles/2365237.html

你可能感兴趣的文章
译|调整JavaScript抽象的迭代方案
查看>>
字符串与数组的方法总结(包含ES6)
查看>>
git入门
查看>>
为什么是link-visited-hover-active
查看>>
HTML表单元素及CSS
查看>>
Javascript中的柯里化
查看>>
leetcode 405. Convert a Number to Hexadecimal | &0xf和>>4
查看>>
CSS揭秘之《灵活的背景定位》
查看>>
IMWEB 前端编程题汇总
查看>>
PHP 进阶之路 - 亿级 pv 网站架构实战之性能压榨
查看>>
js面向对象基础
查看>>
关于前端 - 收藏集 - 掘金
查看>>
javaScript设计模式系列(一) 接口
查看>>
Vue的数据绑定部分的简要过程解释
查看>>
kubectl 搭建
查看>>
网络请求 - 收藏集 - 掘金
查看>>
好用的项目初始化工具SCION升级啦!
查看>>
Android敲门砖 - 收藏集 - 掘金
查看>>
[译] npm, yarn以及pnpm的不同之处
查看>>
通过Atlas实现MySQL读写分离
查看>>