在Delphi中使用此代码获取网页大小:(我的意思是页面源大小)
uses
IdHTTP
function URLsize(const URL : string) : integer;
var
Http: TIdHTTP;
begin
Http := TIdHTTP.Create(nil);
try
Http.Head(URL);
result := round(Http.Response.ContentLength / 1048576); //MB
finally
Http.Free;
end;
end;
Run Code Online (Sandbox Code Playgroud)
我可以轻松获取某些URL的文件大小http://sample.com/test.exe.它以MB为单位返回大小.
但我无法使用此代码获取URL大小的URL http://stackoverflow.com/; 它返回0或-1.
在这种情况下如何获得尺寸?
并非所有HTTP HEAD响应都包含内容长度.所以,一般来说,你想做的事情是不可能的.如果您遇到不包含内容长度的响应,则需要下载内容以查找长度.