如何处理C# URL-encode 如何和PHP不一致

疲倦的伤新 2016-12-01 04:58:57

如图 .NET HttpUtility.UrlEncode 对括号不识别。

和PHP解析的不一样
PHP为

请问这个差异如何处理
...全文
367 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
            var str = HttpUtility.UrlEncode(tmp.ToString(), Encoding.UTF8);
str = Regex.Replace(str, @"(?<=%).{2}", m => m.Value.ToUpper());//关键一段,将编码后%后面的两位转义符Upper,没这段必定签名错误

这是我在调用百度推送的代码,没这段签名也验不过
疲倦的伤新 2016-12-02
  • 打赏
  • 举报
回复
引用 4 楼 sp1234 的回复:
不要纠结“结果”。你是开发人员,不是老板,所以不要纠结结果,要从“过程”入手来理解和调试技术!
只是调用PHP 开发的HTTP接口,需要用UrlEncode后的字符去做MD5,所以就要纠结这个了
疲倦的伤新 2016-12-02
  • 打赏
  • 举报
回复
引用 3 楼 sp1234 的回复:
结果中不可能出现括号。你应该检查自己的程序的 bug。贴出你的程序调试画面来看看你调试了什么?



  • 打赏
  • 举报
回复
不要纠结“结果”。你是开发人员,不是老板,所以不要纠结结果,要从“过程”入手来理解和调试技术!
  • 打赏
  • 举报
回复
结果中不可能出现括号。你应该检查自己的程序的 bug。贴出你的程序调试画面来看看你调试了什么?
疲倦的伤新 2016-12-01
  • 打赏
  • 举报
回复
引用 1 楼 crystal_lz 的回复:
url能被正确解析就行了 为什么要在意这种细节 并不是所有的字符都需要编码的
因为调用php的接口。人家这样进行MD5
crystal_lz 2016-12-01
  • 打赏
  • 举报
回复
url能被正确解析就行了 为什么要在意这种细节 并不是所有的字符都需要编码的

110,539

社区成员

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

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

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