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);
  • 相关阅读:
    剑指Offer_编程题_从尾到头打印链表
    剑指Offer_编程题_替换空格
    剑指Offer_编程题_二维数组中的查找
    我用java爬虫爬了一个图片网站
    docker安装mysql5.7
    设计模式和设计原则
    nginx 限流配置
    JAVA性能监控与调优参考文档链接
    单例模式
    Java开发中对Redis的基本操作
  • 原文地址:https://www.cnblogs.com/Fooo/p/11048452.html
Copyright © 2011-2022 走看看