虚位以待(AD)
虚位以待(AD)
首页 > 软件编程 > Delphi编程 > Delphi实现判断网址是否存在及是否可以打开的方法

Delphi实现判断网址是否存在及是否可以打开的方法
类别:Delphi编程   作者:码皇   来源:互联网   点击:

这篇文章主要介绍了Delphi实现判断网址是否存在及是否可以打开的方法,需要的朋友可以参考下

本例所述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.
相关热词搜索: Delphi 判断 网址 存在 打开