FAQ ASP.NET/C#
FAQ ASP.NET/C#Consultez toutes les FAQ
Nombre d'auteurs : 39, nombre de questions : 371, dernière mise à jour : 15 juin 2021
Réponse : En utilisant le contructeur de la classe Uri comme ceci :
à partir de l'url courante :
Uri monUri =
new
Uri
(
Request.
Url,
"../../autrePage.aspx"
);
ou à partir de n'importe quelle Url :
Uri monUri =
new
Uri
(
new
Uri
(
"http://www.exemple.com/Contenu/Categorie/Test.aspx"
),
"../../autrePage.aspx"
);
On peut obtenir une réprésentation sous forme de chaîne au lieu d'un objet Uri en appelant Tostring() sur les instances d'Uri :
Response.
Write
(
monUri.
Tostring
(
));
Merci à Julien Adam
Un petit bout de code trés simple qui affiche l'url de la page appelante.
string
str;
str =
Request.
ServerVariables[
"HTTP_REFERER"
];
Response.
Write
(
str);
Attention lors des postback, la page appelante est la page en cours !
Lien : Comment détecter le navigateur d'un visiteur ?
Lien : Comment détecter le langage du navigateur d'un visiteur ?
Lien : Comment récupérer l'adresse ip d'un visiteur ?
Nous allons voir ici comment récupérer l'url complète (avec les paramètres) de la page sur laquelle on se trouve. L'url absolue s'obtient par:
string
urlAbsolue =
Request.
Url.
ToString
(
);
tandis que l'url relative est récupérée par:
string
urlRelative =
Request.
RawUrl;
Lorsqu'une adresse n'existe pas ou que la page ne peut être affichée pour quelque
raison que ce soit, le serveur d'application Web (quelqu'il soit également) renvoie
un numéro d'erreur.
La fonction ci-dessous envoie false si une exception est lancée lors de la "lecture" de la page.
On remarquera que le même test est présent dans le catch car certains serveurs font
une différence entre "http://site/rep" et "http://site/rep/".
public
static
bool
UrlIsValid
(
string
Host)
{
HttpWebRequest oRequest =
null
;
HttpWebResponse oResponse =
null
;
try
{
oRequest =
(
HttpWebRequest) WebRequest.
Create
(
BuildUrl
(
Host));
oResponse =
(
HttpWebResponse)oRequest.
GetResponse
(
);
return
true
;
}
catch
(
Exception)
{
try
{
oRequest =
(
HttpWebRequest) WebRequest.
Create
(
BuildUrl
(
Host)+
"
\\
"
);
oResponse =
(
HttpWebResponse)oRequest.
GetResponse
(
);
return
true
;
}
catch
(
Exception)
{
return
false
;
}
}
}
BuildUrl permet d'ajouter le "http://" si celui-ci n'a pas été précisé dans l'Url.
public
static
string
BuildUrl
(
string
Url)
{
if
(
Url.
StartsWith
(
"http://"
))
return
Url;
return
Url.
Insert
(
0
,
"http://"
);
}
if
(
Request.
IsSecureConnection )
Debug.
WriteLine
(
"Connexion sécurisée"
);
else
Debug.
WriteLine
(
"Connexion non sécurisée"
);