Comment encoder un chemin d'accès qui contient une table de hachage?
Comment encoder un chemin qui comprend un dièse ( # ) - t-il? Remarque la valeur de hachage n'est pas le fragment (signet?) indicateur mais une partie du nom du chemin d'accès.
Par exemple, si il y a un chemin comme ceci:
http://www.contoso.com/code/c#/somecode.cs
Il provoque des problèmes lorsque vous essayez par exemple le faire:
Uri myUri = new Uri("http://www.contoso.com/code/c#/somecode.cs");
Il semblerait qu'il interprète le hachage comme le fragment de l'indicateur.
Il se sent mal à remplacer manuellement # avec %23. Il existe d'autres caractères qui doit être remplacé?
Il y a quelques échapper méthodes d'Uri et HttpUtility mais aucune ne semble faire l'affaire.
Vous devez vous connecter pour publier un commentaire.
Il y a quelques personnages que vous n'êtes pas censé utiliser. Vous pouvez essayer de travailler votre chemin à travers ce très sec de la documentation, ou de se référer à ce pratique URL résumé sur un Débordement de Pile.
Si vous découvrez ce site, vous verrez que leur C# questions sont codées
%23
.Un Débordement De Pile C# Questions
Vous pouvez le faire en utilisant soit (pour ASP.NET):
Ou pour les bibliothèques de classe /de bureau:
Fait un peu plus de creuser des amis et a trouvé une double question pour Java:
HTTP Adresse URL de Codage en Java
Cependant, l' .Net Uri classe n'offre pas le constructeur nous avons besoin, mais le UriBuilder n'.
Afin de construire un bon URI où le chemin d'accès contient des caractères illégaux, ce faire:
Remarquez comment il ne pas inutilement échapper parties de l'URI qui n'a pas besoin de s'échapper (comme l' ://en partie) ce qui est le cas avec HttpUtility.UrlEncode. Il semblerait que le but de ce cours est fait pour encoder la chaîne de requête/fragment de la partie de l'URL - pas de schéma ou le nom d'hôte.
Utilisation UrlEncode:
System.Web.HttpUtility.UrlEncode(string)