获取网页源码的问题

fbiboss fbiboss 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
以下的代码为什么加上带有注释的两句就会有时候出问题,并且不能用TRY EXCEPT END
否则有时候查询网页会返回空

function GetWebPage(const Url: string): string;
var
Session, HttpFile: HINTERNET;
szSizeBuffer: Pointer;
dwLengthSizeBuffer: DWord;
dwReserved: DWord;
dwFileSize: DWord;
dwBytesRead: DWord;
Contents: PChar;
begin
Session := InternetOpen('', 0, nil, nil, 0);
HttpFile := InternetOpenUrl(Session, PChar(Url), nil, 0, 0, 0);
dwLengthSizeBuffer := 1024;
try //
GetMem(szSizeBuffer, dwLengthSizeBuffer); //给szsizebuffer动态申请1024内存空间
GetMem(Contents, dwFileSize);
HttpQueryInfo(HttpFile, 5, szSizeBuffer, dwLengthSizeBuffer, dwReserved);
GetMem(Contents, dwFileSize);
InternetReadFile(HttpFile, Contents, dwFileSize, dwBytesRead);
InternetCloseHandle(HttpFile);
InternetCloseHandle(Session);
Result := StrPas(Contents);
finally//
FreeMem(szSizeBuffer); //释放,object高手突破说的话:借债还钱,天经地义
FreeMem(Contents);
end;//
end;
...全文
评论 9
收藏 已收藏
分享
返回顶部