gpt4 book ai didi

c# - WebClient Base Address 和 Query String 属性有什么用?

转载 作者:行者123 更新时间:2023-11-30 15:06:38 29 4
gpt4 key购买 nike

我正在尝试实例化一个 WebClient,如下所示:

WebClient wc = new WebClient();
wc.BaseAddress = "http://contoso.com";
wc.QueryString.Add("ctNm", "some name");
wc.QueryString.Add("port", "title");
wc.QueryString.Add("rx", "1");
wc.QueryString.Add("own", "userx");
wc.QueryString.Add("asOfDt", "02/23/2011");

因为我已经定义了我的 Web 请求所需的一切(我的意思是,我定义了 BaseAddress 和 QueryString),我想我会找到某种方法来发出请求而无需传递任何额外的信息参数。令我惊讶的是,WebClient 中的所有方法(DownloadDataDownloadFileDownloadStringOpenRead 等)需要一个 Uri 或一个字符串作为参数。

如果您仍然必须手动构造 URL 以发出请求,那么拥有可以添加值的 BaseAddress 和 QueryString 属性有什么意义呢?我在这里使用错误的工具吗?我应该改用 WebRequest 吗?

最佳答案

如果您希望使用这些查询参数访问 http://contoso.com/test.html,您可以编写:

wc.DownloadString("test.html");

换句话说,BaseAddressQueryString 最适合从同一站点下载多个页面。

否则,使用 UriUriBuilder 类构造您自己的绝对 Uri,并将完全形成的 Uri 传递给 DownloadString(或其他任何内容)您需要调用的方法)。

关于c# - WebClient Base Address 和 Query String 属性有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7561624/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com