Сократа: существующее соединение было принудительно закрыто удаленным хостом
Я создал приложение, которое периодически (каждое 1-е воскресенье месяца) отправляет запрос на data.cms.gov для проверки на наличие зарегистрированного врача pecos. Код прошел хорошо, однако он перестал работать несколько дней назад. Я получаю этот ответ: "Невозможно прочитать данные из транспортного соединения. Существующее соединение было принудительно закрыто удаленным хостом". Кто сталкивался с этим раньше или кто-то может помочь с этим? Я использую код ниже для моего запроса
string end_point = "https://data.cms.gov/resource/qcn7-gc3g.json?$$app_token=myapp_token&npi=";
string cms_uri = end_point + npi;
System.Net.WebClient cms_wc = new System.Net.WebClient();
byte[] bResponse = cms_wc.DownloadData(cms_uri);
string cms_response = System.Text.Encoding.ASCII.GetString(bResponse);
1 ответ
В качестве обновления безопасности мы отключили TLS 1.0 в качестве допустимого протокола SSL. Я думаю, это то, что вызывает ваше отключение.
https://support.socrata.com/hc/en-us/articles/235267087
Вам нужно будет указать.NET, чтобы использовать TLS 1.1 или 1.2. Вы должны быть в состоянии сделать это, добавив следующее перед созданием своего клиента:
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
В этом выпуске есть дополнительная информация об одной из библиотек C# .NET для SODA API.