C# Url转义符的问题

w297088867 2014-07-09 05:25:25
用 HttpWebRequest.Create的时候 。传递%和|||会自动转化为%25和%7C.
问题不需要他转化%25和%7C。有什么办法吗?
...全文
851 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
crystal_lz 2016-06-07
  • 打赏
  • 举报
回复
14年的帖子都被翻出来。。。我也是醉了
估计楼主早就不在了
最主要是的 上面的人讨论了那么多 我就不明白了。。
算了不说了 自己看图吧

请告诉我哪里转义了 ?。。
居然还讨论除了这么多出来
都没用过 或者说都没试一下 就在瞎想回答吗?。。
qq_21548077 2016-06-07
  • 打赏
  • 举报
回复
C#转义字符上标有123为什么没有4,求问4以后的上标转义字符是什么?急急急,大神们快来帮帮我啊
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
贴下找到的方法: 搞定了,使用uil 创建httpWebRequest 实例,如下: httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(new Uri(url,true)); Uri对应构成函数说明如下:... 原帖地址:
  • 打赏
  • 举报
回复
高手,问题解决了嘛?说下咋解决的啊。顺便结下帖。
宝_爸 2014-07-10
  • 打赏
  • 举报
回复
引用 6 楼 w297088867 的回复:
[quote=引用 5 楼 smthgdin 的回复:] [quote=引用 4 楼 findcaiyzh 的回复:] URL的协议rfc3986 只支持有限的字符。 %不属于有效字符,转义是正确的。应该对方应该处理。 服务器是asp.ne的话,我记得framework会自动处理。
+1 服务器端会自动解码。[/quote] 我现在用winfrom编写的~~很简单的 有米有办法解决这个问题!![/quote] Winform写服务器端?用HttpUtility.UrlDecode解码
w297088867 2014-07-10
  • 打赏
  • 举报
回复
引用 5 楼 smthgdin 的回复:
[quote=引用 4 楼 findcaiyzh 的回复:] URL的协议rfc3986 只支持有限的字符。 %不属于有效字符,转义是正确的。应该对方应该处理。 服务器是asp.ne的话,我记得framework会自动处理。
+1 服务器端会自动解码。[/quote] 我现在用winfrom编写的~~很简单的 有米有办法解决这个问题!!
smthgdin_020 2014-07-10
  • 打赏
  • 举报
回复
引用 4 楼 findcaiyzh 的回复:
URL的协议rfc3986 只支持有限的字符。 %不属于有效字符,转义是正确的。应该对方应该处理。 服务器是asp.ne的话,我记得framework会自动处理。
+1 服务器端会自动解码。
宝_爸 2014-07-10
  • 打赏
  • 举报
回复
URL的协议rfc3986 只支持有限的字符。 %不属于有效字符,转义是正确的。应该对方应该处理。 服务器是asp.ne的话,我记得framework会自动处理。
save4me 2014-07-10
  • 打赏
  • 举报
回复
我想sp1234的意思是你不需要太关心%的问题。url_encode的目的是保证URL是合法有效的,所以会用%25替换%。程序自己会在处理的时候做url_decode处理,你如果直接把%发送到服务器,因为%不是合法的URL字符,反而不能识别了。 有些虽然是标准,但是也有不按标准办事的,所以最关键的就是你在程序里面试一下把被编码的网址发送到服务器,看看有没有返回应该返回的网页。如果没有的话,大家在分析一下是什么原因。 看一下: 2.2 保留字符和百分号编码 URL中的保留和不安全字符
引用 16 楼 w297088867 的回复:
[quote=引用 12 楼 sp1234 的回复:] [quote=引用 2 楼 w297088867 的回复:] 问题我采集别的数据需要!采集别人数据需要提交%才能识别~
停留在这个上面纠结,根本是浪费时间。你应该把你的”采集数据的需要“稍微深入一点明白地说明。[/quote] 这么跟你说url_encode gbk 传递参数的时候 不是有 %字符串,然后get发送过去的时候.会吧%直接变成%25了[/quote]
bdmh 2014-07-10
  • 打赏
  • 举报
回复
对方解码就好了
w297088867 2014-07-10
  • 打赏
  • 举报
回复
问题我采集别的数据需要!采集别人数据需要提交%才能识别~
Cnwanglin 2014-07-10
  • 打赏
  • 举报
回复
把% 替换为其他的字符
geyewei 2014-07-10
  • 打赏
  • 举报
回复
引用 15 楼 w297088867 的回复:
[quote=引用 14 楼 Z65443344 的回复:] 还有,不管你最后弄明白了没有,都是要真正测试一下才能知道到底好用不好用 也许你现在就已经能正常通信了,结果还在那里纠结这个. 试了不好用,然后再找原因,改了再试. 想一步到位,你得非常熟悉才行.
这么跟你说url_encode gbk 传递参数的时候 不是有 %字符串,然后get发送过去的时候.会吧%直接变成%25了。就怎么简单,如何解决这个问题。C# winfrom [/quote] 还是不大明白你到底是碰到了什么问题,如果你能更详细的描述一下,就对其他人更有帮助了。不过我肢解一下你自己的话,看看i不是下面这回事? 如果 【get发送过去的时候.会吧%直接变成%25了】 这个现象存在的话,说明在 【get发送过去的时候】 处理里面已经进行了编码变换了,就不需要通过 【url_encode gbk 传递参数的时候】 这个处理了。
showjim 2014-07-10
  • 打赏
  • 举报
回复
试试fastCSharp.expand
fastCSharp.uri.CreateAbsolute("http://www.asdfasdf.net/%1", fastCSharp.uri.flags.ShouldBeCompressed | fastCSharp.uri.flags.E_QueryNotCanonical)
w297088867 2014-07-10
  • 打赏
  • 举报
回复
引用 12 楼 sp1234 的回复:
[quote=引用 2 楼 w297088867 的回复:] 问题我采集别的数据需要!采集别人数据需要提交%才能识别~
停留在这个上面纠结,根本是浪费时间。你应该把你的”采集数据的需要“稍微深入一点明白地说明。[/quote] 这么跟你说url_encode gbk 传递参数的时候 不是有 %字符串,然后get发送过去的时候.会吧%直接变成%25了
w297088867 2014-07-10
  • 打赏
  • 举报
回复
引用 14 楼 Z65443344 的回复:
还有,不管你最后弄明白了没有,都是要真正测试一下才能知道到底好用不好用 也许你现在就已经能正常通信了,结果还在那里纠结这个. 试了不好用,然后再找原因,改了再试. 想一步到位,你得非常熟悉才行.
这么跟你说url_encode gbk 传递参数的时候 不是有 %字符串,然后get发送过去的时候.会吧%直接变成%25了。就怎么简单,如何解决这个问题。C# winfrom
於黾 2014-07-10
  • 打赏
  • 举报
回复
还有,不管你最后弄明白了没有,都是要真正测试一下才能知道到底好用不好用 也许你现在就已经能正常通信了,结果还在那里纠结这个. 试了不好用,然后再找原因,改了再试. 想一步到位,你得非常熟悉才行.
於黾 2014-07-10
  • 打赏
  • 举报
回复
建议跟通信协议相关的东西,还是和对方多沟通,而不是自己在那瞎猜 要提交%才能识别,到底要提交个什么东西,问清楚
  • 打赏
  • 举报
回复
引用 2 楼 w297088867 的回复:
问题我采集别的数据需要!采集别人数据需要提交%才能识别~
停留在这个上面纠结,根本是浪费时间。你应该把你的”采集数据的需要“稍微深入一点明白地说明。
加载更多回复(4)

110,548

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧