IPを抽出して返したいと思います。ような何か文字列からIPアドレスを取得する(Groovy)
def getIPfromString (myString) {
..
return IP
}
IP = getIPfromString("ftp://192.168.13.108/720_prev")
print " IP Address : " + IP
出力:
IP Address : 192.168.13.108
IPを抽出して返したいと思います。ような何か文字列からIPアドレスを取得する(Groovy)
def getIPfromString (myString) {
..
return IP
}
IP = getIPfromString("ftp://192.168.13.108/720_prev")
print " IP Address : " + IP
出力:
IP Address : 192.168.13.108
あなたはGroovyのマジック;-)
String getAddressFromString(String url) {
url.toURL().host
}
String ip = getAddressFromString('ftp://192.168.13.108/720_prev')
println "IP Address : $ip"
(要求された通り)出力のダッシュでJavaのURLクラスを使用することができます。
IP Address : 192.168.13.108
URLに既にth IPアドレスをURLに変換してIPを抽出しますが、ドメインのホスト名(例: www.stackoverflow.com)がURLホストコンポーネントで見つかった場合、アドレスに解決されるDNSルックアップを実行する必要があります。これには、Java APIのInetAddress.getByName()への呼び出しが必要です。
URLに既にアドレスがある場合は、InetAddress.getByName()はそのままアドレスをそのまま返します。また、ホスト名をアドレスに解決できない場合は、例外の処理に対処する必要があります。
String getAddressFromString(String url)
throws MalformedURLException, UnknownHostException
{
String host = url.toURL().host
// this would be equivalent to calling new URL(url).getHost()
return InetAddress.getByName(host).getHostAddress()
}
String ip = getAddressFromString("http://stackoverflow.com/")
println "IP Address : $ip"
出力:
IP Address : 69.59.197.21
これは 'HTTPのために働くようだ:'、私は 'SSLのためにそれを使用しようとすると::'や 'ftpの' URL私が手: 'キャッチ:java.net.MalformedURLException:不明なプロトコル:ssl' 私はtoURL()メソッドがsslプロトコルのURLを認識するとは思わない。 – cognoscente