すべてのプロダクト
Search
ドキュメントセンター

HTTPDNS:ドメイン名を IPv6 アドレスに非同期で解決する

最終更新日:Jan 18, 2025

重要

IPv6 専用ネットワーク環境で HTTPDNS を使用する場合は、次の点に注意してください。

  • IP アドレス URL を使用してネットワークリクエストを行う場合、IPv4 アドレスと IPv6 アドレスの形式が異なります。

    • IPv4: http://1.1.1.1/path

    • IPv6: http://[2001:db8:c000:221::]/path

    前の例に示すように、URL では IPv6 アドレスを角かっこで囲みます。

    開発者の便宜のために、HTTPDNS は、異なる URL 形式に適応する次の IP 取得操作を提供します。-[HTTPDNS Service getIpByHostAsyncInURLFormat:]

  • HTTPDNS を使用して IP アドレスを取得し、その IP アドレスを使用して URL ベースのネットワークにアクセスする場合、上記の操作を呼び出して、*1.1.1.1* や *[2001:db8:c000:221::]* など、シナリオ固有の URL に準拠するフォーマット済み IP アドレスを取得できます。

    他の何かのために正確な IP アドレス情報のみを取得したい場合は、引き続き古い操作 -[HttpDnsService getIpByHostAsync:] を呼び出すことができます。

IPv6 解決を有効にする

IPv6 解決を有効にするかどうかを設定します。 IPv6 解決が有効になっている場合、ドメイン名を IPv6 アドレスに解決するリクエストを開始できます。

重要

  • IPv6 解決を有効にした後、getIPv6ByHostAsync: を呼び出して機能を使用します。

  • IPv6 解決を有効にした後、SDK は IPv6 専用ネットワーク環境で解決された IPv4 アドレスを IPv6 アドレスに自動的に変換しなくなります。 getIpsByHostAsync: を呼び出して IPv4 アドレスを取得し、getIPv6ByHostAsync: を呼び出して IPv6 アドレスを取得できます。

API 操作

 - (void)enableIPv6:(BOOL)enable;

パラメーター

パラメーター

タイプ

必須

説明

enable

BOOL

はい

IPv6 解決を有効にするかどうかを指定します。デフォルト値: NO。

ドメイン名の非同期 IPv6 解決

説明

この機能を有効にすると、ドメイン名を IPv6 アドレスに非同期で解決できます。 IPv6 解決が有効になっているという条件で、ドメイン名に対応する IPv6 アドレスがある場合、ドメイン名は IPv6 アドレスに解決されます。たとえば、ipv6.sjtu.edu.cn ドメイン名に対応する IPv4 アドレスと IPv6 アドレスがそれぞれ 192.168.XX.XX と 2001:da8:8000:1:0:0:XX:XX の場合、ドメイン名は 2001:da8:8000:1:0:0:XX:XX に解決されます。

重要

IPv6 解決が有効になっていない場合は、null が返されます。

API 操作

 - (NSString *)getIPv6ByHostAsync:(NSString *)host;

パラメーター

パラメーター

タイプ

必須

説明

host

NSString

はい

ドメイン名。

IPv4 と IPv6 の同時解決

説明

IPv4 アドレスと IPv6 アドレスは同時にクエリされ、辞書が返されます。辞書の各キーに対応する値:

IPv4:ALICLOUDHDNS_IPV4

IPv6:ALICLOUDHDNS_IPV6

辞書の各キーの形式:

{

ALICLOUDHDNS_IPV4: ['xxx.xxx.xxx.xxx', 'xxx.xxx.xxx.xxx'],

ALICLOUDHDNS_IPV6: ['xx:xx:xx:xx:xx:xx:xx:xx', 'xx:xx:xx:xx:xx:xx:xx:xx']

}

API 操作

- (NSDictionary <NSString *, NSArray *>*)getIPv4_v6ByHostAsync:(NSString *)host;

パラメーター

パラメーター

タイプ

必須

説明

host

NSString

はい

ドメイン名。