Link unsichtbar öffnen C#?

4 Antworten

Naja, am einfachsten wäre es ja, einen HTTP Web Request in C# zu machen. Was soll denn passieren? Beim Abrufen durch den Browser werden ja auch weitere Dateien, die im Content verlinkt sind, nachgeladen. Das müsstest Du ja auch tun.

Eine weitere Möglichkeit wäre ggf., die Webseite in einem auf Hidden gesetzten WebBrowser-Control im Form zu laden - dann hättest Du einen "versteckten" Browser.

Was soll das bringen?
Oder steht dahinter keine Website, sondern eine Web-API?

Jedenfalls macht der Browser nichts anderes, als einen HTTP-GET-Request abzusetzen und den HTTP-Quelltext, der zurück kommt, anzuzeigen.

Das kannst Du auch selber machen, z.B. mit dem HttpClient bzw. seit .NET Core 2.1 die HttpClientFactory, die ist gerade bei häufigen Requests die bessere Alternative.
Du setzt dann den HTTP-GET-Request ab und tust irgendwas mit dem Ergebnis - nur eben nicht anzeigen.

Woher ich das weiß:Berufserfahrung
Emirx091 
Fragesteller
 15.11.2021, 13:54

Ganz genau. Eine Web-API.

0
Palladin007  15.11.2021, 13:58
@Emirx091

Dann HttpClient oder HttpClientFactory.

Oder, wenn es komplexer werden kann, dann nimmt dir das geniale Framework "Refit" einiges an Arbeit ab. Damit konfigurierst Du den Endpunkt in einem Interface und das Framework generiert die Implementierung automatisch, sodass Du kaum noch etwas tun musst.

1

Ja, das ist möglich. Schaue Dir mal die Dokumentation zu Process.Start an.

Der Teil, festzustellen, ob die Seite erfolgreich aufgerufen werden konnte oder vielleicht die Netzwerkverbindung klemmt, ist schwieriger: Hier könntest Du Dir mal CefSharp als Alternative angucken.

Fertiger Quellcode kostet Geld, Hilfe und Hinweise gibt es kostenfrei.