You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用HttpClient从outlook.com下载ICS文件时遭遇302重定向至错误页面的问题求助

使用HttpClient从outlook.com下载ICS文件时遭遇302重定向至错误页面的问题求助

各位好,我最近卡在了一个棘手的问题上:想用HttpClient从outlook.com下载日历ICS文件,但无论怎么尝试,Outlook都会返回HTTP 302状态码,重定向到一个OWA错误页面,提示“我的浏览器不被支持”。但用Edge、Safari这类浏览器直接访问ICS链接完全正常,这说明肯定是我在请求里漏掉了什么关键配置!

我已经把浏览器请求里的各种头信息都加到代码里了,甚至都有点病急乱投医了,还是没解决问题。先给大家看看我的代码和具体情况:

var iCal_Url = "https://outlook.live.com/owa/calendar/00000000-0000-0000-0000-000000000000/c8f7ad62-8337-47f3-be26-652c182b58c2/cid-B505A4E6E6934159/calendar.ics";
using var http = new HttpClient(new HttpClientHandler { AllowAutoRedirect = false, MaxAutomaticRedirections = 10 });

http.DefaultRequestHeaders.UserAgent.ParseAdd("Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0");
http.DefaultRequestHeaders.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7");
http.DefaultRequestHeaders.Add("upgrade-insecure-requests", "1");
http.DefaultRequestHeaders.Add("sec-ch-ua", "\"Not;A=Brand\";v=\"99\", \"Microsoft Edge\";v=\"139\", \"Chromium\";v=\"139\"");
http.DefaultRequestHeaders.Add("sec-ch-ua-mobile", "?0");
http.DefaultRequestHeaders.Add("sec-ch-ua-platform", "\"Windows\"");
http.DefaultRequestHeaders.Add("sec-ch-ua-platform-version", "\"15.0.0\"");

// TEST 1
//icsData = await response.Content.ReadAsStringAsync();
// TEST 2
//using (var s = await http.GetStreamAsync(iCal_Url))
//{
//    using (var fs = new FileStream("c:\\temp\\data2.txt", FileMode.CreateNew))
//    {
//        await s.CopyToAsync(fs);
//    }
//}
// TEST 3
var response = await http.GetAsync(iCal_Url);
var content = await response.Content.ReadAsByteArrayAsync();
await System.IO.File.WriteAllBytesAsync("c:\\temp\\data.txt", content);

目前的具体表现:

  • 我设置了AllowAutoRedirect = false,直接拿到302响应,响应头里的Location指向/owa/auth/errorfe.aspx?httpCode=500&msg=...
  • 我也试过开启自动重定向,甚至自己写了逻辑手动跟进重定向,但最终拿到的都是错误页面,根本下载不到ICS文件

有没有大佬能帮我看看,到底是哪里没做对?是不是还有什么关键的请求头没加,或者Outlook还有其他验证机制我没考虑到?

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.07 08:33:03