Anforderungen und Hinweise zur URL-Kodierung
Wenn Sie PTC RV&S Client URLs erstellen, ist die Kodierung nur für die Werte der Befehlsoptionen erforderlich. (Kodieren Sie nicht die gesamte URL.)
PTC RV&S geht davon aus, dass alle eingehenden PTC RV&S Client URLs nach RFC 1738 kodiert werden, um sicherzustellen, dass alle URL-Daten in und von UTF-8 konvertiert werden können. Gemäß den Empfehlungen des WWW Consortium verwendet die gesamte Kodierung und Dekodierung das UTF-8-Kodierungsschema, um maximale Kompatibilität sicherzustellen. Ein Leerzeichen wird z.B. als %20 kodiert. Weitere Informationen finden Sie unter http://docs.oracle.com/javase/8/docs/api/java/net/URLEncoder.html.
Alle unzulässigen Zeichen werden mit einem Prozentzeichen (%) kodiert, gefolgt von der zweistelligen hexadezimalen Darstellung des ISO-Latin-Codepunkts für das Zeichen.
Nachfolgend finden Sie Beispiele für PTC RV&S Client URLs mit kodierten Optionen:
integrity://localhost:9001/im/viewissue?selection=12345&asof=%222012-01-01%2014%3a01%3a00%20z%22
wobei 2012-01-01 12:01:00 z kodiert ist
integrity://localhost:9001/si/viewproject?project=%2FTestProject%2Fproject.pj
wobei /TestProject/project.pj kodiert ist
integrity://localhost:9001/im/viewissue?selection=12345&asof=jwWiki%20%e3%82%a2%e3%83%bc%e3%83%86%e3%82%a3%e3
integrity://localhost:9001/extended-web-ui/%2Fitems%3Fquery%3DA%2A%21-_ kodiert ist
integrity://localhost:9001/extended-web-ui/%2Fitems%3Fquery%3Dquick%20query kodiert ist
%82%af%e3%83%ab
wobei asof=jwWiki アーティクル kodiert ist
Wenn Sie benutzerdefinierte Trigger-Skripte oder Aktionen schreiben, die PTC RV&S Client URLs generieren, empfiehlt PTC die Verwendung von Standardbibliotheken wie java.net.Encoder, um die Werte von Befehlsoptionen in der URL zu kodieren. Sie können z.B. eine Kodierung ausführen, indem Sie die Java-Kodierungsklasse
java.net.URLEncoder.encode(some_URL, "UTF-8")
aufrufen.
Diese Kodierungsklasse entspricht RFC 1738 (URL-Spezifikation) und garantiert, dass die PTC RV&S Client URL beim Start des PTC RV&S Clients richtig dekodiert wird. Weitere Informationen finden Sie unter http://www.rfc-editor.org/rfc/rfc1738.txt.
Die Trigger-Skriptdatei changePackageNotification.js verwendet diese Java-Klasse, um die Befehlsoptionen in ihren PTC RV&S Client URLs zu kodieren. Dies wird im folgenden Beispiel gezeigt:
/** 
* Return a URL-encoded string version of the argument passed in.
*/
function urlEncode(arg)
{
try {
return java.net.URLEncoder.encode(arg,"UTF-8");
} catch (err) {
// Fall-through
}
// If UTF-8 failed, just use the default encoding.
return java.net.URLEncoder.encode(arg);
}
In der folgenden Tabelle werden die Anforderungen und Hinweise zur Kodierung der Werte für die Befehlsoptionen in PTC RV&S Client URLs beschrieben:
Zeichentypen
Anforderungen/Hinweise zur Kodierung
ASCII-Steuerzeichen
Alle Zeichen innerhalb des Bereichs 00-1F bis 7F müssen kodiert werden.
Reservierte Zeichen
Die folgenden Sonderzeichen sind reserviert:
Dollarzeichen ($) Kodierung %24
Und-Zeichen (&) Kodierung %26
Pluszeichen (+) Kodierung %2B
Komma (,) Kodierung %2C
Schrägstrich (/) Kodierung %2F
Doppelpunkt (:) Kodierung %3A
Semikolon (;) Kodierung %3B
Gleichheitszeichen (=) Kodierung %3D
Fragezeichen (?) Kodierung %3F
At-Zeichen (@) Kodierung %40
Stern ( * ) wird als %2A kodiert
Ausrufezeichen ( ! ) wird als %21 kodiert
Unsichere Zeichen
Einige Sonderzeichen können innerhalb von URLs missverstanden werden. Sie könnten z.B. inkompatibel oder unzuverlässig sein. PTC empfiehlt, die folgenden Zeichen zu kodieren:
Leerzeichen ( ) Kodierung %20 (insbesondere mehrere Leerzeichen)
Anführungszeichen („“) Kodierung %22
Kleiner-als-Zeichen (\<) Kodierung %3C
Größer-als-Zeichen (\>) Kodierung %3E
Nummernzeichen (#) Kodierung %23
Prozent (%) Kodierung %25
Geschweifte Klammer links ({) Kodierung %7B
Geschweifte Klammer rechts (}) Kodierung %7D
Senkrechter Strich (|) Kodierung %7C
Umgekehrter Schrägstrich (\) Kodierung %5C
Caret-Zeichen (^) Kodierung %5E
Tilde (~) Kodierung %7E
Eckige Klammer links ([) Kodierung %5B
Eckige Klammer rechts (]) Kodierung %5D
Graviszeichen (') Kodierung %60
Unterstützte Sonderzeichen
Die folgenden Sonderzeichen sind zulässig und müssen nicht kodiert werden:
Bindestrich ( - ) wird als - kodiert
Unterstrich ( _ ) wird als _ kodiert
Nicht-ASCII-Zeichen
Alle Nicht-ASCII-Zeichen müssen kodiert werden. Das schließt die gesamte obere Hälfte des ISO-Latin-Zeichensatzes 80-FF hexadezimal ein.
Unicode-Zeichen
Alle Unicode-Zeichen müssen kodiert werden. Das schließt alles oberhalb von FF ein.
War dies hilfreich?