我以类似的方式使用.Net(Framework 3.5)访问许多网站以获取数据(用于维基百科)。现在我遇到了一个我无法访问的网站。我得到一个例外"基础连接已关闭"。该网站使用SSL(https),但我不知道这是否会引发问题。我已经阅读了许多帖子并尝试了许多建议,但对我来说没有任何作用。我也试过OpenRead / ReadToEnd,它也失败了。我必须承认,我对HTTP的了解非常有限。
非常欢迎任何建议!
JER
这是我的代码示例:
class WebClientDBLink : WebClient
{
public WebClientDBLink()
{
UseDefaultCredentials = true;
Encoding = Encoding.UTF8;
Headers.Add("Content-Type", Bot.webContentType);
Headers.Add("User-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
}
protected override WebRequest GetWebRequest(Uri address)
{
HttpWebRequest wr = (HttpWebRequest)base.GetWebRequest(address);
wr.CookieContainer = new CookieContainer();
// wr.KeepAlive = false;
// wr.Timeout = 100000;
return wr;
}
}
...
String sUrl = "https://www.infoflora.ch/de/flora/2906-.html"; // just one exampl
String sText = "";
try
{
ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => true;
// ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
Uri res = new Uri(sUrl);
WebClient wc = new WebClientDBLink();
sText = wc.DownloadString(res);
}
catch (Exception e)
{
...
return false;
}
答案 0 :(得分:0)
此:
该网站使用SSL(https),但我不知道这是否会引发问题。
与您的评论相结合:
是的,它在Windows XP上运行
给出一个提示:)
https://infoflora.ch
处的端点仅支持相当现代的密码套件(CBC模式下的AES和CAMELLIA以及AES-GCM) - Windows XP都不支持这些密码套件。
如果您希望这样做,请使用Windows 7或更高版本(您知道不再支持Windows XP吗?)