根據中國的國情,寬頻共享遭受dns污染和HTTP攔截非常嚴重,造成網路請求的不穩定.但是ip/tcp協定一般不受影響。因此可以把網域先解析成ip並保存,以後都用ip訪問。客戶端啟動,把網域解析成ip,如果失敗的話,測試先前的ip是否可用並鑑別ip真偽(同下)。如果解析網域成功,傳送加密訊息到伺服器回傳解密後的內容來測試ip的真偽(保證不被dns污染)。如果可能的話避免使用http協議,使用自訂協議。對於手機用戶端,甚至可以先用行動網路解析域名,再使用自架設的WiFi熱點。以上方法僅對寬頻偵測後不完全斷網有效。
複製代碼代碼如下:
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());
}
}