如何得到网站主页的建立或修改时间(100分)

  • 主题发起人 主题发起人 wjing
  • 开始时间 开始时间
W

wjing

Unregistered / Unconfirmed
GUEST, unregistred user!
如何得到网站主页的建立或修改时间;
例如:如何得到www.sian.com.cn的index.html的修改时间,
 
除非你有任意的连接权限..如ftp,telnet,等等...

再一个笨办法,,嘿嘿..24小时在线扫描它是否有变化,,一旦有变化,,就把当前时间记录下来... :)))
 
这就有味啊
 
也许是我未说明白,我并不是想每时每刻检测,而是怎样得到网络上某个文件的建立日期
,是利用什么函数或者过程.
 
方法如下:
1 将此文件下载下来,
2 检查此文件的修改日期.
function GetFileDate(TheFileName: string): string;
var
FHandle: integer;
begin
FHandle := FileOpen(TheFileName, fmShareDenyNone);
result := DateTimeToStr(FileDateToDateTime(FileGetDate(FHandle)));
FileClose(FHandle);
end;
 
这样的办法不错,但是好像还需要ftp的权限
 
没有这么复杂,使用http连接,在返回的头部
有一个头部表示最后修改时间,即Last-Modified头部,
如果不清楚的话,可以看看我写的一篇解释http协议的文章:
http://zeroworld.533.net/program/http-1.htm
 
楼上
给个例子。
 
过几天,等我写一个给你。
 
那么难吗?
delphi5中有现成的例子: demos/internet/HTTPDemo
主要几句:

NMHTTP1.InputFileMode := FALSE;
NMHTTP1.OutputFileMode := FALSE;
NMHTTP1.ReportLevel := Status_Basic;
If CheckBox1.Checked then //如果通过代理
Begin
NMHTTP1.Proxy := 代理IP;
NMHTTP1.ProxyPort := 代理端口;
End;
NMHTTP1.Head('http://www.sian.com.cn');
NMHTTP1.Header 中就是你要的内容,分离出时间即可
 
在Form中放入TNMHttp控件,如下就能得到更新时间:
procedure TForm1.Button1Click(Sender: TObject);

begin
NMHttp1.Head(Edit1.Text);
end;
procedure TForm1.NMHTTP1Success(Cmd: CmdType);

var
i:integer;
TempString:string;
OneHead:string;
ModifiedTime:string;
begin
TempString:=NMHttp1.Header;
ModifiedTime:='';
repeat
i:=pos(#13+#10,TempString);
if i=0 then
i:=Length(Tempstring)+1;
if i<>0 then
begin
OneHead:=Copy(TempString,1,i-1);
Delete(TempString,1,i-1);
if Length(TempString)>0 then
Delete(Tempstring,1,2);
if pos('LAST-MODIFIED:',uppercase(OneHead))>0 then

ModifiedTime:=OneHead;
end;
until Length(TempString)=0;
if Length(ModifiedTime)>0 then

ShowMessage(ModifiedTime);
end;
 
谢谢各位。
 
利用delphi7中的控件TIdHTTP,极其简单、不出acess violate错、而且还是同步的:
IdHTTP1.Head('http://zeroworld.html.533.net/program/http-modified-time.htm');
Showmessage(Datetimetostr(IdHTTP1.Response.LastModified));
 
后退
顶部