明天的明天 永远的永远 未知的一切 我与你一起承担 ??

是非成败转头空 青山依旧在 几度夕阳红 。。。
随笔 - 1277, 文章 - 0, 评论 - 214, 阅读 - 320万
  博客园  :: 首页  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

C# 获取url中的查询字符串参数

Posted on   且行且思  阅读(2407)  评论(0编辑  收藏  举报
复制代码
/// <summary>
/// 获取url中的查询字符串参数
/// </summary>
public static NameValueCollection ExtractQueryParams(string url)
{
    int startIndex = url.IndexOf("?");
    NameValueCollection values = new NameValueCollection();
 
    if (startIndex <= 0)
        return values;
 
    string[] nameValues = url.Substring(startIndex + 1).Split('&');
 
    foreach (string s in nameValues)
    {
        string[] pair = s.Split('=');
 
        string name = pair[0];
        string value = string.Empty;
 
        if (pair.Length > 1)
            value = pair[1];
 
        values.Add(name, value);
    }
 
    return values;
}
复制代码

 

复制代码
///   <summary>
///  解码URL.
///   </summary>
///   <param name="encoding"> null为自动选择编码 </param>
///   <param name="str"></param>
///   <returns></returns>
public   static   string  MyUrlDeCode( string  str, Encoding encoding)
{
     if  (encoding  ==   null )
    {
        Encoding utf8  =  Encoding.UTF8;
         // 首先用utf-8进行解码                     
         string  code  =  HttpUtility.UrlDecode(str.ToUpper(), utf8);
         // 将已经解码的字符再次进行编码.
         string  encode  =  HttpUtility.UrlEncode(code, utf8).ToUpper();
         if  (str  ==  encode)
            encoding  =  Encoding.UTF8;
         else
            encoding  =  Encoding.GetEncoding( " gb2312 " );
    }
     return  HttpUtility.UrlDecode(str, encoding);
}
复制代码

 

using System.Security.Cryptography;
using System.Collections.Specialized;

 

 

NameValueCollection col = ExtractQueryParams("partnerId=12546&action=getProduct&timestamp=1560850762&nonce=8ObVcFPmverVgKth&sign=ea93f793f67e3a442fd8ad2bdf61e70e&data=FxsFyiX2s7M3zsnRzpkvGe6oOeLvmN1Q0u24cC1YX3PBU8fE9KA%2BOwU2RFD%2F4yhglONDiFC3te5Cqe0%2FLrfkZQcsUefPieWWo8K2GlOAA4OQBu3Y9YX8xkWTNPPcWjHLN%2BMd%2BOR%2B6fHL0AxQgKBNdTSKdOR9fo9WUZa1Snvh%2Bww%3D");
            string searchKey = col["action"];
            Response.Write(searchKey);

 

编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
历史上的今天:
2010-06-18 让嵌入窗体的 WebBrowser 控件无边框
2009-06-18 C# :Word 标签替代文字或图片 (图片浮于文字之上 插入后回车或换行符替换的解决方法)
点击右上角即可分享
微信分享提示