我正在尝试使用WebClient
阅读网页,如下所示,但我没有成功。我从网页上得到了上述错误响应。我尝试了很多关于这个问题的具体内容但是还没有找到相关的答案。我也尝试使用代理,但是另一个问题是ServiceAccessManager无法使用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;
}
答案 0 :(得分:0)
页面或服务器正在尝试检测用户正在使用的浏览器类型。在这种情况下,WebClient不符合它的标准。也许它试图运行一些JS?或者寻找User-Agent标头?无论哪种方式,您都不适合账单,因此该网站正在提供该消息。对此没有真正明确的答案 - 网站是什么?你能问他们吗?