我想将一个信息连同网址的查询字符串一起发送到网站。这正是我打电话
Process.Start("http://domain.com?value=anything");
但我不想打开浏览器,因为我们不想打断使用该软件的用户。
我已经搜索了这个,但我找到了一些HttpRequest
代码,但问题是这些程序没有附加查询字符串。他们只是回复了网页的html文本。
我想检索要存储在数据库中的信息。在这种情况下请指导我。
答案 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结果的示例。