java實(shí)現(xiàn)將域名解析成ip示例
根據(jù)中國(guó)的國(guó)情,寬帶共享遭受dns污染和HTTP攔截非常嚴(yán)重,造成網(wǎng)絡(luò)請(qǐng)求的不穩(wěn)定.但是ip/tcp協(xié)議一般不受影響。因此可以把域名先解析成ip并保存,以后都用ip訪(fǎng)問(wèn)??蛻?hù)端啟動(dòng),把域名解析成ip,如果失敗的話(huà),測(cè)試先前的ip是否可用并鑒別ip真?zhèn)?同下)。如果解析域名成功,發(fā)送加密信息到服務(wù)器返回解密后的內(nèi)容來(lái)測(cè)試ip的真?zhèn)?保證不被dns污染)。如果可能的話(huà)避免使用http協(xié)議,使用自定義協(xié)議。對(duì)于手機(jī)客戶(hù)端,甚至可以先用移動(dòng)網(wǎng)絡(luò)解析域名,再使用自架設(shè)的WiFi熱點(diǎn)。以上方法僅對(duì)寬帶檢測(cè)后不完全斷網(wǎng)有效。
import java.net.InetAddress;
import java.net.UnknownHostException;
public class ParseDomainName {
InetAddress myServer = null;
InetAddress myIPaddress = null;
String domainName = null;
public ParseDomainName(String domainName) {
this.domainName = domainName;
}
public InetAddress getServerIP() {
try {
myServer = InetAddress.getByName(domainName);
} catch (UnknownHostException e) {
}
return (myServer);
}
// 取得LOCALHOST的IP地址
public InetAddress getMyIP() {
try {
myIPaddress = InetAddress.getLocalHost();
} catch (UnknownHostException e) {
}
return (myIPaddress);
}
public static void main(String[] args) {
ParseDomainName pdn = new ParseDomainName("www.baidu.com");
System.out.println("Your host IP is: " + pdn.getMyIP().getHostAddress());
System.out.println("The Server IP is :" + pdn.getServerIP().getHostAddress());
}
}
相關(guān)文章
Eclipse的Debug調(diào)試技巧大全(總結(jié))
這篇文章主要介紹了Eclipse的Debug調(diào)試技巧大全(總結(jié)),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-12-12基于Java中最常用的集合類(lèi)框架之HashMap(詳解)
下面小編就為大家?guī)?lái)一篇基于Java中最常用的集合類(lèi)框架之HashMap(詳解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11Java中回調(diào)函數(shù)?(callback)?及其實(shí)際應(yīng)用場(chǎng)景
在Java中回調(diào)函數(shù)(Callback)是一種常見(jiàn)的設(shè)計(jì)模式,用于實(shí)現(xiàn)異步操作或事件處理,這篇文章主要給大家介紹了關(guān)于Java中回調(diào)函數(shù)?(callback)?及其實(shí)際應(yīng)用場(chǎng)景的相關(guān)資料,需要的朋友可以參考下2024-02-02Mybatis返回結(jié)果封裝map過(guò)程解析
這篇文章主要介紹了Mybatis返回結(jié)果封裝map過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09一篇超詳細(xì)的Spring Boot對(duì)jdbc支持的文章
JdbcTemplate 是在JDBC API基礎(chǔ)上提供了更抽象的封裝,并提供了基于方法注解的事務(wù)管理能力。 通過(guò)使用SpringBoot自動(dòng)配置功能并代替我們自動(dòng)配置beans,下面給大家介紹spring boot中使用JdbcTemplate相關(guān)知識(shí),一起看看吧2021-07-07MyBatis?ofType和javaType的區(qū)別說(shuō)明
這篇文章主要介紹了MyBatis?ofType和javaType的區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02MyBatis中insert操作返回主鍵的實(shí)現(xiàn)方法
在使用MyBatis做持久層時(shí),insert語(yǔ)句默認(rèn)是不返回記錄的主鍵值,而是返回插入的記錄條數(shù)。這篇文章主要介紹了MyBatis中insert操作返回主鍵的方法,需要的朋友可以參考下2016-09-09Java基于WebMagic爬取某豆瓣電影評(píng)論的實(shí)現(xiàn)
這篇文章主要介紹了Java基于WebMagic爬取某豆瓣電影評(píng)論的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03