java实现将域名解析成ip示例

根据中国的国情,宽带共享遭受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());
 }

}

(0)

相关推荐

  • java实现ip地址与十进制数相互转换

    先看实例 代码如下 复制代码 代码如下: classip { privatestaticlongiptolong(stringstrip) //将127.0.0.1形式的ip地址转换成10进制整数,这里没有进行任何错误处理 { intj=0; inti=0; long[]ip=newlong[4]; intposition1=strip.indexof("."); intposition2=strip.indexof(".",position1+1); intpos

  • java获取ip地址示例

    如果使用了反向代理软件,将http://192.168.1.110:2046/ 的URL反向代理为http://www.xxx.com/ 的URL时,用request.getRemoteAddr()方法获取的IP地址是:127.0.0.1 或 192.168.1.110,而并不是客户端的真实IP. 经过代理以后,由于在客户端和服务之间增加了中间层,因此服务器无法直接拿到客户端的IP,服务器端应用也无法直接通过转发请求的地址返回给客户端.但是在转发请求的HTTP头信息中,增加了X-FORWARDE

  • java中通过网卡名称获取IP地址

    复制代码 代码如下: package me.xuzs.sso.test; import java.net.InetAddress;import java.net.NetworkInterface;import java.net.SocketException;import java.util.Enumeration; public class InternetTest { public static void main(String[] args) {        String netCard

  • java实现根据ip地址获取地理位置的代码分享

    前几天想给网站后台加个解析ip所在地理位置的功能,在网上看了一些博客,找了几段程序,但总觉得写的不够简洁,感觉很啰嗦.下面这个程序,感觉还算简洁,于是整理调试了一下,可以用,程序调用了"腾讯ip分享计划"提供的接口,当然也可以改成ip138提供的接口,不过这两个网站返回的字符串格式有些不同,要分别做解析. public String getAddressByIP() { try { String strIP = "0.0.0.0"; URL url = new UR

  • Java判断IP地址为内网IP还是公网IP的方法

    本文实例讲述了Java判断IP地址为内网IP还是公网IP的方法.分享给大家供大家参考.具体分析如下: tcp/ip协议中,专门保留了三个IP地址区域作为私有地址,其地址范围如下: 10.0.0.0/8:10.0.0.0-10.255.255.255 172.16.0.0/12:172.16.0.0-172.31.255.255 192.168.0.0/16:192.168.0.0-192.168.255.255 那么,直接上代码吧: 复制代码 代码如下: public static boolea

  • Java中使用HttpRequest获取用户真实IP地址

    在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid,nginx等反向代理软件就不能获取到客户端的真实IP地址了. 如果使用了反向代理软件,将http://192.168.1.110:2046/ 的URL反向代理为 http://www.jb51.net / 的URL时,用request.getRemoteAddr()方法获取的IP地址是:127.0.0.1 或 192.168.1.110

  • JAVA获得域名IP地址的方法

    本文实例讲述了JAVA获得域名IP地址的方法.分享给大家供大家参考.具体如下: import java.net.InetAddress; import java.net.UnknownHostException; public class TestInetAddress { InetAddress myIpAddress = null; InetAddress[] myServer = null; public static void main(String args[]) { TestInet

  • Java判断本机IP地址类型的方法

    复制代码 代码如下: package net; import java.net.*; /*  *  getAddress方法和getHostAddress类似,它们的唯一区别是getHostAddress方法返回的是字符串形式的IP地址,  *  而getAddress方法返回的是byte数组形式的IP地址.  *  Java中byte类型的取值范围是-128?127.如果返回的IP地址的某个字节是大于127的整数,在byte数组中就是负数.  *  由于Java中没有无符号byte类型,因此,

  • java实现将域名解析成ip示例

    根据中国的国情,宽带共享遭受dns污染和HTTP拦截非常严重,造成网络请求的不稳定.但是ip/tcp协议一般不受影响.因此可以把域名先解析成ip并保存,以后都用ip访问.客户端启动,把域名解析成ip,如果失败的话,测试先前的ip是否可用并鉴别ip真伪(同下).如果解析域名成功,发送加密信息到服务器返回解密后的内容来测试ip的真伪(保证不被dns污染).如果可能的话避免使用http协议,使用自定义协议.对于手机客户端,甚至可以先用移动网络解析域名,再使用自架设的WiFi热点.以上方法仅对宽带检测后

  • java将一个整数转化成二进制代码示例

    将一个整数转化成二进制的方法: 1 方法1:使用BigInteger类: @Test public void test1(){ BigInteger b=new BigInteger("10");//1010 System.out.println(b.toString(2));//0 b=new BigInteger("1"); System.out.println(b.toString(2));//1 b=new BigInteger("255"

  • 基于Python把网站域名解析成ip地址

    起因 因为一些事情,需要将域名解析为ip地址,想到Python作为万能语言,就用Python来实现这个功能 代码 import socket url = 'shiyixirui.cn' res = socket.getaddrinfo(url, None) print(res) ip = res[0][4][0] print(ip) 结果 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们.

  • 使用Java实现DNS域名解析的简单示例

    普通的域名解析方法: import java.net.*; public class Kkkk { public static void main(String args[]) throws Exception { InetAddress address = InetAddress.getByName("wxh-PC");// wxh-PC是我的计算机名 System.out.println(address); System.out.println("-----")

  • Python 实现域名解析为ip的方法

    今天得了一批域名,需要把域名解析成ip 因为量比较大所以采用了多进程和队列的方式 from multiprocessing import Process,Queue,Pool import socket import multiprocessing import os #写入文件 def write(q,lock,filename): while not q.empty(): url = q.get() print (url) try: ip = socket.gethostbyname(url

  • java把字符串转化成公式计算的示例

    如下所示: static ScriptEngine jse = new ScriptEngineManager().getEngineByName("JavaScript"); Object aa = jse.eval(indexFormula) 以上这篇java把字符串转化成公式计算的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • Java多线程编程实现socket通信示例代码

    流传于网络上有关Java多线程通信的编程实例有很多,这一篇还算比较不错,代码可用.下面看看具体内容. TCP是Tranfer Control Protocol的 简称,是一种面向连接的保证可靠传输的协议.通过TCP协议传输,得到的是一个顺序的无差错的数据流.发送方和接收方的成对的两个socket之间必须建 立连接,以便在TCP协议的基础上进行通信,当一个socket(通常都是server socket)等待建立连接时,另一个socket可以要求进行连接,一旦这两个socket连接起来,它们就可以

  • Java基于HttpClient实现RPC的示例

    目录 1 HttpClient简介 2 代码实现 2.1 服务端 2.1.1 新建控制器 2.1.2 新建启动器 2.2 客户端 2.2.1 添加依赖 2.2.2 新建类 3. Jackson用法 3.1 把对象转换为json字符串 3.2 把json字符串转换为对象 3.3 把json字符串转换为List集合 4 HttpClient请求包含JSON 4.1 java代码实现 5 控制器接口参数 6 Ajax发送json参数写法 7 跨域 1 HttpClient简介 在JDK中java.ne

  • Java根据Request获取客户端IP

    在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr() ,这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了. 如果使用了反向代理软件,将http://192.168.1.110:2046/ 的URL反向代理为http://www.xxx.com/ 的URL时,用request.getRemoteAddr() 方法获取的IP地址是:127.0.0.1 或 192.168.1.110 ,而并不是客

  • java简单实现八叉树图像处理代码示例

    一晃工作有段时间了,第一次写博客,有点不知道怎么写,大家将就着看吧,说的有什么不正确的也请大家指正. 最近工作中用到了一个图像压缩的功能.找了一些工具,没有太好的选择.最后选了一个叫jdeli的,奈何效率又成了问题.我迫于无奈就只能研究了下它的源码,却发现自己对它的一个减色量化算法起了兴趣,可是尴尬的自己完全不明白它写的什么,就起了一个自己实现一个量化颜色算法的念头. 自己找了一些资料,找到三个比较常用的颜色处理算法: 流行色算法: 具体的算法就是,先对一个图像的所有颜色出现的次数进行统计,选举

随机推荐