Page 1 of 1

Laden Sie ICS von Outlook.com mit httpclient herunter

Posted: 31 Aug 2025, 12:17
by Anonymous
sieht jemand, was ich falsch mache? Warum kann ich keine Kalenderdatei von Outlook.com mit httpclient herunterladen? Es muss etwas sein, das ich in meiner Anfrage vermisse. Natürlich sollte das nicht notwendig sein, aber ich bin hier verzweifelt. < /P>

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);
The response just keeps returning:

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.