Webclient Umlaute

  • VB.NET
  • .NET 4.5

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

    Webclient Umlaute

    Halölchen zusammen,

    momentan arbeite ich an einem kleinen Tool für den Eigengebraucht, welches einen bestimmten Link per Webclient aus einer Seite sucht und diesen in der Listbox ausgibt. Soweit so gut,
    wenn ich jetzt den Link weiterverwenden möchte in einem neuen Webclient und dieser Link umlaute enthält erhalte ich den Fehler:
    Die Anfrage wurde abgebrochen.

    Der Link : link.de/hallo funktioniert einwandfrei, der Link link.de/hallö funktioniert so gar nicht. Ein Replace in oe akzeptiert die Webseite nicht und gibt keine Treffer aus. Ich habe schon die verschiedensten Versuche unternommen, die ich auf Google gefunden habe, aber weder eine Urlencode Variante mit dem Code

    VB.NET-Quellcode

    1. Public Function URLEncode(StringToEncode As String, Optional _
    2. UsePlusRatherThanHexForSpace As Boolean = False) As String
    3. Dim TempAns As String
    4. Dim CurChr As Integer
    5. CurChr = 1
    6. Do Until CurChr - 1 = Len(StringToEncode)
    7. Select Case Asc(Mid$(StringToEncode, CurChr, 1))
    8. Case 48 To 57, 65 To 90, 97 To 122
    9. TempAns = TempAns & Mid$(StringToEncode, CurChr, 1)
    10. Case 32
    11. If UsePlusRatherThanHexForSpace = True Then
    12. TempAns = TempAns & "+"
    13. Else
    14. TempAns = TempAns & "%" & Hex(32)
    15. End If
    16. Case Else
    17. TempAns = TempAns & "%" & Hex(Asc(Mid$(StringToEncode,
    18. CurChr, 1)))
    19. End Select
    20. CurChr = CurChr + 1
    21. Loop
    22. URLEncode = TempAns
    23. End Function


    noch ein Replacement, noch eine andere Codierungseinstellung hat mich weitergebracht.

    Könnt Ihr mir da vielleicht behilflich sein?

    Habe gesehen, dass ein Thema hier bereits ins Leere gelaufen ist von einem user, der das selbe Problem hatte, daher hoffe ich, dass ich hier nochmal einen Hinweis bekommen kann.

    Beste Grüße! :D
    @HocusPocus Was soll denn Deine Prozedur machen?
    Wenn ich Deinen funktionieren sollenden Beispiel-Link als Input eingebe, kommt Blödsinn raus.
    Gib mal je ein Beispiel für Input und Output für einen gehenden und einen nicht gehenden String.
    Und gib für den nicht gehenden Link an, was rauskommen soll.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    RodFromGermany schrieb:

    @HocusPocus Was soll denn Deine Prozedur machen?
    Wenn ich Deinen funktionieren sollenden Beispiel-Link als Input eingebe, kommt Blödsinn raus.
    Gib mal je ein Beispiel für Input und Output für einen gehenden und einen nicht gehenden String.
    Und gib für den nicht gehenden Link an, was rauskommen soll.


    Ich möchte aus dem Telefonbuch einen Eintrag anzeigen lassen.
    Solange kein Umlaut im Namen oder der Straße ist funktioniert alles wunderbar.

    Das wäre zum Beispiel hier der Fall:
    mobil.dasoertliche.de/Themen/M…en-Hohenacker-Handwerkstr

    Wenn ich jetzt zum Beispiel diesen Link habe:
    mobil.dasoertliche.de/Themen/W…stadt-Neustadter-Hauptstr

    klappt es nicht.
    Ein vorheriger Replace ä zu %C3%A4 funktioniert auch nicht.
    Die WebUtility.UrlEncode Variante liefert auch nicht das gewünschte Ergebnis :/

    Fehler:
    "Die Anfrage wurde abgebrochen: Die Verbindung wurde unerwartet getrennt.."

    HocusPocus schrieb:

    Ein vorheriger Replace ä zu %C3%A4 funktioniert auch nicht.
    Warum machst Du nicht einfach

    VB.NET-Quellcode

    1. StringToEncode = StringToEncode.Replace("ä", "%C3%A4")
    und die äquivalenten anderen?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!