HttpClient不是一个浏览器,而是一个客户端HTTP传输类库。HttpClient作用是传输和接收HTTP消息。在HttpClient模块中用到了两个重要的类:HttpGet和HttpPost。这两个类分别用来提交HTTPGET和HTTPPOST请求。

接下来我们将使用以上的理论作为基础,然后进行一次连接http://www.ip138.com/ips138.asp查询ip所在地的实践:

首先我们要下的jar包:

httpclient-4.2.jar
httpclient-cache-4.2.jar
httpcore-4.2.jar
httpmime-4.2.jar
commons-logging-1.1.jar

我的查询ip的源码如下:

package com.java;
import java.io.IOException;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.htmlparser.NodeFilter;
import org.htmlparser.Parser;
import org.htmlparser.filters.TagNameFilter;
import org.htmlparser.util.NodeList;public class iptest {public static String ip2addr(String ip) throws Exception {DefaultHttpClient httpclient = new DefaultHttpClient();String html = "";try {HttpGet httpget = null;//创建HttpGet对象httpget = new HttpGet("http://www.ip138.com/ips138.asp?ip=" + ip + "&action=2");//使用execute方法发送HTTPGET请求,并返回HttpResponse对象HttpResponse response = httpclient.execute(httpget);//使用getEntity方法获得返回结果HttpEntity entity = response.getEntity();//读取response响应内容html = EntityUtils.toString(entity,"GB2312");//关闭底层流EntityUtils.consume(entity);} catch (IOException e) {throw e;} finally {httpclient.getConnectionManager().shutdown();}/*** 利用Parser解析HTML,将标签<li>下的内容存储到nodeList里,并获取第一个<li>下的内容,用split分割后获取最终的结果是 日本*/Parser myParser =Parser.createParser(html, "gb2312");NodeFilter filter =new TagNameFilter ("li");NodeList nodeList =myParser.parse(filter);System.out.println(nodeList);String result = nodeList.elementAt(0).toPlainTextString();System.out.println(result);String address = result.split(":")[1];return address;}public static void main(String[] args) {try {ip2addr("111.111.111.111");} catch (Exception e) {System.out.println("网络异常");}}}

程序执行结果:日本,可见111.111.111.111是小日本的ip。

java调用ip138实现ip地址查询相关推荐

  1. js和jQuery调用搜狐IP地址查询接口

    借鉴:https://blog.csdn.net/enweitech/article/details/52084346 搜狐IP地址查询接口(默认GBK):http://pv.sohu.com/cit ...

  2. Java | IP工具类(获取访问者的ip地址 查询IP地址)

    一.IpUtil package com.java.util;import com.fasterxml.jackson.annotation.JsonInclude; import com.faste ...

  3. java ip归属地查询_JAVA版IP地址查询调用示例

    package cn.juhe; import net.sf.json.JSONObject; import org.springframework.web.client.RestTemplate; ...

  4. 用java程序编写ip仿真器_用java 编写一个可以实现IP地址查询功能的课程设计

    展开全部 下面是获得本机IP地址的方法,跟你的程序捆绑起来,互相发送消息的时候直接将IP发送过去 private static String[] getAllLocalHostIP(){ 323131 ...

  5. java webservice ip_通过Web Service实现IP地址查询功能的示例

    实例01 实现一个简单的Web服务访问 本实例将实现IP地址查询接口服务,根据用户传入的IP地址返回IP所在的省.市.地区,实例中将会用到IP地址库用于查询信息,由于数据较多,所以读者可在光盘资源文件 ...

  6. 利用IP地址查询接口来查询IP归属地

    如果我们在项目中需要获得用户的地址,而不仅仅是获得用户的IP,为了避免在自己的数据库里添加IP库,可以直接调用网上的第3方IP地址查询接口来查询IP归属地.今儿个在网上了解了这些接口,要么返回XML, ...

  7. 使用阿里云的ip地址查询服务-使用免费版

    转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/54691857 本文出自[我是干勾鱼的博客] 之前在<使用阿里云的ip地址查 ...

  8. 通过ip地址查询远程服务器系统,通过ip地址查询远程服务器系统

    通过ip地址查询远程服务器系统 内容精选 换一换 日志记录了系统的运行情况和功能流程的处理情况,是维护人员查看系统状态.进行问题定位的重要工具和手段.日志模块根据系统设置的日志级别,记录不同详细程度的 ...

  9. 通过Web Service实现IP地址查询功能

    实例01  实现一个简单的Web服务访问 本实例将实现IP地址查询接口服务,根据用户传入的IP地址返回IP所在的省.市.地区,实例中将会用到IP地址库用于查询信息,由于数据较多,所以读者可在光盘资源文 ...

  10. 图片爬取和IP地址查询

    图片爬取: import requests import os url="https://img.alicdn.com/imgextra/i2/2208313525338/O1CN01qj2 ...

最新文章

  1. python可视化案例书籍推荐_这5款Python可视化神器,总有一款适合你!
  2. 教育学专硕考试科目计算机,2017考研:哪些专业的考试科目相同?
  3. XenApp_XenDesktop_7.6实战篇之十五:StoreFront的配置
  4. Hibernate反向生成映射文件点击Hibernate reserve Engineering的时候没反应的解决方法
  5. 连续四年百度Android岗必问面试题!Android校招面试指南
  6. 一次失败的蛋疼的设计
  7. ico图标下载 ico大全_我们可以做些什么来向ICO投资者保证我们不会用他们的钱消失...
  8. 2017.8.15 阿狸的打字机 失败总结
  9. maven创建一个web项目(springmvc项目)
  10. 结晶紫行业调研报告 - 市场现状分析与发展前景预测
  11. 海康相机SDK+halcon17(64位)+MFC+VS(64位)联合开发遇到的问题(在使用GenImage3Extern将RGB数据转换为halcon图像时出现异常情况处理)
  12. React中的三种类型组件介绍
  13. HTTP有哪些特点?
  14. mysql类exadata功能_查看Exadata的版本
  15. Java Web前后端分离架构
  16. 快速傅里叶变换蝶式运算 matlab,FFT快速傅里叶变换(蝶形算法)详解.ppt
  17. 炒股杠杆-API智能交易软件基本函数
  18. 重新训练大脑!这些APP可治愈心理疾病
  19. CAD软件中怎么裁剪参照?
  20. 元气骑士怎么用电脑玩 元气骑士手游模拟器教程

热门文章

  1. Excel的高级筛选——数据匹配
  2. python 检验两个样本均值是否相同_假设检验|第四章:置信区间和置信水平
  3. OAuth2 oauth_client_details表字段的详细说明
  4. 在Windows 2012 R2上安装Intel I217-V/I218-V网卡驱动
  5. 非常完美的PDF转换成Word转换器完全免费破解版(亲测好用)
  6. 利用百度云存储制作外链mp3音乐地址
  7. 【科学数据库】数据的合并与分组聚合||||||||
  8. INTEL CPU 内核漏洞问题该如何处理?
  9. 老徐WEB:js入门学习 - javascript对象之Array对象
  10. 如何以管理员身份运行powerShell