AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Encoding von Headervariablen in DataSnap

Encoding von Headervariablen in DataSnap

Ein Thema von Maliko · begonnen am 23. Sep 2024 · letzter Beitrag vom 24. Sep 2024
Antwort Antwort
Maliko

Registriert seit: 20. Jun 2019
91 Beiträge
 
Delphi 10.3 Rio
 
#1

Encoding von Headervariablen in DataSnap

  Alt 23. Sep 2024, 09:00
Moin,

bei uns läuft eine API welche auf DataSnap basiert und leider ist dabei jetzt aufgefallen, dass diese ein Problem mit Umlauten hat. Wenn ich im Header des Requests einen Umlaut mitschicke, kommt dieser kaputt in der Schnittstelle an (wird als Fragezeichen angezeigt).

Hier ein Beispielaufruf (zur Einfachheit in Curl)

Code:
curl --request GET \
  --url https://localhost:1234/api/rest/v21/Ping \
  --header 'Authorization: Basic 125jkhlkjsdhflsjdhflskjhfd==' \
  --header 'x-api-key: xxxx-xxxx-xxxx-xxxx-xxxx' \
  --header 'x-environment: Test' \
  --header 'x-vendorid: äbc-abc-abc'
Das ä kommt dann kaputt beim Server an. Auf die Variable greif ich mit folgendem Code zu:

Code:
Request.GetFieldByName('X-Vendorid')
Hat jemand eine Idee woran das liegen kann und wie ich den Encodingfehler behebe? Im Internet hab ich dazu nämlich nix gefunden (oder ich bin mal wieder zu dumm zum suchen).
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.617 Beiträge
 
Delphi 12 Athens
 
#2

AW: Encoding von Headervariablen in DataSnap

  Alt 23. Sep 2024, 10:33
https://stackoverflow.com/questions/...-a-http-header Du solltest Dich auf ASCII beschränken. Sollte das wieso auch immer nicht möglich sein, könntest Du den fraglichen Header BASE64-kodieren und auf Serverseite wieder dekodieren. Schön ist aber anders.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Maliko

Registriert seit: 20. Jun 2019
91 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Encoding von Headervariablen in DataSnap

  Alt 23. Sep 2024, 12:09
Jup das hat ein Kollege auch gerade herausgefunden. Wir haben uns für den einfacheren Weg entschieden und haben in der API-Doku angegeben, dass der Wert keine Sonderzeichen/Umlaute außer '-' beinhalten darf. Danke dir trotzdem.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.063 Beiträge
 
Delphi 12 Athens
 
#4

AW: Encoding von Headervariablen in DataSnap

  Alt 24. Sep 2024, 09:22
... dass der Wert keine Sonderzeichen/Umlaute außer '-' beinhalten darf. Danke dir trotzdem.
Ist das nicht sowieso Pflicht bei digitalen Schnittstellen?
Ich weiss nicht wieviele Stunden ich schon nach Fehlern gesucht habe, wo einfach irgendwelche UTF8 Zeichen oder chinesische Zeichen verwendet wurden, die man auf den ersten Blick gar nicht so einfach erkennen kann.

Mittlerweile gebe ich bei "-" auch immer den ASCII HEX-Code mit an, damit mir keiner einen "Gedankenstrich" unterjubelt, wie das gerne von Leuten aus dem Grafikdesign gemacht wird.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz