Jika Anda menggunakan HTTPDNS dalam lingkungan jaringan hanya IPv6, perhatikan poin-poin berikut:
-
Saat menggunakan URL alamat IP untuk membuat permintaan jaringan, format alamat IPv4 dan IPv6 berbeda.
IPv4: http://1.1.1.1/path
IPv6: http://[2001:db8:c000:221::]/path
Seperti yang ditunjukkan dalam contoh sebelumnya, letakkan alamat IPv6 di dalam tanda kurung dalam URL.
Untuk memudahkan pengembang, HTTPDNS menyediakan operasi pengambilan IP berikut yang menyesuaikan dengan format URL yang berbeda:
-[HTTPDNS Service getIpByHostAsyncInURLFormat:]. -
Saat mendapatkan alamat IP menggunakan HTTPDNS dan menggunakan alamat IP tersebut untuk mengakses jaringan berbasis URL, Anda dapat memanggil operasi sebelumnya untuk mendapatkan alamat IP yang diformat sesuai dengan URL spesifik skenario, seperti *1.1.1.1* dan *[2001:db8:c000:221::]*.
Jika Anda hanya ingin mendapatkan informasi alamat IP yang akurat untuk tujuan lain, Anda dapat terus memanggil operasi lama:
-[HttpDnsService getIpByHostAsync:].
Mengaktifkan resolusi IPv6
Konfigurasikan apakah akan mengaktifkan resolusi IPv6. Jika resolusi IPv6 diaktifkan, Anda dapat memulai permintaan untuk menyelesaikan nama domain ke alamat IPv6.
Setelah mengaktifkan resolusi IPv6, panggil
getIPv6ByHostAsync:untuk menggunakan fitur ini.Setelah mengaktifkan resolusi IPv6, SDK tidak lagi secara otomatis mengonversi alamat IPv4 yang diselesaikan menjadi alamat IPv6 dalam lingkungan jaringan hanya IPv6. Anda dapat memanggil
getIpsByHostAsync:untuk mendapatkan alamat IPv4 dangetIPv6ByHostAsync:untuk mendapatkan alamat IPv6.
Operasi API
- (void)enableIPv6:(BOOL)enable;
Parameter
Parameter | Tipe | Diperlukan | Deskripsi |
|---|---|---|---|
enable | BOOL | Ya | Menentukan apakah akan mengaktifkan resolusi IPv6. Nilai default: TIDAK. |
Resolusi IPv6 asinkron nama domain
Setelah mengaktifkan fitur ini, Anda dapat menyelesaikan nama domain ke alamat IPv6 secara asinkron. Dengan syarat bahwa resolusi IPv6 diaktifkan, jika nama domain memiliki alamat IPv6 yang sesuai, nama domain tersebut akan diselesaikan ke alamat IPv6. Sebagai contoh, jika alamat IPv4 dan IPv6 yang sesuai dari nama domain ipv6.sjtu.edu.cn adalah 192.168.XX.XX dan 2001:da8:8000:1:0:0:XX:XX, masing-masing, nama domain tersebut diselesaikan ke 2001:da8:8000:1:0:0:XX:XX.
Jika resolusi IPv6 tidak diaktifkan, nilai null dikembalikan.
Operasi API
- (NSString *)getIPv6ByHostAsync:(NSString *)host;
Parameter
Parameter | Tipe | Diperlukan | Deskripsi |
|---|---|---|---|
host | NSString | Ya | Nama domain. |
Resolusi IPv4 dan IPv6 secara bersamaan
Alamat IPv4 dan IPv6 diperiksa pada saat yang sama, dan sebuah kamus dikembalikan. Nilai yang sesuai untuk setiap kunci dalam kamus:
IPv4: ALICLOUDHDNS_IPV4
IPv6: ALICLOUDHDNS_IPV6
Format setiap kunci dalam kamus:
{
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']
}
Operasi API
- (NSDictionary <NSString *, NSArray *>*)getIPv4_v6ByHostAsync:(NSString *)host;
Parameter
Parameter | Tipe | Diperlukan | Deskripsi |
|---|---|---|---|
host | NSString | Ya | Nama domain. |