2010-07-04 6 views
0

J'essaye de le faire en VBScript/JScript, pour éviter le ré-encodage.
Dois-je juger s'il y a «%»? Est-ce que "%" a d'autres utilisations dans l'URL?
Merci.Comment déterminer si une URL est déjà encodée avec encodeURI?

Édition: Oh, la fonction de codage d'origine peut ne pas être encodeURI.
J'essaie de collecter des URL depuis le navigateur et de les stocker après encodage avec encodeURI.
Mais si l'URL est déjà encodée, un autre encodage la rendra erronée.

Répondre

0

parcourir les caractères dans l'URL et de tester les caractères qui ne sont pas autorisés dans un URL.

s'il y a un encodage. s'il n'y a pas de caractères illégaux, cela n'a pas d'importance

+0

Ça a l'air génial. Euh ... quels personnages sont illégaux alors? Je sais même qu'encodeURI et URLencode ont des opinions différentes. – phoenies

+1

comme défini dans RFC1738 caractères sécurisés sont 0-9a-zA-Z et $ -_. +! * '(), Tout le reste est dangereux –

+0

Les illégaux sont généralement: #% & * {} \: < >?/ Il existe cependant d'autres règles, telles que l'absence de périodes consécutives, la fin d'une période, etc. –

0

Je pourrais essayer de le décoder et de comparer le résultat à l'URL d'origine. Si elle a changé ou est devenue plus courte, votre URL d'origine était probablement déjà encodée.

+0

Merci. Ainsi, une URL qui n'a pas été encodée ne peut pas être décodée. Est-ce toujours vrai? – phoenies

+0

Je ne suis pas à 100% là-dessus - mais ça pourrait être un bon point de départ. Vous pourriez rencontrer des URL amusantes qui ne vous iront pas; peut-être que certains sont censés avoir les caractères codés en eux. –

+0

OK. C'est ce que j'ai obtenu: decodeURI renvoie une erreur inconnue 800A13A1. Google dit que c'est parce que la chaîne à décoder contient des caractères illégaux. – phoenies

Questions connexes