求DELPHI获取网页源码的一段代码
补充,不能用IDHTTP控件,我现在用的就是这个控件,但取到的源码是只能取到前面一部分,就是说取到的内容不完整,我想换别的更好的办法...
补充,不能用IDHTTP控件,我现在用的就是这个控件,但取到的源码是只能取到前面一部分,就是说取到的内容不完整,我想换别的更好的办法
展开
2个回答
展开全部
以下内容是一个单元,保存为MyIdHTTP.pas后,由主程序uses这个单元,调用GetStrOfURL即可。
unit MyIdHTTP;
interface
uses IdHTTP, SysUtils;
const
CN_Count_Retry = 5; // 失败后重试次数
CN_SleepBetweenRetry = 3000; // 重试前延迟毫秒数
function GetStrOfURL(
const sURL : string;
var sContent : string;
nRetryCount : Integer = CN_Count_Retry;
nSleepMS : Integer = CN_SleepBetweenRetry
) : Boolean;
implementation
var
AIdHTTP : TIdHTTP;
function GetStrOfURL(
const sURL : string;
var sContent : string;
nRetryCount : Integer = CN_Count_Retry;
nSleepMS : Integer = CN_SleepBetweenRetry
) : Boolean;
begin
Result := False;
while nRetryCount > 0 do
try
sContent := AIdHTTP.Get( sURL );
Result := True;
Break;
except
Dec( nRetryCount );
Sleep( nSleepMS );
end;
end;
initialization
AIdHTTP := TIdHTTP.Create( nil );
finalization
FreeAndNil( AIdHTTP );
end.
unit MyIdHTTP;
interface
uses IdHTTP, SysUtils;
const
CN_Count_Retry = 5; // 失败后重试次数
CN_SleepBetweenRetry = 3000; // 重试前延迟毫秒数
function GetStrOfURL(
const sURL : string;
var sContent : string;
nRetryCount : Integer = CN_Count_Retry;
nSleepMS : Integer = CN_SleepBetweenRetry
) : Boolean;
implementation
var
AIdHTTP : TIdHTTP;
function GetStrOfURL(
const sURL : string;
var sContent : string;
nRetryCount : Integer = CN_Count_Retry;
nSleepMS : Integer = CN_SleepBetweenRetry
) : Boolean;
begin
Result := False;
while nRetryCount > 0 do
try
sContent := AIdHTTP.Get( sURL );
Result := True;
Break;
except
Dec( nRetryCount );
Sleep( nSleepMS );
end;
end;
initialization
AIdHTTP := TIdHTTP.Create( nil );
finalization
FreeAndNil( AIdHTTP );
end.
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询