Code: Select all
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);
StatusCode: 302, ReasonPhrase: '', Version: 1.1, Content: System.Net.Http.HttpConnectionResponseContent ...
With the location /owa/auth/errorfe.aspx?httpCode=500&msg=....
Natürlich habe ich auch versucht, den httpclient dem 302 folgen zu lassen und auch von benutzerdefinierten Forwarder und Loop über die Leichen zu erstellen, aber nur einen Fehler zurückgeben.