delphi 一句话,一分钟,取得网页源码

拖三个组件: memo ,idhttp,edit 加一个Button

然后在procedure TForm1.Button1Click(Sender: TObject);里加上一句话

1.可以这么写

memo1.Text:= idHTTP1.Get(edit1.Text);

2.也可以这么写

memo1.Lines.Add(IdHTTP1.Get(edit1.Text));

这件事就这么简单.

不过,别用它来试百度,因为百度屏蔽了 ‘Indy Library’ 这个客户端标识的。

hehe,除非修改http头

User-Agent: Mozilla/3.0 (compatible; Indy Library) 修改前面绿色的部分

注:如果出现的是乱码,查一下html的文件头,看看编码方式,然后比如改成这样

memo1.Text:=utf8toansi( idHTTP1.Get(edit1.Text));

更进一步:

function TForm1.Get(URL: string):string;

var

IDHTTP: TIDHttp;

ss: String;

begin

IDHTTP:= TIDHTTP.Create(nil);

try

try

idhttp.Disconnect;

idhttp.HandleRedirects:= true; //必须支持重定向否则可能出错

idhttp.ReadTimeout:= 30000; //超过这个时间则不再访问

ss:=utf8toansi( IDHTTP.Get(URL)); //UTF8编码转换

// if ss='' then

ss:=UTF8Decode(idhttp.Get(url));

if IDHTTP.ResponseCode=200 then

Result :=ss;

except

//ss:='';

end;

finally

IDHTTP.Free;

end;

end;

http://hi.baidu.com/sxshandian/blog/item/96d217d6339adb2806088b22.html