如今买票是一大难事,在高峰时段 打开12306网站,慢的像蜗牛,想到以前用修改hosts文件来登录Google(Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统再会将网址提交DNS域名解析服务器进行IP地址的解析。),那么我也来试试这种方法来登录下12306,用搜索找到几个解析IP的网站,试了下,果然奏效(现在).为了方便使用,我把IP写到本地文件.

下面是JAVA的相关代码,显示把IP写到D盘的ip.txt中.

package Demo;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.RandomAccessFile;
import java.net.HttpURLConnection;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern; public class testREG_IP { // 指定文件路径和名称
private static String path = "D:/ip.txt";
private static File fileName = new File(path);
private static String readStr = "";
private static BufferedReader bufferReader; public static void main(String[] args) throws IOException {
//网址
String path = "http://www.17ce.com/site/http/201401_17ccef99e3d1ca9c19aea3c3d19136dc.html";
//正则表达式,过滤IP格式
String regex = "\\d+\\.\\d+\\.\\d+\\.\\d+";
String ipText = getWeb(path, regex);
createTxtFile();
readTxtFile();
System.out.println(ipText);
writeTxtFile(ipText);
}
/**
* 创建文件
*
* @throws IOException
*/
private static void createTxtFile() throws IOException {
if (!fileName.exists()) {
fileName.createNewFile();
System.err.println(fileName + " 已创建!");
}
} /**
* 读文件
*/
public static String readTxtFile() {
String read;
FileReader fileread;
try {
fileread = new FileReader(fileName);
bufferReader = new BufferedReader(fileread);
try {
while ((read = bufferReader.readLine()) != null) {
readStr = readStr + read + "\r\n";
}
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
return readStr;
} /**
* 写文件
*/
public static void writeTxtFile(String newStr) throws IOException {
// 追加内容
String filein = newStr + "\r\n" + readStr + "\r\n";
RandomAccessFile mm = null;
try {
mm = new RandomAccessFile(fileName, "rw");
mm.writeBytes(filein);
System.out.println("写入成功");
} catch (IOException e1) {
System.out.println("写入失败");
e1.printStackTrace();
} finally {
if (mm != null) {
try {
mm.close();
} catch (IOException e2) {
System.out.println("写入失败");
e2.printStackTrace();
}
}
}
}
//获取ip
public static String getWeb(String ip, String regex) {
URL url;
final StringBuffer stringBuffer = new StringBuffer();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = formatter.format(new Date());
stringBuffer.append("\r\n----------" + time + "-----------\r\n\r\n\r\n");
try {
url = new URL(ip);
HttpURLConnection urlConnection = (HttpURLConnection) url
.openConnection();
urlConnection.connect();
InputStream in = urlConnection.getInputStream();
byte[] data = new byte[1024];
while (in.read(data) > 0) { // 读取流文件
String tempString = new String(data);
Matcher m = Pattern.compile(regex).matcher(tempString);
while (m.find()) {
stringBuffer.append(m.group());
stringBuffer.append("\r\n");
}
}
} catch (IOException e) {
e.printStackTrace();
}
return stringBuffer.toString();
} }

JAVA 获取指定网址的IP地址 实例的更多相关文章

  1. Java 获取客服端ip地址

    Java 获取客服端ip地址 /** * <html> * <body> * <P> Copyright 1994 JsonInternational</p& ...

  2. java 获取访问主机的ip地址

    Java的api的说法: getHeader public java.lang.String getHeader(java.lang.String name) Return the first val ...

  3. java获取当前网站的IP地址

    package ip; import java.net.InetAddress; import java.net.UnknownHostException; /** * * @author * */ ...

  4. java获取访问者真实的IP地址

    众所周知java方法request.getremoteaddr()可以获得访问者的IP地址 但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了.如果使用了反向代理软件 ...

  5. java获取登陆用户的IP地址

    /** * 通过HttpServletRequest返回IP地址 * @param request HttpServletRequest * @return ip String * @throws E ...

  6. java 获取本机的IP地址

    方法一:这种方式有一定的局限性,在Linux下的执行结果是:本机的IP = xxx/127.0.1.1 (其中xxx是你的计算机名) public void getLocalIPAddress() { ...

  7. java 获取本机所有IP地址

    import java.net.Inet6Address; import java.net.InetAddress; import java.net.NetworkInterface; import ...

  8. java获取系统当前服务器IP地址

    public String getServiceIp(){ InetAddress address; String myIp; try { address = InetAddress.getLocal ...

  9. Java如何获取本地计算机的IP地址和主机名?

    在Java编程中,如何获取本地计算机的IP地址和主机名? 以下示例显示如何使用InetAddress类的getLocalAddress()方法获取系统的本地IP地址和主机名. package com. ...

随机推荐

  1. os.path 下的各方法

    一.os.path os.path.abspath(file) #拿到当前程序(文件)的绝对目录. os.path.split(pathname) # 返回一个元组,第零个元素为文件上级绝对目录,第一 ...

  2. echarts使用笔记五:echarts的Zoom控件

    option = { title: { text: '趋势' }, tooltip : { trigger: 'axis', show:true, axisPointer : { // 坐标轴指示器, ...

  3. jQuery EasyUI 选项卡面板tabs使用实例精讲

    1. 对选项卡面板区域 div 设置 class=”easyui-tabs” 2. 对选项卡面板区域添加多个 div,每个 div 就是一个选项卡(每个面板一定设置 title) 3. 设置面板 fi ...

  4. win10查看无线密码

  5. Spring boot + mybatis + orcale实战(干货)

    废话少说,直接上步骤: 第一步:安装好IDEA(此处省略) 第二步:在IDEA新建springboot工程 第三步:在springboot工程的pom.xml添加oracle和mybait依赖 < ...

  6. NOIP2016提高组复赛C 愤怒的小鸟

    题目链接:http://uoj.ac/problem/265 题目大意: 太长了不想概括... 分析: 状压DP的模板题,把所有可能的抛物线用二进制表示,然后暴力枚举所有组合,详情见代码内注释 代码如 ...

  7. springMVC中@RequestParam和@RequestBody的作用

    @RequestParam和@RequestBody是什么区别,估计很多人还是不太清楚, 因为一般用@ RequestParam就足够传入参数了,要说他们区别,就需要知道contentType是什么? ...

  8. Django模板渲染

    一 . 语法 # 关于模板渲染只需要记住两种语法就可以: 1.{{ }} # 里面写变量 2.{% %} # 里面写与逻辑相关的,比如for循环 二 . 变量名 在django的模板语言中按照语法: ...

  9. 每日一小时linux(1)--sysRq

    参考https://www.ibm.com/developerworks/cn/linux/l-cn-sysrq/index.html SysRq 是什么 你是否遇到服务器不能通过 SSH 登录,也不 ...

  10. epoch、 iteration和batchsize区别

    转自: https://blog.csdn.net/qq_27923041/article/details/74927398 深度学习中经常看到epoch. iteration和batchsize,下 ...