如何不下载文件,取得目标文件的最后修改日期?(200分)

  • 主题发起人 主题发起人 面条
  • 开始时间 开始时间

面条

Unregistered / Unconfirmed
GUEST, unregistred user!
通过HTTP协议,没有FTP或Telnet等权限。
网络蚂蚁能做到!
 
可以通过访问文件的头文件,可以获得;我以前用C写过;不过现在CGI等站点一般不含
头文件,如果是静态文件,只需下载文件的头文件,即可获得目标文件的最后修改日期;
以下是C的原码(有了MFC的类)
CInternetSession m_pServer;
CInternetFile m_pFile;

m_pServer = m_pSession->GetHttpConnection(lpServerName,nPort);
m_pFile = m_pServer->OpenRequest(_T("GET"),strObject,
NULL,m_nThreadID, NULL, NULL, dwHttpRequestFlags);
m_pFile->SendRequest();
QueryInfoStatusCode()
m_pFile->QueryInfo(HTTP_QUERY_LAST_MODIFIED,strTimeEx)

如果用Windows Socket,
先建立连接,成功后,通过GetHeader可以获得;
 
试试用turbopower的控件。
 
用ICS的HTTP构件也可以获得。
执行Head函数,在OnHead事件中利用HttpCli.LastResponse
获得返回值。
 
NMHTTP1.Host := 'www.torry.ru';
NMHTTP1.Port := 80;
NMHTTP1.InputFileMode:=False;

NMHTTP1.ReportLevel := 1;
NMHTTP1.Timeout := 5000;

NMHTTP1.Head('/vcl/.../....exe');
memo1.lines.add(nmhttp1.header);

然后可以在 nmhttp1.header/memo1.lines中搜索"Last-Modified:"字符串
 
谢谢大家,我先回去试试
 

Similar threads

回复
0
查看
1K
不得闲
D
回复
0
查看
875
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部