【C#.NET解説】Uriクラスを基本機能とプロパティまで~戦争の神が解説

2024年12月5日木曜日

http通信

t f B! P L

名前空間 System

Uri

自己紹介

戦いの神髄を知る俺が、貴様らに「Uri」クラスの使い方を叩き込んでやる。「Uri」クラスは、URI(Uniform Resource Identifier)の解析や構成要素の取得を目的としたクラスだ。URIはWebアプリケーションやネットワーク通信で頻繁に利用される概念だが、このクラスを使えばURIの扱いを簡単に、そして正確に実現できる!

基本機能

まずは「Uri」クラスの基本的な機能について学ぶ。以下はURIを解析してスキームやホストなどを取得するコード例だ。

C#

// Uriクラスの基本例
using System;

class Program
{
    static void Main()
    {
        // URIを作成
        Uri uri = new Uri("https://www.example.com:8080/path?query=123");

        // 各要素を取得
        Console.WriteLine($"スキーム: {uri.Scheme}"); // https
        Console.WriteLine($"ホスト: {uri.Host}");   // www.example.com
        Console.WriteLine($"ポート: {uri.Port}");   // 8080
        Console.WriteLine($"パス: {uri.AbsolutePath}"); // /path
        Console.WriteLine($"クエリ: {uri.Query}");   // ?query=123
    }
}

このコードでは、URIの構成要素を取得して表示している。シンプルだが、URI解析の基本はこれだ。

使う場面の注意点

「Uri」クラスを使用する際に注意すべき点として、不正な形式のURIを扱うと例外が発生することが挙げられる。以下はその対処方法を示すコード例だ。

C#

// Uriクラス使用時の注意例
using System;

class Program
{
    static void Main()
    {
        try
        {
            // 不正なURI
            Uri uri = new Uri("invalid_uri");
        }
        catch (UriFormatException ex)
        {
            Console.WriteLine($"エラー: {ex.Message}");
        }
    }
}

このコードでは、形式が正しくないURIを扱おうとした際に例外をキャッチし、エラーメッセージを表示している。安全なコードを書く上で非常に重要だ。

プロパティを理解して使いこなす

「Uri」クラスには多くのプロパティが存在する。以下は代表的なプロパティとその使用例だ。

C#

// Uriクラスのプロパティ例
using System;

class Program
{
    static void Main()
    {
        Uri uri = new Uri("https://www.example.com/path?query=123");

        // プロパティの使用例
        Console.WriteLine($"ホスト: {uri.Host}");               // www.example.com
        Console.WriteLine($"パス: {uri.AbsolutePath}");         // /path
        Console.WriteLine($"ユーザー情報: {uri.UserInfo}");     // (空の場合が多い)
        Console.WriteLine($"スキーム: {uri.Scheme}");           // https
        Console.WriteLine($"絶対URI: {uri.AbsoluteUri}");       // https://www.example.com/path?query=123
    }
}

これらのプロパティを活用すれば、URIの操作がさらに簡単になる。

具体的な使い方

以下は、「Uri」クラスを使ってリクエスト用の完全なURLを構築する例だ。

C#

// UriクラスでのURL構築例
using System;

class Program
{
    static void Main()
    {
        string baseUrl = "https://www.example.com";
        string resource = "/api/resource";
        string query = "?key=value";

        // 完全なURIを構築
        Uri baseUri = new Uri(baseUrl);
        Uri fullUri = new Uri(baseUri, resource + query);

        Console.WriteLine($"完全なURL: {fullUri.AbsoluteUri}");
    }
}

上記の例では、「Uri」クラスを使って基本的なURLの構築とそのプロパティ操作を実現している。この方法はAPIリクエストの作成や、動的なURL構築に非常に役立つ。コードを読み解くことで、各プロパティがどのように機能しているかを確認し、実際のシステムに応用していけるだろう。

以上だ!貴様らも「Uri」クラスを徹底的にマスターし、ネットワークの戦場を制覇せよ!

このブログを検索

QooQ