DownloadStringAsync liefert bei manchen Websiten nichts zurück

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    DownloadStringAsync liefert bei manchen Websiten nichts zurück

    Neu

    Hallo,

    ich hoffe ich bin hier richtig. Falls nicht, bitte ich dies zu verzeihen.

    Ich möchte mittels DownloadStringAsync diverse Websiten auslesen. So auch zB diese:
    semager.de/keywords/?q=hund

    Leider liefert mir meine Funktion allerdings nichts zurück.
    Woran könnte das liegen?

    Hier mein (Test) Code:

    VB.NET-Quellcode

    1. Imports System.Net
    2. Public Class Form1
    3. Dim WithEvents web As New WebClient
    4. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    5. web.DownloadStringAsync(New Uri("https://www.semager.de/keywords/?q=hund"))
    6. End Sub
    7. Private Sub web_DownloadStringCompleted(ByVal sender As Object, ByVal e As System.Net.DownloadStringCompletedEventArgs) Handles web.DownloadStringCompleted
    8. RichTextBox1.Text = e.Result
    9. End Sub
    10. End Class


    Die Richtextbox, die zum Test mit dem e.Result gefüllt werden soll, bleibt leer... bei anderen Websiten funktioniert es aber teilweise.

    Vielen Dank und noch einen schönen Tag!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „whatever“ ()

    Neu

    Was meinst du mit "es funktioniert teilweise"?
    Bitte benutze OPTION STRICT ON.
    Und optional OPTION EXPLICIT ON.
    Hier ein CODE-CONVERTER.

    Suchanfragen-Ansatz für GOOGLE.
    Prüfe deinen Beitrag in einer RECHTSCHREIBPRÜFUNG.

    Neu

    whatever schrieb:

    Bei manchen Websiten funktioniert es
    Jede Website verhält sich anders.
    In deinem genannten Fall erlaubt die Web-Anwendung die Mitgabe der Parameter als URL-Parameter.
    Andere Seiten benötigen die Parameter als POST-Parameter.
    Da kannst du mit WebClient.DownloadStringAsync nichts anfangen.
    Du könntest mit HttpClient arbeiten.
    Dort gibt es eine Methode PostAsync.

    Aber wie gesagt:
    Jede Website reagiert anders.
    Im Zweifel musst du mit einem Sniffer analysieren, was der Browser draus macht.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --