Мне нужно получить доступ к информации о расписании от немецкого оператора поездов Deutsche Bahn.Мой клиент уже создал учетную запись и подписался на соответствующий API.
При выполнении этого кода я получаю сообщение об ошибке.
// Create request var req = (HttpWebRequest)WebRequest.Create("https://api.deutschebahn.com/fahrplan-plus/v1/location/Berlin"); req.Accept = "application/json"; req.Headers.Add("Authorization", "Bearer <My Access Token>"); req.Method = "GET"; using (WebResponse response = req.GetResponse()) using (Stream responseStream = response.GetResponseStream()) using (StreamReader responseReader = new StreamReader(responseStream)) { // Do something }
Произошла исключительная ситуация System.IO.IOException HResult= -2146232800 Сообщение = Аутентификация не удалась, поскольку удаленная сторона закрыла транспортный поток.Source = System StackTrace: at System.Net.Security.SslState.StartReadFrame (буфер Byte [], читаемые Int32 readBytes, asyncProtocolRequest asyncRequest) InnerException:
@ Rup - Большое спасибо.
Я должен был явно установить это:
ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
Приложение предназначено для Net 4.0, и я предположил, что, имея https в URL, онобудет неявно использовать SSL.