运用页面的RESPONSE HEADERS数据来获取时间
HTTP最常见的响应头:
Allow:服务器支持哪些请求方法(如GET、POST等)
Content-Encoding:文档的编码(Encode)方法。只有在解码之后才可以得到Content-Type头指定的内容类型。利用gzip压缩文档能够显著地减少HTML文档的下载时间。Java的GZIPOutputStream可以很方便地进行gzip压缩,但只有Unix上的Netscape和Windows上的IE 4、IE 5才支持它。因此,Servlet应该通过查看Accept-Encoding头(即request.getHeader("Accept-Encoding"))检查浏览器是否支持gzip,为支持gzip的浏览器返回经gzip压缩的HTML页面,为其他浏览器返回普通页面;
Content-Length:表示内容长度。只有当浏览器使用持久HTTP连接时才需要这个数据。如果你想要利用持久连接的优势,可以把输出文档写入ByteArrayOutputStram,完成后查看其大小,然后把该值放入Content-Length头,最后通过byteArrayStream.writeTo(response.getOutputStream()发送内容;
Content-Type: 表示后面的文档属于什么MIME类型。Servlet默认为text/plain,但通常需要显式地指定为text/html。由于经常要设置Content-Type,因此HttpServletResponse提供了一个专用的方法setContentTyep。 可在web.xml文件中配置扩展名和MIME类型的对应关系;
Date:当前的GMT时间。你可以用setDateHeader来设置这个头以避免转换时间格式的麻烦;
Allow:服务器支持哪些请求方法(如GET、POST等)
Content-Encoding:文档的编码(Encode)方法。只有在解码之后才可以得到Content-Type头指定的内容类型。利用gzip压缩文档能够显著地减少HTML文档的下载时间。Java的GZIPOutputStream可以很方便地进行gzip压缩,但只有Unix上的Netscape和Windows上的IE 4、IE 5才支持它。因此,Servlet应该通过查看Accept-Encoding头(即request.getHeader("Accept-Encoding"))检查浏览器是否支持gzip,为支持gzip的浏览器返回经gzip压缩的HTML页面,为其他浏览器返回普通页面;
Content-Length:表示内容长度。只有当浏览器使用持久HTTP连接时才需要这个数据。如果你想要利用持久连接的优势,可以把输出文档写入ByteArrayOutputStram,完成后查看其大小,然后把该值放入Content-Length头,最后通过byteArrayStream.writeTo(response.getOutputStream()发送内容;
Content-Type: 表示后面的文档属于什么MIME类型。Servlet默认为text/plain,但通常需要显式地指定为text/html。由于经常要设置Content-Type,因此HttpServletResponse提供了一个专用的方法setContentTyep。 可在web.xml文件中配置扩展名和MIME类型的对应关系;
Date:当前的GMT时间。你可以用setDateHeader来设置这个头以避免转换时间格式的麻烦;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | #include <Date.au3> #include <Array.au3> $new_Time= _Time("http://www.baidu.com") $Time = StringSplit($new_Time, " :/") $Year = $Time[1] $Mon = $Time[2] $Day = $Time[3] $Hour = $Time[4] $Min = $Time[5] $Sec = $Time[6] $tNew = _Date_Time_EncodeSystemTime($Mon, $Day, $Year, $Hour, $Min, $Sec) ;返回$tagSYSTEMTIME 结构 _Date_Time_SetLocalTime($tNew) ;设置电脑时间 Func _Time($url) Local $mon,$DAY Local Const $yue[12] = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] ;Year 年 Month 月 Dow 星期 Day 日 Hour 时 Minute 分 Second 秒 MSeconds 毫秒 Local $oHTTP = ObjCreate("winhttp.winhttprequest.5.1") $oHTTP.open("GET", $url) $oHTTP.Send() $ResponseHeaders = $oHTTP.GetAllResponseHeaders() $GMT = StringRegExp($ResponseHeaders, "Date: ([\s\S]*?) GMT", 3) ;提取返回的GMT时间 $array = StringSplit($GMT[0], " ") ;拆分返回时间 $year = $array[4];提取年 $mon = $array[3] ;提取月份 $time= $array[5] ;提取时间 For $i=0 to 11 If $yue[$i] = $mon Then $mon = $i+1 If $mon<10 Then $mon = "0"&$mon ;月份小于10 增补0 EndIf EndIf Next If $array[2]<10 Then $DAY = "0"& $array[2] Else $DAY = $array[2] ;日小于10 增补0 EndIf $nowtime = $year & "/" & $mon & "/" & $DAY & " " & $time ;重新拼合时间 $iDateCalc = _DateDiff('s', "1970/01/01 08:00:00", $nowtime ) ;转换成时间戳 $sNewDate = _DateAdd('s', $iDateCalc+8*60*60, "1970/01/01 08:00:00") ;转化成北京时间 Return $sNewDate EndFunc ; |