ICS 日历文件不存在

ICS 日历文件不存在

我正在尝试加载此日历: https://bushnellbeacons.com/calendar.ics 到另一个内部网络系统。日历提要很好 - 我可以点击上面的链接并下载提要。问题是其他网站给出了一个通用错误“无法找到提要”。

经过一番调查,如果我在浏览器中下载 ICS 文件,然后将其上传到另一台网络服务器,我就可以毫无问题地将该 URL 添加到目标日历系统。我的工作理论是,服务器一在浏览器请求时生成 ICS 文件,但服务器二试图获取尚未生成的文件。这个问题与目标日历系统/服务器及其故障排除无关。

我目前提出的解决方案是在服务器二上的 cron 脚本中定期使用 wget 来抓取文件。不幸的是,wget 会产生:

HTTP request sent, awaiting response... 404 Not Found
2021-11-01 17:13:20 ERROR 404: Not Found.

有趣的是,PowerShell 可以执行 Invoke-WebRequesthttps://bushnellbeacons.com/calendar.ics并返回一些类似于日历的信息:


StatusCode        : 200
StatusDescription : OK
Content           : BEGIN:VCALENDAR
                    VERSION:2.0
                    PRODID:-//SIDEARM Sports//NONSGML SIDEARM//EN
                    X-WR-CALNAME: Athletics
                    X-PUBLISHED-TTL:PT120M
                    BEGIN:VEVENT
                    UID:vcal_4644-bushnellbeacons.com
                    DTSTAMP:20211102T001441Z...
RawContent        : HTTP/1.1 200 OK
                    Strict-Transport-Security: max-age=0;
                    X-Content-Type-Options: nosniff
                    X-XSS-Protection: 1; mode=block
                    Referrer-Policy: no-referrer-when-downgrade
                    Content-Length: 113757
                    Cache-Con...
Forms             : {}
Headers           : {[Strict-Transport-Security, max-age=0;], [X-Content-Type-Options, nosniff], [X-XSS-Protection, 1;
                    mode=block], [Referrer-Policy, no-referrer-when-downgrade]...}
Images            : {}
InputFields       : {}
Links             : {}
ParsedHtml        : mshtml.HTMLDocumentClass
RawContentLength  : 113757

我的问题是:

  • 有没有办法让 wget 执行似乎生成 ICS 文件的 Web 请求?(就像 powershell 似乎正在做的那样)
  • 有没有更优雅的解决方案?

谢谢!我很乐意根据需要进行澄清。

答案1

wget -U 'Mozilla/4.0' https://bushnellbeacons.com/calendar.ics

不客气。

相关内容