java获取时间的网站_如何获取网站服务器的时间

原理是提取网站http应答报文中的时间信息。

(但是请不要用此方法来获取www.bjtime.cn的时间,原因见后)

1. 以下是javascript获取服务器时间的测试代码:

var xhr = null;

if(window.XMLHttpRequest){

xhr = new window.XMLHttpRequest();

}else{

xhr = new ActiveObject("Microsoft")

}

xhr.open("HEAD","http://指定网址",false); //此处为同步模式,异步模式请自己修改

xhr.send(null);

var dstr=xhr.getResponseHeader("Date");

var date=new Date(dstr);

(测试结果:受到跨域保护,blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource)

如果利用jquery:

var dstr=$.ajax({async:false}).getResponseHeader("Date");

(未测试,估计也不行)

2. 以下是java获取服务器时间的测试代码:

import java.net.*;

import java.io.*;

import java.util.*;

public class ServerTime {

public static void main(String[] args) throws Exception {

URL url=new URL("http://指定网址");

URLConnection uc=url.openConnection();

uc.connect();

long st=uc.getDate(); //获得时间戳

Date dl=new Date(st); //转换为时间对象

//输出

System.out.println(d1);;

}

}

3. 为什么不能用上述方法来获取本站(bjtime.cn)的时间?

因为太多的取时请求曾一度造成本站服务器瘫痪,所以本站特意将http response时间进行了扰乱。请大家去负载能力更强的服务器上取时间。敬请谅解。


版权声明:本文为weixin_29138345原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。