Wget

ICS 日曆文件不存在

  • November 10, 2021

我正在嘗試將此日曆: https : //bushnellbeacons.com/calendar.ics 載入到另一個內部網路系統。日曆提要很好 - 我可以點擊上面的連結並下載提要。問題是其他站點給出了一般錯誤“找不到源”。

做一些調查,如果我在瀏覽器中下載 ICS 文件,然後將其上傳到另一個網路伺服器,我可以將該 URL 添加到目標日曆系統。我的工作理論是,伺服器一在瀏覽器請求時生成 ICS 文件,但伺服器二正試圖抓取尚未生成的文件。這個問題與目標日曆系統/伺服器和故障排除無關。

我現在提出的解決方案是定期在伺服器 2 上的 cron 腳本中使用 wget 來獲取文件。不幸的是, wget 產生:

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

有趣的是,PowerShell 可以執行 Invoke-WebRequest https://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似乎正在做的那樣)
  • 有沒有更優雅的解決方案?

謝謝!我很樂意根據需要進行澄清。

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

別客氣。

引用自:https://serverfault.com/questions/1082342