Аутентификация DeutscheBahn API - PullRequest
0 голосов
/ 08 февраля 2019

Мне нужно получить доступ к информации о расписании от немецкого оператора поездов 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:

1 Ответ

0 голосов
/ 08 февраля 2019

@ Rup - Большое спасибо.

Я должен был явно установить это:

ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;

Приложение предназначено для Net 4.0, и я предположил, что, имея https в URL, онобудет неявно использовать SSL.

...