Wget
ICS 日曆文件不存在
我正在嘗試將此日曆: 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
別客氣。