import java.net.URL;
import java.net.HttpURLConnection;
import java.io.IOException;
import java.io.InputStream;
import java.util.Scanner;
/**
* Description:
* 解析http://www.ip138.com/,获取所需要的ip和地址。
*
* @author Lee
* */
public class ReptileDemo {
/**
* Description:
* 连接上目标url,获取该网页的内容(html)。
*
* @param Url 目标网页的URL
* @return content 返回网页的内容,没有连接上网页则返回null
* */
public static String getContentByURL(String Url){
String content = null;
URL url = null;
HttpURLConnection conn = null;
try{
url = new URL(Url);
conn = (HttpURLConnection)url.openConnection();
conn.setConnectTimeout(5000);
conn.setRequestMethod("GET");
conn.setRequestProperty("Accept","*/*");
conn.connect();
System.out.println(conn.getResponseCode());
try(
InputStream input = conn.getInputStream();
Scanner sc = new Scanner(input,"gb2312")){
while(sc.hasNext()){
content+=sc.nextLine()+"\n";
}
}catch(IOException e){
e.printStackTrace();
}
}catch(IOException e){
e.printStackTrace();
}finally{
conn.disconnect();
}
return content;
}
/**
* Description:
* 解析网页内容,获取需要的ip
*
* @param content 网页内容
* @return ip 返回内容中的ip,没有找到则返回null
* */
public static String getIpByContent(String content){
String ip = null;
int index;
if((index=content.indexOf(":["))!=-1){
String subContent = content.substring(index+2);
if((index=subContent.indexOf("]"))!=-1)
ip = subContent.substring(0,index);
}
return ip;
}
/**
* Description:
* 解析网页内容,获取地址
*
* @param contetn 网页内容
* @return pos 返回网页内容中的地址,没有找到则返回null
* */
public static String getPosByContent(String content){
String pos = null;
int index;
if((index=content.indexOf("自:"))!=-1){
String subContent = content.substring(index+2);
if((index=subContent.indexOf("</c"))!=-1)
pos = subContent.substring(0,index);
}
return pos;
}
public static void main(String[] args) {
String content = getContentByURL("http://1212.ip138.com/ic.asp");
if(content!=null){
String ip=getIpByContent(content),pos=getPosByContent(content);
if(ip!=null&&pos!=null)
System.out.println(ip+" "+pos);
else
System.out.println("没有找到内容!");
}else{
System.out.println("连接不上网页!");
}
}
}