- 浏览: 120910 次
- 性别:
- 来自: 南宁
文章分类
最新评论
package Test;
import java.awt.Font;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.SocketTimeoutException;
import java.net.URL;
import java.net.UnknownHostException;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.Timer;
public class CatchWeb {
/**
* 获取网站源码
* @param basePath
* @param childPath
* @return
* @throws SocketTimeoutException
*/
public String getWebSource(String basePath, String childPath){
StringBuffer sb = new StringBuffer("");
try {
URL url = new URL(basePath + childPath);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
// con.setFollowRedirects(true);
con.setInstanceFollowRedirects(false);
con.setConnectTimeout(20000);
con.connect();
BufferedReader br = new BufferedReader(new InputStreamReader(con
.getInputStream()));
String s = "";
while ((s = br.readLine()) != null) {
sb.append(s + "\r\n");
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return sb.toString();
}
/********************* 匹配信息的方法 **********************/
public String getCity(String source) {
if (source != null) {
source = source.substring(source.indexOf("来自"), source
.indexOf("<br/>"));
}
return source;
}
public String getIP(String source) {
if (source != null) {
source = source.substring(source.indexOf("[") + 1, source
.indexOf("]"));
}
return source;
}
public static void main(String[] args) {
CatchWeb catchWeb = new CatchWeb();
/**************** JFrame设置 *******************/
JFrame jf = new JFrame("获取IP");
JPanel jp = new JPanel();
JLabel label = new JLabel();
label.setFont(new Font("微软雅黑", Font.LAYOUT_LEFT_TO_RIGHT, 12));
jp.add(label);
jf.add(jp);
jf.setVisible(true);
jf.setBounds(400, 200, 200, 80);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
/**************** 连接设置 *******************/
String basePath = "http://www.ip138.com/";
String ipurl = "ip2city.asp";
String cityurl = "ips.asp";
String ip = null;
String city = null;
try{
label.setText("连接中...");
ip = catchWeb.getIP(catchWeb.getWebSource(basePath, ipurl));
city = catchWeb.getCity(catchWeb.getWebSource(basePath, cityurl
+ "?" + ip));
}catch(Exception e){
label.setText("连接超时,请检查网络!");
label.repaint();
}
if(ip != null && city != null){
label.setText("<html>您的IP是:" + ip + "<br/>" + city + "</html>");
label.repaint();
}
// System.out.println("您的IP是:" + ip + "\r\n" + city);
}
}
import java.awt.Font;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.SocketTimeoutException;
import java.net.URL;
import java.net.UnknownHostException;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.Timer;
public class CatchWeb {
/**
* 获取网站源码
* @param basePath
* @param childPath
* @return
* @throws SocketTimeoutException
*/
public String getWebSource(String basePath, String childPath){
StringBuffer sb = new StringBuffer("");
try {
URL url = new URL(basePath + childPath);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
// con.setFollowRedirects(true);
con.setInstanceFollowRedirects(false);
con.setConnectTimeout(20000);
con.connect();
BufferedReader br = new BufferedReader(new InputStreamReader(con
.getInputStream()));
String s = "";
while ((s = br.readLine()) != null) {
sb.append(s + "\r\n");
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return sb.toString();
}
/********************* 匹配信息的方法 **********************/
public String getCity(String source) {
if (source != null) {
source = source.substring(source.indexOf("来自"), source
.indexOf("<br/>"));
}
return source;
}
public String getIP(String source) {
if (source != null) {
source = source.substring(source.indexOf("[") + 1, source
.indexOf("]"));
}
return source;
}
public static void main(String[] args) {
CatchWeb catchWeb = new CatchWeb();
/**************** JFrame设置 *******************/
JFrame jf = new JFrame("获取IP");
JPanel jp = new JPanel();
JLabel label = new JLabel();
label.setFont(new Font("微软雅黑", Font.LAYOUT_LEFT_TO_RIGHT, 12));
jp.add(label);
jf.add(jp);
jf.setVisible(true);
jf.setBounds(400, 200, 200, 80);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
/**************** 连接设置 *******************/
String basePath = "http://www.ip138.com/";
String ipurl = "ip2city.asp";
String cityurl = "ips.asp";
String ip = null;
String city = null;
try{
label.setText("连接中...");
ip = catchWeb.getIP(catchWeb.getWebSource(basePath, ipurl));
city = catchWeb.getCity(catchWeb.getWebSource(basePath, cityurl
+ "?" + ip));
}catch(Exception e){
label.setText("连接超时,请检查网络!");
label.repaint();
}
if(ip != null && city != null){
label.setText("<html>您的IP是:" + ip + "<br/>" + city + "</html>");
label.repaint();
}
// System.out.println("您的IP是:" + ip + "\r\n" + city);
}
}
发表评论
-
android 横屏重启的解决方案
2011-09-19 15:45 1594Android每次屏幕的横竖切换Activity会重新OnCr ... -
java 类的序列化
2011-08-30 11:57 832序列化: 可以将一个对象保存到一个文件,所以可以通过流的方式 ... -
android全屏显示的方法
2011-08-15 11:16 1470我们在开发程序是经常会需要软件全屏显示、自定义标题(使用按钮等 ... -
模仿AJAX上传文件
2011-07-27 11:08 0首先要说的就是 ajax 是无法实现上传文件的,可以想一下aj ... -
模仿AJAX上传文件
2011-07-27 11:08 658首先要说的就是 ajax 是无法实现上传文件的,可以想一下aj ... -
模仿AJAX上传文件
2011-07-27 11:07 703首先要说的就是 ajax 是无法实现上传文件的,可以想一下aj ... -
模仿AJAX上传文件
2011-07-27 11:07 896首先要说的就是 ajax 是无法实现上传文件的,可以想一下aj ... -
java链接数据库乱码解决方案
2011-05-20 17:56 1274Java乱码问题解决方 ... -
java 连接数据库实例
2011-03-16 11:43 1018package com.dao;import java.sql ... -
java html标签过滤类
2011-02-12 00:24 1213import java.util.regex.Matcher; ... -
java 批量下载图片,批量打包文件并下载
2011-02-11 14:15 17271、批量下载网页上,动态生成的图片到服务器上指定的目录中 2、 ... -
myeclipse 注册的方法
2011-02-11 00:42 692import java.io.BufferedReader;i ... -
利用java.net包访问网络,连接网页并返回html页面代码
2011-02-11 00:28 1447package org.kevin;import java.n ... -
Java清除HTML标签
2011-02-11 00:14 1568使用正则表达式删除HTML标签。 import ja ... -
j2me 环境搭建
2011-01-17 09:17 851用Eclipse和WTK搭建J2ME开发环境 关键字: j2 ... -
jdbc 连接sql2008的问题解决
2010-12-31 16:24 1568首先下JDBC4,然后解压在C ... -
Struts 开发帮助文件
2010-12-25 23:58 598一、 概述struts是基于当前的一些相关标准的开发技术 ... -
java给图片加图片水印
2010-12-08 21:00 796package com.test;import java.aw ... -
java连接数据库大全
2010-11-06 10:30 773JAVA连接数据库大全 关键字: 数据库连接大全 J ... -
两个数组求并集
2010-10-26 22:59 1889对两个数组求并集,由于对数组的操作不是很熟悉,所以将数组中的数 ...
相关推荐
### Java 获取外网 IP 的实现方法 在现代网络应用中,获取本机的外网 IP 地址是一项常见的需求。例如,在服务器管理、网络安全、分布式系统等场景中,经常需要知道自己的公共 IP 地址。Java 作为一种广泛使用的编程...
java获取当前主机的外网ip,简单方便。
通过url链接到一个网址,该网址返回自己的ip地址(通过代理服务器访问)
你遇到过本地IP192.168.0.1但你想取到自己的外网IP或自己的省市区吗?这些统统都不是事,是事也就烦一会,下载下来执行main方法便可获取到位置和IP。带解析JAR包,最权威最给力的最最最最权威的方法。市面上绝对没有...
Java获取Linux服务器上的IP操作 Java获取Linux服务器上的IP操作是Java开发中的一项重要任务。然而,在Linux服务器上获取IP地址却存在一些问题。在本文中,我们将详细介绍Java获取Linux服务器上的IP操作,包括Linux...
外网IP 内网IP 获取IP 解决java不易获取外网IP
随手写的一个Winfrom小程序,首先...我在网上看了好多关于获取外网IP的帖子,试了好多都获取不到外网的IP获取到是只是一段HTML代码,我在他们的基础上加了个webBrowser控件实现了这个功能,有兴趣的朋友可以下载看看
java代码得到外网ip地址,java调net webservice远程联调用得着
通常,用户都是通过路由...我是通过访问www.ip138.com来获取外网IP,并用JFrame显示。该方法的关键是正确的ip138查询网站的URL。目前能成功获取,若获取失败请更改源代码中URL。更改方法详见"url更改方法.txt"文件。
1:通过WWW.IP138.COM来获得本机的外网IP地址 2:针对网上的其它实例增加实时更新IP地址功能,防止断网重连后IP地址显示不正确 3:增加一条命令,用来解决MSXML2.XMLHTTP和Microsoft.XMLHTTP老是读旧缓存导致IP地址...
在Java编程中,根据IP地址获取国家和地区名称是一项常见的需求,尤其在数据分析、网络监控或者用户定位等场景中。这个话题涉及到的主要知识点包括IP地址处理、数据库查询以及使用第三方库。 首先,IP地址是一个32位...
在Java编程中,判断一个IP地址是内网IP(私有IP)还是公网IP(全局IP)是一项常见的任务,尤其在网络编程和服务器配置中。内网IP通常用于局域网内部通信,而公网IP则是互联网上的唯一标识。下面将详细探讨如何实现这...
这篇文章是对上篇文章获取外网ip和ip定位的修订版,上篇文章中得到的外网ip是服务器端的外网ip,而不是客户端的外网ip,此篇文章进行修改,得到客户端的外网ip和根据ip定位,上篇文章给大家带来的不便,请谅解。
该源码主要是通过java StringBoot 项目编写的一个动态修改DDNS的工具类,每隔15秒回去网上获取一次外网IP。 使用时在ddns\src\main目录下找到application.yml配置文件然后更改成自己的信息 ddns: aliyun: domain: ...
通过异步任务来获取当前用户的ip地址,使用的时候调用getRemoteIP方法就可以,需要传一个可以获取公网ip的url地址,这个百多很多,比如,搜狐,淘宝之类的都有,同时还有一个超时的任务,具体看代码了
简易java查询IP归属地示例代码。 面向中国大陆地区的 手机号码、电话号码、IP地址 归属地查询库。 IP地址库来源于 [ip2region](http://git.oschina.net/lionsoul/ip2region)。 手机号码段和电话号码区号信息来源于 ...
5. **选择合适的IP**:在多网络接口的情况下,可能有多个IP地址,比如内网IP和外网IP。如果需要选择一个对外提供服务的IP,一般会选择非链接本地地址(Link-local address,如169.254.0.0/16)和非多播地址的IP。 6...
Android开发获取手机内网IP地址与外网IP地址的方法与源码实例 Android开发中,获取手机内网IP地址和外网IP地址是非常重要的技术点,对于Android应用开发者来说,获取当前Android设备所使用的网络IP地址的场景是...
- **IP查询工具**允许用户获取其设备的当前IP地址,包括内网IP和外网IP。这通常通过向特定的网站或应用发送请求来实现,这些网站或应用返回用户的IP信息。 5. 网络诊断: - 这种工具不仅可以显示IP地址,还可以...