如何使用 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 方法向网站查询字符串?的主要内容,如果未能解决你的问题,请参考以下文章

如何实现查询字符串认证

保护从第三方网站返回的查询字符串

求助!怎样向别人的网站提交表单并返回信息?

谈谈PHP网站的防SQL注入

我更改了网站软件,需要在Google Analytics网站搜索的网址中找到使用查询字符串的替代方法

在WordPress页面上嵌入另一个数据库,并使用GET方法处理数据库查询