Я пытаюсь загрузить веб-страницу json с imdb, чтобы найти актера.
try
{
using (WebClient wc = new WebClient())
{
string content = wc.DownloadString("https://v2.sg.media-imdb.com/suggests/names/b/brad.json");
}
}
catch (WebException x)
{
x.ToString();
}
Всякий раз, когда я пытаюсь сделать загрузку.
Исключение составляет:
The underlying connection was closed: An unexpected error occurred on a send.
И исключение внутренней сети:
Received an unexpected EOF or 0 bytes from the transport stream.
Из того, что я прочитал. Это происходит из-за неправильной настройки одного из серверов imdb.
Чтобы попытаться решить эту проблему, я использовал
System.Net.ServicePointManager.SecurityProtocol = (System.Net.SecurityProtocolType)(3072);
Чтобы установить протокол безопасности Tls12, который решает проблему на моем ПК.
Однако, когда я пытаюсь использовать его на моем втором ПК. Эта строка выдает исключение:
System.NotSupported: The requested security protocol is not supported
То, что я предполагаю, означает, что на этом ПК нет поддержки tls12.
У меня установлена платформа .NET Framework 4.5.1 на этом ПК, и я не могу установить .NET Framework 4.7, так как при установке произошел сбой.
Я предполагаю, что протокол безопасности поставляется с 4.7, но я не вижу подтвержденного в MSDN.
Как я могу получить веб-страницу для загрузки на этом втором ПК?
Можно ли вручную установить протокол Tls12?
Есть ли альтернатива, использующая HttpWebRequest или какой-нибудь отдельный исполняемый файл вместо этого?