System.Web.HttpUtility.ParseQueryString C# (CSharp) Method

ParseQueryString() public static method

public static ParseQueryString ( string query ) : System.Collections.Specialized.NameValueCollection
query string
return System.Collections.Specialized.NameValueCollection
        public static System.Collections.Specialized.NameValueCollection ParseQueryString(string query)
        {
            throw null;
        }

Same methods

HttpUtility::ParseQueryString ( string query, System encoding ) : System.Collections.Specialized.NameValueCollection

Usage Example

    public static void Main(string[] args)
    {
        string videoID = "2FlgVN03fNM";

        string[] itagByPriority = { "5", "6", "34", "35" };

        string videoUrl     = "https://www.youtube.com/get_video_info?asv=3&el=detailpage&hl=en_US&video_id=" + videoID;
        string encodedVideo = null;

        using (WebClient client = new WebClient()) {
            encodedVideo = client.DownloadString(videoUrl);
        }

        NameValueCollection video = HttpUtility.ParseQueryString(encodedVideo);

        NameValueCollection preferredStream = video["url_encoded_fmt_stream_map"].
                                              Split(new char[] { ',' }).
                                              Select(encodedStream => HttpUtility.ParseQueryString(encodedStream)).
                                              OrderBy(stream => Array.IndexOf(itagByPriority, stream["itag"])).
                                              LastOrDefault();

        if (preferredStream != null)
        {
            Console.WriteLine("{0}&signature={1}", preferredStream["url"], preferredStream["sig"]);
        }
    }