Delphi實現(xiàn)判斷網(wǎng)址是否存在及是否可以打開的方法
更新時間:2014年07月11日 14:42:50 投稿:shichen2014
這篇文章主要介紹了Delphi實現(xiàn)判斷網(wǎng)址是否存在及是否可以打開的方法,需要的朋友可以參考下
本例所述Delphi程序用于檢測網(wǎng)址是否為404,也就是檢測網(wǎng)址是否存在,或是否可以打開,針對不同的檢查方法,會返回不同的結(jié)果。
程序主要代碼如下:
unit address;
interface
uses
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:='網(wǎng)址正確'
end;
end;
procedure TForm1.NMHTTP1Failure(Cmd: CmdType);
begin
case cmd of
CmdHEAD:
StatusBar1.SimpleText:='網(wǎng)址不正確,沒有這個頁面'
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.
相關(guān)文章
為什么繼續(xù)選擇DELPHI(即將逝去的Delphi前景在何方)
已經(jīng)鉆DELPHI很深了,當(dāng)然現(xiàn)在DELPHI是過了最輝煌的時代。但為什么要繼續(xù)下去,而不轉(zhuǎn)向其它的?這是不是死腦筋2018-02-02

