Problem beim auslesen einer webseite

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von Mike001.

    Problem beim auslesen einer webseite

    Hallo ich möchte eine Texdatei im Internet überprüfen ob sie einen bestimmen Wert wie zB. 9 hat. Falls das der Falls ist soll Application.Exit.
    Kann mir jmd. weiterhelfen?
    Benutze: Visual Basics 2010 Express

    Vielen Dank im Vorraus!


    Verschoben da im falschen Unterforum ~EaranMaleasi

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

    Willkomen auf VB-Paradise.

    Bitte achte in Zukunft darauf, wo du deine Threads erstellst.
    Der Bereich Tipps und Tricks ist dafür da, sein Wissen mit anderen zu Teilen, nicht jedoch um Fragen zu stellen.
    Daher habe ich deinen Thread in den Bereich Internet/LAN verschoben.



    Wo befindet sich denn diese Datei?
    Wie hast du vor darauf zuzugreifen?

    Und muss es unbedingt VB2010 Express sein?
    SIMDoku (Simple Dokumentenverwaltung)
    Mein Lernprojekt um die verschiedensten Facetten der .NET Entwicklung zu erkunden.
    GitHub

    VB Paradise Dark Theme
    Inoffizieller VB-Paradise Discord.
    Willkommen im Forum.
    Mit den richtigen Suchbegriffen, z.B. download source code website vb.net, kommt man z.B. in einem passenden MSDN-Thread an. Dabei ist es egal, ob es um eine HTML-Seite oder eine rohe Datei (z.B. TXT-Datei) geht.
    Application.Exit ist derb. Nicht so derb wie End, aber unnötig. Das ist wie: »Alle verlassen jetzt sofort das Schiff, Frauen und Kinder zuerst!« In WinForms: Schließ einfach alle Forms nacheinander mit Close, in Konsolen-Apps, beende/verlasse die Sub Main.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.
    Ich glaube ich wurde nicht richtig verstanden. Also ich möchte, dass in einer frei verfügbaren Text Datei nachgeschaut ob ein Wert in der Datei vorhanden ist. Beispiel:

    seite.de/text.txt Inhalt: Test 1 2 3 4

    Dann möchte ich eine Aktion ausführen, wenn der Wert 4 in der Datei vorhanden ist, aber nicht, dass text.txtm = 4 ist!

    MFG
    Ehm, doch. Ich hab Dich richtig verstanden. Und wie in dem von mir verlinkten Thread zu lesen ist, geht das über DownloadString. Denn ein Webbrowser macht auch erstmal nix anderes: Die im Internet verfügbaren/angewählten Seiten runterladen, analysieren, anzeigen. Give it a try.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.
    Also, dass mit dem Webclient funktioniert nicht. Zudem, falls es funktionieren würde, muss ich immer noch wissen, wie man bei einer "if" abfragt ob ein Wert in einer Textdatei vorhanden ist.
    Außerdem habe ich einen WebClient definiert: Dim wClient4 As New System.Net.WebClient
    PS: Die HwID bekomme ich über eine Function.

    VB.NET-Quellcode

    1. Dim result4 As String = wClient4.DownloadString("https://meineseite.com/hwid.txt")
    2. If result4 = HwID()
    3. ThenMsgBox("Dieses Programm wurde auf deinem Computer deaktiviert!")
    4. Application.ExitThread()
    5. Else
    6. TextBox1.Text = HwID()
    7. End If
    @Mike001
    1. Das Problem welches du wohl hast, ist das https://
    Dazu benötigst du noch Net.SecurityProtocolType.Tls12. Da aber dies erst ab .net 4.5 verfügbar ist musst du da einen kleinen Kniff anwenden.
    Is that possible to send HttpWebRequest using TLS1.2 on .NET 4.0 framework

    2. Die String-Variable nach deinem Text durchsuchen.
    -> Dies geht zum Beispiel mit der String.IndexOf Methode.

    VB.NET-Quellcode

    1. Dim myWebClient As New System.Net.WebClient ' the web client
    2. myWebClient.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:55.0) Gecko/20100101 Firefox/55.0")
    3. 'Net.ServicePointManager.SecurityProtocol = Net.SecurityProtocolType.Tls12
    4. '[url]https://stackoverflow.com/questions/37869135/is-that-possible-to-send-httpwebrequest-using-tls1-2-on-net-4-0-framework/41854685#41854685[/url]
    5. Net.ServicePointManager.Expect100Continue = True
    6. Net.ServicePointManager.SecurityProtocol = CType(3072, Net.SecurityProtocolType)
    7. Net.ServicePointManager.DefaultConnectionLimit = 9999
    8. Dim data As String = myWebClient.DownloadString("[url]https://meineseite.com/hwid.txt[/url]")
    9. Dim index As Integer = data.IndexOf(HwID())
    10. If index >= 0 Then
    11. MessageBox.Show("Dieses Programm wurde auf deinem Computer deaktiviert!")
    12. Application.ExitThread()
    13. Else
    14. TextBox1.Text = HwID
    15. End If

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „HenryV“ () aus folgendem Grund: Code korrigiert, Dank an petaod