如何使用get方法将字符串查询到网站?

时间:2014-09-24 12:03:18

标签: c# httprequest getmethod

我想将一个信息连同网址的查询字符串一起发送到网站。这正是我打电话

Process.Start("http://domain.com?value=anything");

但我不想打开浏览器,因为我们不想打断使用该软件的用户。

我已经搜索了这个,但我找到了一些HttpRequest代码,但问题是这些程序没有附加查询字符串。他们只是回复了网页的html文本。

我想检索要存储在数据库中的信息。在这种情况下请指导我。

2 个答案:

答案 0 :(得分:4)

使用WebClient.DownloadString从特定网址获取网页,而不使用浏览器:

var x = WebClient.DownloadString("http://domain.com?value=anything");

答案 1 :(得分:1)

以下是我用来执行GET的内容:

public T Get<T>(string url, IEnumerable<KeyValuePair<string, string>> data)
{
    var webApiUri = ConfigurationManager.AppSettings["WebApiUri"];

    var client = new HttpClient();

    try
    {
        string queryString = string.Empty;

        if (data != null)
        {
            queryString = data.Distinct().Select(x => string.Format("{0}={1}", x.Key, x.Value)).ToDelimitedString("&");
        }

        var response = client.GetAsync(string.Format("{0}/{1}?{2}", webApiUri, url, queryString)).Result;
        var responseContent = response.Content.ReadAsStringAsync().Result;
        return JsonConvert.DeserializeObject<T>(responseContent);
    }
    catch (Exception ex)
    {
        Debug.Assert(false, ex.Message);
        throw;
    }
}

T是方法的返回类型。响应预计为JSON,但您不必担心该部分。这就是client执行您感兴趣的GET请求的方式。这只是基于JSON结果的示例。