c# - 从 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")
解决方案
您不需要标题或任何内容...只需下载数据,然后将其写入磁盘...
byte[] data = WebClient.DownloadData(URLHERE);
using(FileStream fs = new FileStream(FILENAMEWITHEXT,
FileMode.Create, FileAccess.ReadWrite))
{
using(BinaryWriter bw = new BinaryWriter(fs))
{
bw.Write(data);
}
}
推荐阅读
- performance - mlcp 对不同的输入目录路径执行不同
- c# - 如何将长字符串拆分为字符,使其与给定的矩形匹配?
- jenkins - 有没有办法只使用名称而不是 node_name:port 来访问 Kubernetes 服务(外部)?
- python - 日期时间格式和计算
- ironpython - 如何使用 Spotfire Webplayer 中的 ironPython 脚本打开 Windows 资源管理器
- python - 在 Python-3 中返回原始内存
- c - 检查多个夹杂物的最佳方法
- bash - 如何使用 SED 或 AWK 在文件中打印两个模式之间的线条?
- r - 显示表格并根据滑块重新计算一列
- c++ - 模板化参数中仿函数的默认参数