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
Sommaire→Navigation→General→UrlsRé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");


