Wie die Webseite Quelle in ASP.NET C # bekommen?
-
10-07-2019 - |
Frage
Wie kann ich den HTML-Code einer Seite in C # ASP.NET erhalten?
Beispiel: http://google.com
Wie kann ich HTML-Code erhalten, indem ASP.NET C #?
Lösung
Die WebClient
Klasse wird tun, was Sie wollen :
string address = "http://stackoverflow.com/";
using (WebClient wc = new WebClient())
{
string content = wc.DownloadString(address);
}
Wie in den Kommentaren erwähnt, können Sie es vorziehen, die Asynchron-Version von DownloadString
zu verwenden, um nicht blockiert:
string address = "http://stackoverflow.com/";
using (WebClient wc = new WebClient())
{
wc.DownloadStringCompleted +=
new DownloadStringCompletedEventHandler(DownloadCompleted);
wc.DownloadStringAsync(new Uri(address));
}
// ...
void DownloadCompleted(object sender, DownloadStringCompletedEventArgs e)
{
if ((e.Error == null) && !e.Cancelled)
{
string content = e.Result;
}
}
Andere Tipps
MSDN Beispiel HttpWebrequest.GetResponse hat funktionierenden Code.
http://msdn.microsoft.com /en-us/library/system.net.httpwebrequest.getresponse.aspx
Wenn die Frage lautet: „Wie wird die Code-Behind-Datei einer Web-Seite zu bekommen“, lautet die Antwort nein ist.
Wenn Sie planen, eine Menge von Web-Anfragen zu tun RESTful-Dienste zuzugreifen, mit dem HttpWebRequest
Objekt vorsichtig sein. Es dauert eine Weile, wird zurückgewonnen, und wenn man genug Traffic hat (nur ein paar Anrufe pro Minute), können Sie beginnen seltsames Verhalten zu erhalten.
Wenn Sie andere Seiten geladen werden dynamisch, würde ich tun es in JavaScript empfehlen.