使用C#解析URL内的参数

时间:2015-04-06 16:18:20

标签: c# html url browser

假设我的网址为http://google.com/index.php?first=asd&second=mnb&third=lkj

如何使用c#?

获得第二个值(mnb

3 个答案:

答案 0 :(得分:1)

您可以使用ParseQueryString课程中的System.Web.HttpUtility方法。

Uri targetUri = new Uri("http://google.com/index.php?first=asd&second=mnb&third=lkj");
string first= HttpUtility.ParseQueryString(targetUri.Query).Get("first");
string second= HttpUtility.ParseQueryString(targetUri.Query).Get("second");

在此处查找更多内容:https://msdn.microsoft.com/en-us/library/ms150046.aspx

答案 1 :(得分:0)

对于简单的字符串解析,您可以使用扩展方法:

using System.Text.RegularExpressions;

public class Test
{
    public static void Main()
    {
        var value = "url".Between("second=", "&third");
    }
}

public static class Ext
{
    static string Between(this string source, string left, string right)
    {
        return Regex.Match(
                source,
                string.Format("{0}(.*){1}", left, right))
            .Groups[1].Value;
    }
}

但是,评论中建议的URL解析方法几乎可以肯定。

来源:Get string between two strings in a string

答案 2 :(得分:0)

试试这个:

String URL = "http://google.com/index.php?first=asd&second=mnb&third=lkj";

UriBuilder UrlThing = new UriBuilder(URL);

System.Collections.Specialized.NameValueCollection Args =  HttpUtility.ParseQueryString(UrlThing.Query);

String Second = Args["Second"];