获取原始(未解码)查询字符串键/值

 孤独秀风_328 发布于 2023-02-06 11:01

如何获取查询字符串中的原始(未解码)值?

我找到了Request.Url.Query,它成功地为我提供了原始查询字符串.但是,它给了我一个类型'字符串'和整个QS内容:我如何获得键/值对?

我确实找到了HttpUtility.ParseQueryString,但这迫使我做解码.我需要原始名称/值对.

我必须为此实现自己的查询字符串解析吗?有没有人做过一个我可以使用忽略编码?我找到了Mono实现,但这也强制编码.

谢谢!

编辑:我正在寻找这个的原因是因为某人(不是我!)编写了一些代码来加密一个值并将其放在查询字符串中.但是他们忘了先编码.Request.Querystring()正在进行的解码使得无法解密大约50%的解码,因为加密会留下"+"和"."之类的内容.

1 个回答
  • Request.QueryString应该给你一个NameValueCollection已解码的所有键/值对.

    对不起,我误解了这个问题.你需要自己解析它,但它不应该那么困难:

    Request.Url.Query.Split('&').Select(pair => pair.Split('='))
        .ToDictionary(a => a[0], a => a[1]);
    

    当然,这是假设您的URL中未编码的值不包含"&"或"="值.如果他们这样做......好吧,那就是那种URL编码,不是吗?

    2023-02-06 11:04 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有