ホスト名の代わりに解決されたIPアドレスを使用してサーバーに接続したいと思います。これが私のコードスニペットです:
// Get domain name from URL
String domainName = url.substring("http://".length(),
url.indexOf("/", 8));
// Get IP address as string
InetAddress inet = null;
try {
inet = InetAddress.getByName(domainName);
} catch (UnknownHostException e) {
Log.i(TAG, "The IP address cannot be resolved for " + domainName);
}
resolvedIP = inet.getHostAddress();
ここで、IPアドレスを正常に取得できます。今、私は以下のように私のURLを置き換えようとします:
url = url.replace(domainName, resolvedIP);
Now I connect to server:
URL download = new URL(url);
conn = (HttpURLConnection) url.openConnection();
conn.getInputStream(); //Throws IO Exception
URLをそのまま使用すると(ドメイン名をIPアドレスに置き換えずに)正常に接続できます。
私が正しくやっているかどうか教えてください。