Запрос был прерван: не удалось создать безопасный канал SSL / TLS для XmlTextReader - PullRequest
0 голосов
/ 30 января 2020

Я просмотрел и прочитал все статьи об этой ошибке, прежде чем открыть этот вопрос. Я также добавил все необходимые коды в соответствии с ответами, найденными здесь

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;    
ServicePointManager.Expect100Continue = true;
XmlTextReader reader = new XmlTextReader(url);
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(reader);

Вот URL , который дает мне ошибку. Это публичный c API. Я протестировал свое приложение на 2 Windows 7 машинах и 3 Windows 10 машинах. Обе Win 7 и 1 Win 10 машин выдают ошибку. На обоих компьютерах с Win 7 IE 11 не может открыть URL или даже домашнюю страницу. TLS 1.0, 1.1 и 1.2 отмечены в IE Расширенные настройки. Нет проблем на Chrome или FF.

Изменен код в соответствии с предложением Джими:

WebClient wc = new WebClient
{
    Encoding = Encoding.UTF8
};

wc.Headers.Add("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.123 Safari/537.36");
string xmlString = string.Empty;
using (wc)
{
    xmlString = wc.DownloadString(url);
}
xmlDoc.LoadXml(xmlString);
...