System.UriクラスでリクエストURLの取得と解析
2009/12/11 18:33Update
リクエストURLからホスト名、ファイル名、絶対パス、URIなどを取得・解析方法について。
System.Uriクラスについて
Uri クラス(System)
URLの取得
以下はC#言語を用いて解説します。
//HttpRequestオブジェクトからUri取得 HttpRequest req = ...; Uri uri = req.Url; //HttpContextからUri取得 Uri uri = HttpContext.Current.Request.Url; //URL 文字列からUriインスタンスを構築 String url = "http://www.syboos.jp/abc.aspx?a=a1&b=b1"; Uri uri = new Uri(url);
URLの解析
例えば、クエストURLは:
http://www.syboos.jp/mycontext/xx/yy.aspx?a=a1&b=b1#top
の場合、
//絶対URI Console.WriteLine(uri.AbsolutePath); //結果: /mycontext/xx/yy.aspx //絶対パス Console.WriteLine(uri.AbsoluteUri); //結果: http://www.syboos.jp/mycontext/xx/yy.aspx?a=a1&b=b1#top //フラグメント Console.WriteLine(uri.Fragment); //結果: #top //ホスト名またはIPアドレス Console.WriteLine(uri.Host); //結果: www.syboos.jp //AbsolutePathプロパティとリクエスト文字列 Console.WriteLine(u.PathAndQuery); //結果: /mycontext/xx/yy.aspx?a=a1&b=b1
参考資料
Uri クラス(System)
URLを解析する: .NET Tips: C#, VB.NET, Visual Studio
Sponsored Link
- Relative Articles
- VB.NETのHTTPダウンロード例 - (2011/08/10 15:23)