Considérations et exigences de codage des URL
Lors de la construction des URL du client PTC RV&S, seules les valeurs des options de commande doivent être encodées (ne codez pas toute l'URL).
PTC RV&S suppose que toutes les URL entrantes du client PTC RV&S sont encodées conformément au RFC 1738 pour s'assurer que toutes les données d'URL peuvent être converties vers (ou depuis) le format de caractères UTF-8. Le codage et le décodage utilisent le schéma de codage UTF-8 pour assurer une compatibilité maximale, conformément aux recommandations du WWW Consortium. Par exemple, une espace sera désignée par %20. Pour plus d'informations, accédez à http://docs.oracle.com/javase/8/docs/api/java/net/URLEncoder.html.
Tous les caractères non autorisés sont représentés par un signe de pourcentage (%) suivi de la représentation hexadécimale à deux chiffres du point de code ISO-Latin du caractère.
Les éléments suivants sont des exemples d'URL de client PTC RV&S comportant des options encodées :
integrity://localhost:9001/im/viewissue?selection=12345&asof=%222012-01-01%2014%3a01%3a00%20z%22
2012-01-01 12:01:00 z est encodé
integrity://localhost:9001/si/viewproject?project=%2FTestProject%2Fproject.pj
/TestProject/project.pj est encodé
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-_ est encodé.
integrity://localhost:9001/extended-web-ui/%2Fitems%3Fquery%3Dquick%20query est encodé.
%82%af%e3%83%ab
asof=jwWiki アーティクル est encodé
Lors de l'écriture de scripts de déclenchement personnalisés ou d'actions personnalisées générant des URL de client PTC RV&S, PTC vous recommande d'utiliser les bibliothèques standard telles que java.net.Encoder pour encoder les valeurs des options de commande dans l'URL. Par exemple, vous pouvez coder en appelant la classe de codeur java
java.net.URLEncoder.encode(some_URL, "UTF-8")
Cette classe de codeur est conforme au RFC 1738 (la spécification de l'URL) et garantit que l'URL du client PTC RV&S sera correctement décodée par le client PTC RV&S lors de son lancement. Pour plus d'informations, accédez à l'adresse http://www.rfc-editor.org/rfc/rfc1738.txt.
Le fichier du script de déclenchement changePackageNotification.js utilise cette classe Java pour encoder les options de commande dans les URL du client PTC RV&S, comme illustré dans l'exemple suivant :
/** 
* 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);
}
Le tableau suivant décrit les exigences et considérations en matière d'encodage des valeurs des options de commande dans les URL du client PTC RV&S :
Types de caractères
Considérations/Exigences de codage
Caractères de contrôle ASCII
Tous les caractères compris entre 00-1F et 7F doivent être encodés.
Caractères réservés
Les caractères spéciaux suivants sont réservés :
signe dollar ($) encodé %24
esperluette (&) encodé %26
signe plus (+) encodé %2B
virgule (,) encodé %2C
barre oblique (/) encodé %2F
deux-points (:) encodé %3A
point-virgule (;) encodé %3B
signe égal (=) encodé %3D
point d'interrogation (?) encodé %3F
arobase (@) encodé %40
étoile (*) encodée %2A
point d'exclamation (!) encodé %21
Caractères non sécurisés
Certains caractères spéciaux peuvent être incompatibles ou non fiables et entraîner un problème d'interprétation dans les URL. PTC recommande le codage des caractères suivants :
espace vide ( ) encodé %20 (plus particulièrement les espaces multiples)
guillemets (“”) encodé %22
signe inférieur à (\<) encodé %3C
signe supérieur à (\>) encodé %3E
signe dièse (#) encodé %23
pourcentage (%) encodé %25
accolade ouvrante ({) encodé %7B
accolade fermante (}) encodé %7D
barre verticale (|) encodé %7C
barre oblique inverse (\) encodé %5C
caret (^) encodé %5E
tilde (~) encodé %7E
crochet gauche ([) encodé %5B
crochet droit (]) encodé %5D
accent grave (`) encodé %60
Caractères spéciaux pris en charge
Les caractères spéciaux suivants sont autorisés et ne nécessitent pas de codage :
tiret (-) encodé -
trait de soulignement (_) encodé _
Caractères non ASCII
Tous les caractères non ASCII doivent être encodés. Ils comprennent la moitié supérieure du jeu de caractères hexadécimal ISO-Latin 80-FF.
Caractères Unicode
Tous les caractères Unicode doivent être encodés. Ils incluent tous les caractères supérieurs à FF.
Est-ce que cela a été utile ?