Delphi实现判断网址是否存在及是否可以打开的方法
更新时间:2014年07月11日 14:42:50 投稿:shichen2014
这篇文章主要介绍了Delphi实现判断网址是否存在及是否可以打开的方法,需要的朋友可以参考下
本例所述Delphi程序用于检测网址是否为404,也就是检测网址是否存在,或是否可以打开,针对不同的检查方法,会返回不同的结果。
程序主要代码如下:
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:='网址正确'
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中使用ISuperObject解析Json数据的实现代码
这篇文章主要介绍了Delphi中使用ISuperObject解析Json数据的实现代码,需要的朋友可以参考下2017-09-09
Delphi实现Listbox中的item根据内容显示不同颜色的方法
这篇文章主要介绍了Delphi实现Listbox中的item根据内容显示不同颜色的方法,需要的朋友可以参考下2014-07-07
Java中CountDownLatch和CyclicBarrier的区别与详解
CountDownLatch和CyclicBarrier是Java并发包提供的两个非常易用的线程同步工具类,本文主要介绍了Java中CountDownLatch和CyclicBarrier的区别与详解,具有一定的参考价值,感兴趣的可以了解一下2023-11-11


最新评论