尝试了百度 和chinaz
最终采用chinaz 的访问
public class Getip {
/**
* @param args
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
FileWriter fp = new FileWriter("iplist.txt", true);
int num = 0;
while (true) {
num++;
String ip = "";
String chinaz = "http://ip.chinaz.com";
StringBuilder inputLine = new StringBuilder();
String read = "";
URL url = null;
HttpURLConnection urlConnection = null;
BufferedReader in = null;
try {
url = new URL(chinaz);
urlConnection = (HttpURLConnection) url.openConnection();
in = new BufferedReader(new InputStreamReader(urlConnection
.getInputStream(), "UTF-8"));
while ((read = in.readLine()) != null) {
inputLine.append(read + "\r\n");
}
// System.out.println(inputLine.toString());
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
// /<dd class="fz24">219.143.147.82</dd>
Pattern p = Pattern
.compile("\\<dd class\\=\"fz24\">(.*?)\\<\\/dd>");
Matcher m = p.matcher(inputLine.toString());
if (m.find()) {
String ipstr = m.group(1);
ip = ipstr;
SimpleDateFormat df = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");// 设置日期格式
// System.out.println(df.format(new Date()));// new
System.out.println(df.format(new Date()) + " 本次ip是: " + ipstr);
fp.write(df.format(new Date()) + " 本次ip是: " + ipstr + "\n");
}
try {
Thread.sleep(1000 * 120);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (num > 1000000)
break;
}
fp.close();
}
备注本程序是为了获取动态ip的验证试验