Я пытаюсь сделать запрос REST экземпляру Neo4j, размещенному через heroku. Сервер настроен с использованием базовой проверки подлинности.Перенаправление и аутентификация RestSharp 401
Это гиперссылка я была предоставлена из Heroku (уведомления лидирующего слэша): http://username:[email protected]:123/db/data/
Я использую RestSharp для подключения к данному экземпляру. Однако RestSharp удалит конечную косую черту. Code. В результате URL становится: http://username:[email protected]:123/db/data
Это приводит к HTTP 301
к (уведомления слэш): http://username:[email protected]:123/db/data/
Проблема заключается в том, что разрешения заголовка не сохраняется через перенаправляет MSDN. Результатом этой перенаправления является HTTP 401
.
Есть ли очевидные способы обойти это? Я попытался следующие:
- Обеспечить 2 слешей
/db/data//
так RestSharp удален только один слэш, но оставляет один остается. Это не работает, так как другие запросы имеют недопустимые форматы:/db/data//query/stuff
- Используйте класс
CredentialCache
. Это работает, но приводит к двум запросам за действие (один для запроса 401, еще один для ответа) IAuthenticationModlue
- Найдена минимальная информация об этом в MSDN, но после попытки пользовательского класса это все равно приведет к проблеме с двойным перерывом отмечено ранее.Измените первоначальный запрос на отдых какRestSharp удаляет все окончание слэшиnew RestRequest("/", Method.GET);
вместоnew RestRequest("", Method.GET);
- единственная проблема заключается в том, что я не хочу изменять проект с открытым исходным кодом, который находится между моим приложением и RestSharp для моих конкретных потребностей.
Примечание: Это не работает с параметрами строки запроса, он получает повернутым в '/% 20 ', нарушающего?. – kamranicus