Lantronix XPort macht aus "&" ein "&amp"

Gast #4179859
Lesenswert?
• ▲
▼
Hallo,

ich hab es jetzt endlich nach längerem herumprobieren geschafft den 
XPort-05R dazu zu bewegen sich mit einen Webserver zu verbinden.

klappte mit:

C192.168.1.6:80

danach habe ich folgende URL über RS232 übergeben:

GET Host: http://192.168.1.6/cgi-bin/npcgi?msg=Test&no=669&bp=3 
HTTP/1.1\r\n

in der Antwort stand folgendes:

Your browser sent a request that this server could not 
understand.<p><pre>GET Ho
st: http://192.168.1.6/cgi-bin/npcgi?msg=Test&amp;no=669&amp;bp=3 
HTTP/1.1

Hat jemand eine Idee was ich machen muss damit der XPort mein gesendetes 
"&" so belässt und nicht "&amp;" daraus macht?

Gebe ich das in einen normalen Browser so ein dann sehe ich im Wireshark 
eine korrekte Anfrage mit korrekter Zeichenübergabe.

Vielleicht hat von euch Spezis eine Idee...


Grüße,
norticum
Gast #4179871
Lesenswert?
• ▲
▼
Nunja...
KA, was C192.168.1.6:80 bedeuten soll....
KA, was du da tust....

Aber Der Vorgang & zu &amp; ist mir gut bekannt.
In PHP wird dieses mit htmlentities() erreicht. Und das ist durchaus 
berechtigt, wenn man die URLs in HTML Dokumenten unterbringt.
Gast #4179877
Lesenswert?
• ▲
▼
Hallo,

es geht nur um den GET Request der URL.

mit C192.168.1.6:80 connecte ich mich am Webserver.

Ich habe einen Lantronix XPort und sende die URL über die RS232. Der 
XPort macht dann den GET Request daraus. Leider macht der auch aus 
meinem über die RS232 gesendeten "&" Zeichen ein "$amp;" das der 
Webserver nicht versteht. Auf den Webserver habe ich keinen Einfluss 
sonst hätte ich das ja auch im Webserver ändern können.

Die Frage ist was ich machen/ändern muss damit der XPort mein "&" 
Zeichen nicht verdreht.....

Grüße,

norticum
Gast #4179926
Lesenswert?
• ▲
▼
Das Teil "HTML escape"-encodiert die URL. Damit werden 
HTML-Sonderzeichen in Texten übertragen.
Eigentlich sollte er "URI escape" encodieren. Dabei werden in der URL 
Sonderzeichen durch % und zweistelligen Hexwert ersetzt, z.B. 
Leerzeichen durch %20.
Noch eigentlicher sollte er die URL-Syntax garnicht verändern.
Gast #4179947
Lesenswert?
• ▲
▼
norticum schrieb:
> Your browser sent a request that this server could not
> understand.<p><pre>GET Ho
> st: http://192.168.1.6/cgi-bin/npcgi?msg=Test&amp;no=669&amp;bp=3
> HTTP/1.1

Das ist nur so, weil die übergebene URL eben in einer HTML-Seite als 
Fehlermeldung dargestellt wird. Und da man in HTML mit & Entities 
einleitet, muss ein & als Zeichen eben als &amp; kodiert werden. Es ist 
wirklich nur für die Anzeige. Der Server kodiert nix um.

Ich glaube eher, dass dein Problem in "GET Host: 
http://192.168.1.6/blafoo <newline> HTTP/1.1" liegt, so sieht ein 
HTTP-Request nämlich nicht aus und deshalb wirft er "could not 
understand". Eher "GET /blafoo HTTP/1.1 <newline> Host: 192.168.1.6 
<newline><newline>".

("GET http://..."; wird nur verwendet wenn du dich zu einem Proxy 
verbindest, aber auch dann steht kein "Host:" zwischen GET und der 
Adresse.)
Gast #4179982
Lesenswert?
• ▲
▼
@foo

Ein riesiges FETTES Danke ganz besonders an Dich!!! Natürlich auch an 
Bastler und Ulrich F.

Es klappt!!!

Also nochmal zusammen gefasst:

Mit C192.168.1.6:80 connecten, es kommt ein "C" für connected zurück

dann den GET Request wie nachfolgend dargestellt übermitteln:


GET /cgi-bin/npcgi?&msg=Test&no=669&bp=3 HTTP/1.1\r\nHost: 
192.168.1.6\r\n\r\n

Kaum macht mann es richtig funktioniert es auch :-)

Danke nochmal!!!

Grüße,

norticum

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.