我正在尝试使用如下所示的WebClient
阅读网页,但没有成功。我从网页收到上述错误响应。我尝试搜索了很多关于这个问题的具体内容,但无法找到相关的答案。我也尝试使用代理,但这有另一个问题 服务访问管理器无法使用 https 代理...如果你们能帮忙,我将不胜感激!!
<!DOCTYPE html>
<html>
<head>
<title>Update your browser</title>
<!-- Bootstrap CDN -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<style>
...
</style>
</head>
<body>
<header>
...
</header>
<main>
<div class="container">
<div class="row">
<div class="col-md-12">
<h1>Update your browser</h1>
<h3>Unfortunately, we don't support your browser</h3>
<p>For your security, we only support browsers using the latest encryption technology.</p>
</div>
</div>
</div>
</main>
</body>
</html>
Uri siteUri = new Uri(url);
using (var client = new WebClient())
{
client.Headers["User-Agent"] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36";
try
{
using (var stream = client.OpenRead(siteUri))
{
string Data = client.DownloadString(siteUri);
}
}
catch (WebException ex)
{
using (var sr = new StreamReader(ex.Response.GetResponseStream()))
html = sr.ReadToEnd();
return false;
}
页面或服务器正在尝试检测用户正在使用的浏览器类型。 在这种情况下,WebClient不符合其标准。 也许它试图运行一些 JS? 或者寻找用户代理标头? 无论哪种方式,您都不符合要求,因此该网站正在提供该消息。 对此没有一个很好的明确答案 - 该网站是什么? 你能问他们吗?