ASP.NET: Get *réel* URL brut
Dans ASP.NET est-il possible d'obtenir le réel URL brut?
Par exemple, si un utilisateur à parcourir "http://example.com/mypage.aspx/%2F", je voudrais être en mesure d'obtenir la "http://example.com/mypage.aspx/%2F" plutôt que "http://example.com/mypage.aspx//".
Je voudrais bien sûr, comme un moyen propre à le faire, mais je peux vivre avec un hacky approche en utilisant la réflexion ou de l'accès à obscures propriétés.
Pour le moment, j'essaie d'utiliser l'uri de l'Autorisation de l'en-tête (qui fonctionne), mais je ne peux pas compter sur d'être toujours là.
EDIT:
Ce que je veux vraiment faire est d'être capable de distinguer entre les "http://example.com/mypage.aspx/%2F" et "http://example.com/mypage.aspx/%2F%2F".
Il ressemble ASP.NET convertit tout d'abord "%2F%2F" en "//" et puis convertit les barres obliques dans une seule barre oblique.
Donc, tout simplement ré-encodage, il n'est pas d'aller travailler.
OriginalL'auteur Rasmus Faber | 2009-04-23
Vous devez vous connecter pour publier un commentaire.
Je n'ai pas pu tester cette raison qu'il ne fonctionne que dans les services internet et de ne pas le ASP.NET Serveur de Développement qui fait partie de Visual Studio, mais essayez:
Demande.ServerVariables[ "HTTP_URL" ]
OriginalL'auteur William Gross
Le code suivant fonctionne pour moi:
Notez que cela ne fonctionne que lors de l'exécution sur le IIS et non pas en vertu de f.x. ASP.NET Serveur de Développement!
Grâce à Lucero pour la réponse dans un autre thread et Zhaph pour m'indiquer le fil.
Renvoie le résultat attendu sous IIS Express ainsi
OriginalL'auteur Rasmus Faber
Voir aussi:
OriginalL'auteur Zhaph - Ben Duguid
L'URL brut est défini comme la partie de l'URL suivant le domaine de l'information. Dans la chaîne d'URL http://www.contoso.com/articles/recent.aspx, l'URL brut est /articles/récent.aspx. L'URL brut comprend la chaîne de requête, si elle est présente.
voir aussi:texte du lien
OriginalL'auteur mirezus
Request.RawUrl
sera de retour l'application de chemin d'accès relatif(y compris querystring info), tandis queRequest.Url
sera de retour le chemin d'accès complet(y compris querystring info).Pour plus d'informations, voir "Faire sens de l'ASP.NET les chemins de".
OriginalL'auteur Cerebrus
Bien, vous avez juste à coder de nouveau à l'url-encodé version.
OriginalL'auteur asgerhallas
Je ne peux pas tester ici, mais c'est peut-être ce dont vous avez besoin:
OriginalL'auteur Martin
Obtenir l'url de la requête et de la fonction urlencode seulement la partie de chaîne de requête, puis de les enchaîner
OriginalL'auteur Naren