Delphi实现判断网址是否存在及是否可以打开的方法

时间:2021-05-20

本例所述Delphi程序用于检测网址是否为404,也就是检测网址是否存在,或是否可以打开,针对不同的检查方法,会返回不同的结果。

程序主要代码如下:

unit address;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Psock, NMHttp, StdCtrls, ComCtrls;type TForm1 = class(TForm) Label1: TLabel; Edit1: TEdit; Button1: TButton; NMHTTP1: TNMHTTP; StatusBar1: TStatusBar; procedure Button1Click(Sender: TObject); procedure NMHTTP1Success(Cmd: CmdType); procedure NMHTTP1Failure(Cmd: CmdType); procedure NMHTTP1HostResolved(Sender: TComponent); procedure NMHTTP1InvalidHost(var Handled: Boolean); procedure NMHTTP1AuthenticationNeeded(Sender: TObject); procedure NMHTTP1Connect(Sender: TObject); procedure NMHTTP1ConnectionFailed(Sender: TObject); procedure FormActivate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure NMHTTP1Redirect(var Handled: Boolean); procedure Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);var url:string;begin url:=Edit1.Text; StatusBar1.simpletext:='正在检验'; NMHTTP1.Head(url);end;procedure TForm1.NMHTTP1Success(Cmd: CmdType);begin case cmd of CmdHEAD: StatusBar1.SimpleText:='网址正确' end;end;procedure TForm1.NMHTTP1Failure(Cmd: CmdType);begin case cmd of CmdHEAD: StatusBar1.SimpleText:='网址不正确,没有这个页面' end;end;procedure TForm1.NMHTTP1HostResolved(Sender: TComponent);begin StatusBar1.SimpleText:='正确解析主机名';end;procedure TForm1.NMHTTP1InvalidHost(var Handled: Boolean);begin StatusBar1.SimpleText:='不能解析主机名';end;procedure TForm1.NMHTTP1AuthenticationNeeded(Sender: TObject);begin StatusBar1.SimpleText:='需要身份验证';end;procedure TForm1.NMHTTP1Connect(Sender: TObject);begin StatusBar1.SimpleText:='连接到主机';end;procedure TForm1.NMHTTP1ConnectionFailed(Sender: TObject);begin StatusBar1.SimpleText:='连接主机失败';end;procedure TForm1.FormActivate(Sender: TObject);begin Edit1.Text:='http://www.';end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);begin NMHTTP1.Destroy;end;procedure TForm1.NMHTTP1Redirect(var Handled: Boolean);begin StatusBar1.SimpleText:='重定向到其它页面';end;procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);begin if Key=VK_RETURN then begin StatusBar1.simpletext:='正在检验'; NMHTTP1.Head(Edit1.Text); end;end;end.

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章