WebClient返回HTTP 404以获取有效的URI

时间:2018-10-24 04:03:20

标签: c# webclient

我想获取包含源代码的页面的html:

try {
  var webContent = "";
  using (WebClient client = new WebClient ()) {
    client.Headers.Add (HttpRequestHeader.UserAgent, "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36");

    webContent = client.DownloadString (@"http://localhost:8080/account/login");
  }
} catch (WebException ex) {
  var responseText = string.Empty;
  var responseStream = ex.Response?.GetResponseStream ();

  if (responseStream != null) {
    using (var reader = new System.IO.StreamReader (responseStream)) {
      responseText = reader.ReadToEnd ();
    }
  }
}

我可以获得http://localhost:8080/的内容。 但是使用http://localhost:8080/account/login,它将返回“无法获取/ account / login”。我可以通过浏览器浏览到该网址。

如何使用WebClient获取http://localhost:8080/account/login的html?

谢谢

1 个答案:

答案 0 :(得分:1)

打开Chrome和开发者工具(按F12)。 打开网络标签。

导航到http://localhost:8080/account/login

您可能会看到重定向或2(检查302)。下面的页面可以帮助您找出要重定向的页面。

您也可以使用powershell进行测试

{{1}}