Paramter an URL anhängen
Sven May
- cgi
Habe ein CGI geschrieben und in diesem rufe ich ein weiters auf, um einen neuen Frame zu beschreiben.
Die Parameterübergabe mache ich manuell mit
test.exe?param1=6¶m2=7 usw..
In einem dieser Parameter steht bei mir aber ein + Zeichen. Dieses kommt im aufgerufenen CGI aber nicht an. Übergebe ich z.B.
cgi.exe?param1=Between Date() And Date()+7)
kommt im ziel cgi nur ein
Between Date() And Date() 7)
an.
Woran liegt das und was kann ich dagegen tun ?
Moin Moin !
Wenn Du das "+"-Zeichen ins CGI haben willst, schreibe es als %2B.
Alexander
In einem dieser Parameter steht bei mir aber ein + Zeichen. Dieses kommt im aufgerufenen CGI aber nicht an. Übergebe ich z.B.
cgi.exe?param1=Between Date() And Date()+7)
kommt im ziel cgi nur ein
Between Date() And Date() 7)
Das Plus dient als Platzhalter für das Leerzeichen, welches in URLs nicht so recht erlaubt ist (siehe http://www.ietf.org/rfc/rfc2396.txt, Abschnitt 2.4.3). Ersetze es durch %2B (=dezimal 43=ASCII-Code des Plus-Zeichens, siehe http://selfhtml.teamone.de/inter/zeichensaetze.htm), ersetze weiterhin alle Leerzeichen durch %20 (selbes Schema), sowie eine ganze Reihe anderer Zeichen durch entsprechende Kodierungen.
Vielleicht bietet Dir Deine Programmiersprache fertige Kodierungsfunktionen an, suche nach "urlencode" oder ähnlichem.
Gruß,
soenk.e
Guten Tag,
cgi.exe?param1=Between Date() And Date()+7)
Versuche mal, das "+" zu maskieren (ich glaube "%2B").
Viele Grüße
Torsten
Danke euch allen, hat gut funktioniert.
Gruß
Sven