gpt4 book ai didi

c# - 尝试使用 .NET WebClient 下载响应时出现 "remote name could not be resolved"异常

转载 作者:行者123 更新时间:2023-11-30 16:59:36 25 4
gpt4 key购买 nike

我正在尝试从某个网站下载响应以确认该网站已启动并测量响应时间(在网站内容中提供)

该页面的 url 类似于 https://www.blabla.com.au/ServiceAvailability

我可以在我的浏览器中输入页面 url,我可以看到页面已打开并提供了响应时间。我也可以单击该链接,该页面也会加载到 visual studio 浏览器中。

但是当我尝试从我的应用程序调用相同的 url 时,我得到以下 System.Net.WebException:

{"The remote name could not be resolved: "www.blabla.com.au"}

代码在我的本地 PC 上运行,我也在从我的本地 PC 访问该网站,并且可以从浏览器和 VS 中调出该页面

我的代码是这样的:

string myUrl ="https://www.blabla.com.au/ServiceAvailability";

using (WebClient webClient = new WebClient())
{
result = webClient.DownloadString(myUrl);
}

其中 result 是一个 string

我尝试了以下方法来解决这个问题:

  1. 以管理员身份运行 visual studio
  2. 使用我的用户名/密码作为凭据而不是默认值
  3. 在网址前面加上@
  4. 尝试按照以下代码块使用 WebRequest 和 HttpWebRequest:

    WebRequest req = WebRequest.Create(myUrl);
    res = req.GetResponse();

    HttpWebRequest req = WebRequest.Create(myUrl) as HttpWebRequest;
    HttpWebResponse res = req.GetResponse() as HttpWebResponse;

最佳答案

一种可能是您的浏览器使用了一些您的代码没有使用的代理(或使用不同的代理)。

如果是这种情况,请确保设置 WebClient.Proxy属性以匹配浏览器中的一个。

如果不是代理问题 - 检查 DNS 是否通过外部工具(如 http://mxtoolbox.com/DNSLookup.aspx )正确解析 - 这不太可能,但如果浏览器使用与您的代码不同的 DNS,则可能。

关于c# - 尝试使用 .NET WebClient 下载响应时出现 "remote name could not be resolved"异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23599992/

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