Sven May: Paramter an URL anhängen

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&param2=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 ?

  1. Moin Moin !

    • ist eine Variante, um ein Space zu escapen.

    Wenn Du das "+"-Zeichen ins CGI haben willst, schreibe es als %2B.

    Alexander

    --
    Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"
  2. 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

  3. Guten Tag,

    cgi.exe?param1=Between Date() And Date()+7)

    Versuche mal, das "+" zu maskieren (ich glaube "%2B").

    Viele Grüße
    Torsten

    --
    Dieses Posting kommt ohne Garantie auf Vollständigkeit, Richtigkeit und Funktionalität. Geposteter Quelltext ist, wenn nicht anders angegeben, ungetestet.
  4. Danke euch allen, hat gut funktioniert.

    Gruß

    Sven