Httpwebrequest Hilfe bitte

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Takafusa.

    Httpwebrequest Hilfe bitte

    Guten Tag,
    Ich bin neu hier und hoffe sehr jemand kann mir bei mein Problem weiterhelfen, denn alles was ich zu diesen Problem über Google finde hat bisher nicht geholfen und ich bin echt langsam am Verzweifeln.

    Unzwar hab ich mittels "Httpwebrequest" probiert eine Verbindung zum Internet aufzubauen leider scheitert es an diesen Fehler immer.
    Spoiler anzeigen
    Die Anfrage wurde abgebrochen: Es konnte kein geschützter SSL/TLS-Kanal erstellt werden..


    unter Windows 10 hat alles noch wunderbar funktioniert, bin aber wieder auf Windows 8.1 umgestiegen und nun habe ich den Salat, zurück wechseln zu Windows 10 wollte ich eigentlich ungern..

    Ich bin mir eigentlich sehr sicher das es nicht an mein Code Direkt liegt sondern das es was mit dem Windows 8.1 Pro zu tuhen haben muss allerdings sind auch alle Updates gemacht worden und alles ist aktuell , im Browser läuft auch alles Vershlüsselt und ohne Probleme.

    Vielleicht fehlt ja wirklich was in der "Reg" jedenfalls bin ich mir nicht sicher ob es nicht vielleicht doch auch an etwas anderes liegt nun hoffe ich ja wir können alles schritt für schritt durchgehen und finden das Problem.
    hier mein aktueller Code:

    VB.NET-Quellcode

    1. Public Function Connect(ByVal Site As String, ByVal Post As String, ByVal MET As String) As String
    2. Dim H As HttpWebRequest = CType(HttpWebRequest.Create(Site), HttpWebRequest)
    3. H.CookieContainer = C
    4. H.Method = MET
    5. 'H.Host = ""
    6. H.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
    7. H.UserAgent = "Mozilla/5.0 (Windows NT 6.1; rv:89.0) Gecko/20100101 Firefox/89.0"
    8. H.ContentType = "text/html; charset=UTF-8"
    9. H.AllowAutoRedirect = True
    10. If H.Method = "POST" Then
    11. Dim SW As New StreamWriter(H.GetRequestStream(), System.Text.Encoding.UTF8)
    12. SW.Write(Post)
    13. SW.Close()
    14. End If
    15. Dim SR As New StreamReader(H.GetResponse.GetResponseStream)
    16. Dim L As String = SR.ReadToEnd()
    17. SR.Read()
    18. Return L
    19. End Function


    Ich habe auch schon in der "Reg" bei Windows als Standard TSL.1.2 Aktiviert, weil es in mein fall auf meiner Seite aktzeptiert wird , bringt aber leider garnix.

    in Visualbasic das Secure Protokol auf TSL festzulegen bringt leider auch nix nun bin ich überfragt.
    Danke für die schnelle Antwort, habe selbst nicht ähnliches gefunden leider, also das Net Framework ist auf dem neusten Stand "Version 4.8".
    Ich habe mal ein Screen hoch geladen , das ist eigentlich alles das neuste , vielleicht muss irgentwo was Eingestellt werden aber da kenn ich mir jetz gerade nicht aus , da es ja sonst auch lief und bei windows 10 vor kurzen auch wunderbar ohne Einstellungen oder Verweise es lief sogar problemlos mit Net Framework 4.5 oder der neuen Version.

    https://ibb.co/RhX49Ty

    kennt sich vielleicht einer besser aus als ich in der Windows "Reg" ? vielleicht fehlt ja doch dort ein wichtiger Verweis oderso.


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

    Hast du auch das Zielfrmawork im Projekt festgelegt? Im Projektmappenexplorer einen rechtsklick aufs Projekt machen, Eigenschaften wählen dann öffnet sich ein tab, dort wie auf'm Screenshot das Zielframework festlegen, um weitere Frameworks als Ziel auszuwählen, müssen die entsporechenden TargetPacks installiert sein.
    Bilder
    • Unbenannt.jpg

      112,67 kB, 897×405, 50 mal angesehen
    Ich hatte das gleiche Net Framework wie drinn also die Version und habe jetz mal 4.8 Aktiviert , dann beamm ich anfangs den Feher der RemoteServer ist nicht erreichbar und danach als ich es nochmal Testete kamm wieder der selber Fehler wie davor :( , ich bin gerade dabei eine ältere Version von Net Framework zu installieren und versuche diese dann mal und melde mich später .

    achso mein Aufruf ist aber richtig

    VB.NET-Quellcode

    1. dim Get as string = Connect("https://google.de","","GET")


    dadrann kann es ja nicht liegen eigentich an den Aufruf.

    selma9001 schrieb:

    dim Get as string = Connect("https://google.de","","GET")


    Also eine variable darf in vb nicht Get heissen, die Schlüsselwort ist für Properties gedacht.

    Dein Code läuft bei mir auch nicht, auffe schnelle einfach mal neu getippt:

    VB.NET-Quellcode

    1. Private Function DownlaodSite(url As String) As String
    2. Dim request As HttpWebRequest = HttpWebRequest.CreateHttp(url)
    3. Dim response As HttpWebResponse = DirectCast(request.GetResponse(), HttpWebResponse)
    4. Dim reader As New StreamReader(response.GetResponseStream())
    5. Dim result As String = reader.ReadToEnd()
    6. Return result
    7. End Function


    Evtl. mag der Server dein Accept, UserAgent oder ContentType nicht. Beim Get-Request brauchste den ContentType glaub ich auch nicht. Beim POST glaube ich doch, denn da schreibst du ja eine extra Portion Daten.
    Also wie sich heraus gestellt hat liegt es echt an der Seite wo Ich abfragen will sie muss irgentwelche Sicherheiten extra haben den bei Google geht die Abfrage als ob mein Code und deiner beide laufen , aber ich werde mich morgen dan rann setzten ich selbst finde es für eine Server abfrage recht ungewöhnlich diese Sicherheiten aber nagut ich werde die Lösung bestimmt finden .
    Danke in dir für die Hilfe :)

    Die Deklaration Get war Freihand hatte ich im moment nicht drann gedacht sry , eigentlich hab ich eine andere Variable schreib nur gerne :D