iCal из API GET AirBnb возвращает «Удаленный сервер возвратил ошибку: (403) Запрещено» ASP.NET - PullRequest
0 голосов
/ 25 августа 2018

Я хочу импортировать даты из iCal, который предоставляет AirBnb.Я занимаюсь разработкой приложения ASP.NET MVC с некоторым слепком iCal.Net.

Код:

public ActionResult Index()
    {

        const string airbnbCalendar = "https://www.airbnb.com/calendar/ical/1111111.ics?s=zkdjhfkjsdzkhfkkjsadjkfhskjdfhjk";

        Calendar calendar;
        using (var client = new WebClient())
        {
            byte[] file = null;

            file = client.DownloadData(airbnbCalendar);
            Stream stream = new MemoryStream(file);
            calendar = Calendar.Load(stream);
        }

        return View();
    }

Я получаю сообщение об ошибке на линии client.DownloadData (airbnbCalendar):

Удаленный сервер возвратил ошибку: (403) Запрещено

Я немного погуглил и обнаружил, что по какой-то причине я должен "подражать" веб-браузерудля этого запроса.Вот ссылка на форум airbnb

Как я могу преобразовать свой запрос в запрос CURL?Для того, чтобы airbnb дал мне правильные данные?

PS Когда я копирую ссылку airbnb в браузер, я получаю правильный файл .ics

По соображениям безопасности я изменил адрес URL.

1 Ответ

0 голосов
/ 25 августа 2018

User-Agent передается через заголовок запроса. Поэтому добавьте соответствующий заголовок к веб-клиенту, как показано здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...