首页 > 解决方案 > 从 iCloud 服务器下载文件

问题描述

iCloud 服务器 iCalendar 文件网址:

https://p10-calendars.icloud.com/holiday/CN_zh.ics

我可以在浏览器中下载文件(它是一个文本文件),但是当我尝试使用 c# 或 VB 下载时,它保存为一个小的二进制文件。

我想知道如何像浏览器一样正确下载文件。

谢谢您的帮助。

我的代码:

    Dim wb As New WebClient()
    wb.Headers.Add("Content-Type", "text/calendar")
    wb.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.33 Safari/537.36")
    wb.DownloadFile("https://p10-calendars.icloud.com/holiday/CN_zh.ics", "C:\\Users\\Johnson\\Desktop\\1.ics")

标签: c#vb.neticalendar

解决方案


您不需要标题或任何内容...只需下载数据,然后将其写入磁盘...

 byte[] data = WebClient.DownloadData(URLHERE);

 using(FileStream fs = new FileStream(FILENAMEWITHEXT, 
 FileMode.Create, FileAccess.ReadWrite))
 {
  using(BinaryWriter bw = new BinaryWriter(fs))
  {
     bw.Write(data);
  }
 }

推荐阅读