import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest(classes = ServerMain.class)
public class Test {
private static Logger logger = LoggerFactory.getLogger( Test.class );
String urlPath = "www.baidu.com";
String urlPath1 = "http://www.baidu.com";
@Test
public void test() {
System.err.println(isConnect(urlPath));
System.err.println(getNetworkTime(urlPath1));
}
/**
* 判断网络是否正常
* @return
*/
public static boolean isConnect(String urlPath){
//定义其返回的状态,默认为false,网络不正常
boolean connect = false;
Runtime runtime = Runtime.getRuntime();
Process process;
try {
process = runtime.exec("ping " + urlPath);
InputStream is = process.getInputStream();
InputStreamReader isr = new InputStreamReader(is,"GBK");
BufferedReader br = new BufferedReader(isr);
String line = null;
StringBuffer sb = new StringBuffer();
while ((line = br.readLine()) != null) {
sb.append(line);
}
logger.debug("返回值为: {}",sb);
is.close();
isr.close();
br.close();
if (null != sb && !sb.toString().equals("")) {
if (sb.toString().indexOf("TTL") > 0) {
// 网络畅通
connect = true;
} else {
// 网络不畅通
connect = false;
}
}
} catch (IOException e) {
e.printStackTrace();
}
return connect;
}
public static String getNetworkTime(String urlPath){
try{
// 取得资源对象
URL url = new URL(urlPath);
// 生成连接对象
URLConnection uc = url.openConnection();
// 发出连接
uc.connect();
// 读取网站日期时间
long ld = uc.getDate();
// 转换为标准时间对象
Date date = new Date(ld);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS", Locale.CHINA);
// 输出北京时间
return sdf.format(date);
}catch(MalformedURLException e){
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
}
return null;
}
}