2010-11-25 2 views
0

Les caractères spéciaux dans le mot de passe convertissent l'URL en chaîne et tronquent l'URL après le mot de passe dans l'URL.Les caractères spéciaux dans le mot de passe convertissent l'URL en une chaîne

Voici ce que j'utilise

webbrowser.navigate("http://username:[email protected]@www.something.com") 

quand je vois la demande ci-dessus dans le navigateur VS est comme ..

http://username:pww 

et le résultat est « Page introuvable »

Quand il n'y a pas de caractère spécial dans le mot de passe, le lien se passe bien sans aucun problème .. S'il vous plaît Aide Thanks A Advance

Répondre

0
webbrowser.navigate("http://username:pww%[email protected]") 
+0

Merci pour le conseil, mais le nom d'utilisateur et mots de passe sont dynamiques, à savoir, obtenir de l'utilisateur, est-il une fonction qui convertit un caractère spécial à sa valeur respective .. Merci –

+0

@ N.Sai Harish: vous devriez Utilisez les fonctions .NET pour créer le chemin et l'url alors vous ne devez pas écrire à la main cette chaîne de fonctions sécurisées, .NET le fera. – Svisstack

0

Veuillez utiliser HTTP POST au lieu de HTTP GET pour envoyer des mots de passe à votre site Web. Les caractères spéciaux n'ont pas tellement d'importance avec POST, et c'est un peu plus sécurisé (le voisin de l'utilisateur ne peut pas voir le mot de passe dans la barre d'URL).

Si vous devez utiliser GET, URL-encode le mot de passe. Par exemple, vous pouvez remplacer "@" par "% 40". Pour C#, voir HttpUtility.UrlEncode. Vous devrez probablement encoder le nom d'utilisateur et le mot de passe séparément, puis créer l'URL.

Questions connexes