Я пытаюсь загрузить этот календарь:
https://bushnellbeacons.com/calendar.ics
к другой внутренней веб-системе. Лента календаря в порядке - я могу щелкнуть ссылку выше и загрузить ленту. Проблема в том, что другой сайт выдает общую ошибку «Фид не найден».
Проведя некоторое исследование, если я загружу файл ICS в свой браузер, а затем загружу его на другой веб-сервер, у меня не возникнет проблем с добавлением этого URL-адреса в целевую систему календаря. Моя рабочая теория заключается в том, что первый сервер генерирует ICS-файл, когда его запрашивает браузер, а второй сервер пытается получить еще не созданный файл. Этот вопрос не касается целевой системы/сервера календаря и устранения неполадок.
Мое предлагаемое решение прямо сейчас состоит в том, чтобы регулярно использовать wget в сценарии cron на сервере два, чтобы получить файл. К сожалению, wget выдает:
HTTP-запрос отправлен, ожидается ответ... 404 Not Found
2021-11-01 17:13:20 ОШИБКА 404: не найдено.
Интересно, что PowerShell может выполнять Invoke-WebRequest. https://bushnellbeacons.com/calendar.ics и возвращает что-то похожее на ленту календаря:
Код состояния: 200
Описание статуса: ОК
Содержание : НАЧАЛО:VCALENDAR
ВЕРСИЯ: 2.0
PRODID:-//SIDEARM Sports//NONSGML SIDEARM//RU
X-WR-CALNAME: Легкая атлетика
X-ОПУБЛИКОВАНО-TTL:PT120M
НАЧАЛО:ВЕВЕНТ
UID:vcal_4644-bushnellbeacons.com
DTSTAMP:20211102T001441Z...
RawContent: HTTP/1.1 200 ОК
Строгая транспортная безопасность: max-age=0;
X-Content-Type-Options: nosniff
X-XSS-защита: 1; режим = блок
Referrer-Policy: нет-реферера-при-понижении
Длина содержимого: 113757
Кэш-кон...
Формы: {}
Заголовки: {[Strict-Transport-Security, max-age=0;], [X-Content-Type-Options, nosniff], [X-XSS-Protection, 1;
mode=block], [Referrer-Policy, no-referrer-w-downgrade]...}
Картинки : {}
Входные поля: {}
Ссылки : {}
ParsedHtml : mshtml.HTMLDocumentClass
RawContentLength: 113757
Мои вопросы:
- Есть ли способ заставить wget выполнить веб-запрос, который, кажется, генерирует файл ICS? (как это делает powershell)
- Есть ли более элегантное решение?
Спасибо! Я рад уточнить, если это необходимо.