zoukankan      html  css  js  c++  java
  • C# 获取url中的查询字符串参数

    /// <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);
  • 相关阅读:
    png格式的img元素直接设置背景色、border-radius等属性,不需再包裹div造成冗余
    :before伪元素的灵活用法——前置元素的装饰
    linear-gradient在实战项目中的灵活运用——position和size的深入理解
    算法之单向链表
    awk(二)
    awk(一)
    grep与正则表达式
    编程原理
    Shell-bash的基本特性
    DNS域名轮循业务监控
  • 原文地址:https://www.cnblogs.com/Fooo/p/11048452.html
Copyright © 2011-2022 走看看