如何使用 get 方法向网站查询字符串?
Posted
技术标签:
【中文标题】如何使用 get 方法向网站查询字符串?【英文标题】:How to query string to a web site using get method? 【发布时间】:2014-11-18 22:03:00 【问题描述】:我想将信息与 url 一起发送到网站,例如查询字符串。这正是我所说的
Process.Start("http://domain.com?value=anything");
但我不想打开浏览器,因为不想打扰正在使用该软件的用户。
我已经用谷歌搜索过了,但我找到了一些 HttpRequest
代码,但问题是这些程序没有附加查询字符串。他们只是将网页的 html 文本返回给我。
我想检索该信息以存储在数据库中。请在这种情况下指导我。
【问题讨论】:
【参考方案1】:使用WebClient.DownloadString
从特定的url获取页面,不使用浏览器:
var x = WebClient.DownloadString("http://domain.com?value=anything");
【讨论】:
我的问题有些不同。我想在 web url 中附加我的查询字符串,以便在我的 web 应用程序中检索信息。 在你的评论中说 sn-p 正在检索信息。但我想在查询字符串中附加我的信息。所以在网站上我可以将该信息存储在数据库中。 所以你的问题是:如何创建查询字符串? 是的。在这种情况下你能帮我吗? 查询字符串只是参数(尽管您可以为它们提供 POST)。我从来没有读过他想要一个帖子。【参考方案2】:这是我用来执行 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 结果的示例。
【讨论】:
查看编辑。它只是一个示例,说明如何使用一些信息对网站执行 GET 请求。我正在努力帮助 OP,这就是我理解他要问的问题。以上是关于如何使用 get 方法向网站查询字符串?的主要内容,如果未能解决你的问题,请参考以下文章