我有一个接受字符串参数的web服务。参数将始终是原始URL。用户使用用户名,requestid,选项yes或no向我发送原始URL。例如:
http://bookReport/request.aspx?user=abc&password=password&request=1&option=yes
我正在创建一个Web请求并传递url,如下所示。
var request = (HttpWebRequest)WebRequest.Create(url);
var user = request.RequestUri.Query.ToString();
string[] p = Regex.Split(user, "password=");
string[] password = Regex.Split(p[1], "&request=");
如何在不使用Regex.Split方法的情况下获取用户名,密码,请求和选项?
答案 0 :(得分:1)
string userName = request.QueryString["user"];
string password = request.QueryString["password"];
答案 1 :(得分:1)
您可以使用Request.QueryString函数访问查询字符串变量,如下所示
string userName = Request.QueryString["user"];
string password = Request.QueryString["password"];
string request = Request.QueryString["request"];
string option = Request.QueryString["option"];
通过查看您的代码,我们获得了另一种从字符串中检索查询字符串值的方法。您可以使用以下代码
Uri uri = new Uri(url);
var values= HttpUtility.ParseQueryString(uri.Query);
string userName = values["user"];
string password = values["password"];
string request = values["request"];
string option = values["option"];
答案 2 :(得分:1)
有些人建议您可以通过Request对象的QueryString索引器访问查询字符串。该索引器出现在System。 Web .HttpRequest中,有问题的对象是System。 Net .HttpWebRequest。它们是非常不同的东西。 HttpUtility类将为您解析查询字符串中的参数:
Uri uri = new Uri("http://bookReport/request.aspx?user=abc&password=password&request=1&option=yes");
var qs = HttpUtility.ParseQueryString(uri.Query);