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

所属分类: 软件编程 / Delphi 阅读数: 68
收藏 0 赞 0 分享

本例所述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之Pascal语言中的关键字及保留字汇总

这篇文章主要介绍了Delphi之Pascal语言中的关键字及保留字汇总,需要的朋友可以参考下
收藏 0 赞 0 分享

Delphi实现图片滚动切换的完整实例代码

这篇文章主要介绍了Delphi实现图片滚动切换的完整实例代码,通过本实例,读者可以进一步掌握Delphi控件及图形处理的技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

Delphi实现图像文本旋转特效完整实例代码

这篇文章主要介绍了Delphi实现图像文本旋转特效完整实例代码,对于帮助读者进一步理解Delphi图形及文字特效的处理有一定的借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Delphi实现限定软件使用时间的方法

这篇文章主要介绍了Delphi实现限定软件使用时间的方法,商业软件开发中非常实用的功能,需要的朋友可以参考下
收藏 0 赞 0 分享

在Delphi实现在数据库中存取图像的图文演示无错

最近打算学习Delphi实现在数据库中存取图像,网上的好多Delphi实现在数据库中存取图像都是错误的,所以我把图片给弄好了。
收藏 0 赞 0 分享

delphi建立、读取、存贮INI文件的方法《三》

控制INI文件几法要利用.INI文件做程序有关数据的存储工作,就需要能读和写.INI文件,所以列了如下方法给大家参考:
收藏 0 赞 0 分享

delphi建立、读取、存贮INI文件的方法《二》

内容: 要利用.INI文件做程序有关数据的存储工作,就需要能读和写.INI 文件,所以列了如下方法给大家参考:
收藏 0 赞 0 分享

Delphi建立、读取、存贮INI文件的方法《一》

内容: INI文件在系统配置及应用程序参数保存与设置方面,具有很重要的作用,所以可视化的编程一族,如VB、VC、VFP、Delphi等都提供了读写INI文件的方法,其中Delphi中操作INI文件,最为简洁,这是因为Delphi6.0提供了一个TInifile类,使我们可以非常
收藏 0 赞 0 分享

插件管理框架 for Delphi(一)

插件管理框架 for Delphi许多软件采用“插件”(PlugIns)来扩展其功能,比如PhotoShop所支持的各类滤镜就是插件;我们所熟知的Winamp,也有许多皮肤以及可视效果插件。再有微软的windows media player,以及QQ,冲浪软件Opera……采用插
收藏 0 赞 0 分享

插件管理框架 for Delphi(二)

插件管理框架2.2 实现代码
收藏 0 赞 0 分享
查看更多