package com.sourceware.util;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.HttpClient;
import org.apache.log4j.Logger;
import java.net.InetAddress;
import java.util.Enumeration;
import java.net.NetworkInterface;
import java.util.*;
/**
*
* <p>Title: Sourceware utils.</p>
*
* <p>Description: Sourceware utils.</p>
*
* <p>Copyright: Copyright (c) 2005</p>
*
* <p>Company: Sourceware inc.</p>
*
* @author 黑山(woowind@sina.com)
* @version 1.0
*/
public class NetUtil {
static Logger logger = Logger.getLogger(NetUtil.class);
public NetUtil() {
}
/**
*
* @param url String
* @return int
* @throws Exception
*/
public static int clickURL(String url) throws Exception {
int retrycount = 3;
while (true) {
HttpClient httpClient = new HttpClient();
GetMethod get = new GetMethod(url);
get.addRequestHeader("Content-Type", "text/html; charset=GBK");
int code = httpClient.executeMethod(get);
if (code != 200) {
if (retrycount == 0) {
throw new Exception("发送失败,失败原因=" + code);
}
logger.error("send to[" + url + "]error code[" + code + "]");
retrycount--;
}
else {
return code;
}
} //end while(true)...
}
/**
*
* @return Collection
*/
public static Collection getAllLocalIP() throws Exception {
ArrayList ar = new ArrayList();
Enumeration netInterfaces = NetworkInterface.getNetworkInterfaces();
while (netInterfaces.hasMoreElements()) {
NetworkInterface ni = (NetworkInterface) netInterfaces.nextElement();
InetAddress ip = (InetAddress) ni.getInetAddresses().nextElement();
if (!ip.isSiteLocalAddress() && !ip.isLoopbackAddress() &&
ip.getHostAddress().indexOf(":") == -1) {
System.out.println("Interface " + ni.getName() +
" seems to be InternetInterface. I'll take it..."); ;
}
else {
ar.add(ip.getHostAddress());
}
}
return ar;
}
public static void main(String[] args) {
try {
NetUtil.getAllLocalIP();
}
catch (Exception ex) {
ex.printStackTrace();
}
}
}