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很深了,當然現(xiàn)在DELPHI是過了最輝煌的時代。但為什么要繼續(xù)下去,而不轉(zhuǎn)向其它的?這是不是死腦筋2018-02-02