Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1550 | Anzahl registrierter User: 1840 | Besucher online: 9
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

URL per WebRequest auslesen


Autor: Kai
Sprache: C#
Bewertung:
5.71 (4 votes)
Anzahl der Aufrufe: 24021
  
Kick it on dotnet-kicks.de  

Beschreibung:

Immer wieder taucht in div. Foren und Newsgroups die Frage auf wie man eine URL einlesen und das Ergebnis in einem string speichern kann. Vor längerer Zeit habe ich mir dafür eine Methode geschrieben, die genau diese Sache erledigt:


Abgelegt unter: WebRequest, URL, auslesen.



C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public static string GetUrlResponse(string url,string username,string password)
{
    string content = null;
 
    WebRequest webRequest = WebRequest.Create(url);
 
    if(username == null || password == null)
    {
        NetworkCredential networkCredential = new NetworkCredential(username, password);
        webRequest.PreAuthenticate = true;
        webRequest.Credentials = networkCredential;
    }
 
    WebResponse webResponse = webRequest.GetResponse();
 
    StreamReader sr = new StreamReader(webResponse.GetResponseStream(), Encoding.ASCII);
    StringBuilder contentBuilder = new StringBuilder();  
    while (-1 != sr.Peek())
    {
        contentBuilder.Append(sr.ReadLine());
        contentBuilder.Append("\r\n");
    }
    content = contentBuilder.ToString();
 
    return content.ToString();
}
Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)

Bastian Waidelich schrieb am:  11.02.2008 10:11:23

Zu meiner Schande muss ich gestehen, dass ich dieses Snippet dazu missbrauchen wollte, um das Geburtstags-Rätsel (http://blog.jan-welker.de/2008/02/10/Geburtstagsgewinnspiel2JahreNetSnippetsde.aspx) zu lösen.
Das Snippet hat mich den Sieg gekostet, weil es einen kleinen Fehler enthält. Es werden nämlich nicht immer alle Zeilen der WebResponse zurückgegeben!
Erst wenn man z.B.

StringBuilder contentBuilder = new StringBuilder();
while (-1 != sr.Peek())
{
contentBuilder.Append(sr.ReadLine());
contentBuilder.Append("\r\n");
}
content = contentBuilder.ToString();


durch


content = sr.ReadToEnd();


ersetzt, werden alle Zeilen eingelesen.
Naja, verdient hab ichs ;)
Timo Boehme schrieb am:  03.03.2008 14:28:17

Hallo. Super snippet. Es fehlte noch eine Fehlerabfrage von WebResponse, falls die Seite nicht verfügbar ist. Und content.ToString ist fehlerbehaftet, da ein String.ToString keinen Sinn macht. Im Gegenteil, wird content mit Nothing deklariert. Nothing.ToString ergibt einen Fehler.

Public Shared Function GetUrlResponse(ByVal url As String,
ByVal username As String, ByVal password As String) As String
Dim content As String = ""

Dim webRequest As Net.WebRequest = webRequest.Create(url)

If username Is Nothing OrElse password Is Nothing Then
Dim networkCredential As New Net.NetworkCredential(username, password)
webRequest.PreAuthenticate = True
webRequest.Credentials = networkCredential
End If

Dim webResponse As Net.WebResponse = Nothing

Try
webResponse = webRequest.GetResponse()
Catch ex As Exception
End Try

If webResponse IsNot Nothing Then
Dim sr As New IO.StreamReader(webResponse.GetResponseStream(),
System.Text.Encoding.ASCII)
content = sr.ReadToEnd()
End If
Return content
End Function

Timo
OriginalAndy schrieb am:  15.04.2010 14:33:57

Liege ich jetzt falsch, oder muss es nicht heissen
If username IsNot Nothing OrElse password IsNot Nothing Then

(in Zeile 7). Genau andersrum. So klappts jedenfalls bei mir.
Manfred Janßen schrieb am:  10.08.2010 16:58:48

Hi,
manchmal wäre es schön, wenn Ihr die using-Direktive angeben würdet, das würde viel Sucherei ersparen.

Gruß
Manfred


schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.