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建立、读取、存贮INI文件的方法《一》

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

    内容: INI文件在系统配置及应用程序参数保存与设置方面,具有很重要的作用,所以可视化的编程一族,如VB、VC、VFP、Delphi等都提供了读写INI文件的方法,其中Delphi中操作INI文件,最为简洁,这是因为Delphi6.0提供了一个TInifile类,使我们可以非常灵活的处理INI文件。
    2008-03-03
  • Delphi7中群发Email邮件的方法

    Delphi7中群发Email邮件的方法

    这篇文章主要介绍了Delphi7中群发Email邮件的方法,涉及邮件服务器软件的使用,电子邮件的判断与发送功能的实现,是非常实用的技巧,需要的朋友可以参考下
    2014-12-12
  • Delphi实现树型结构具体实例

    Delphi实现树型结构具体实例

    这篇文章介绍了Delphi实现树型结构具体实例,有需要的朋友可以参考一下
    2013-10-10
  • Delphi隐藏TPageControl的标签实例介绍

    Delphi隐藏TPageControl的标签实例介绍

    件是一组页面集,用于构造一个多页对话框,它显示多个交互页(TTabSheet 对象),接下来为大家介绍下Delphi隐藏TPageControl的标签方法
    2013-04-04
  • Delphi控件ListView的属性及使用方法详解

    Delphi控件ListView的属性及使用方法详解

    这篇文章主要介绍了Delphi控件ListView的属性及使用方法详解,对于Delphi控件ListView做一复习总结,需要的朋友可以参考下
    2014-07-07
  • Delphi下OpenGL2d绘图之画四边形的方法

    Delphi下OpenGL2d绘图之画四边形的方法

    这篇文章主要介绍了Delphi下OpenGL2d绘图之画四边形的方法,需要的朋友可以参考下
    2014-07-07
  • Delphi实现Listbox中的item根据内容显示不同颜色的方法

    Delphi实现Listbox中的item根据内容显示不同颜色的方法

    这篇文章主要介绍了Delphi实现Listbox中的item根据内容显示不同颜色的方法,需要的朋友可以参考下
    2014-07-07
  • 初探Delphi中的插件编程

    初探Delphi中的插件编程

    前言我写Delphi程序是从MIS系统入门的,开始尝试子系统划分的时候采用的是MDI窗体的结构。随着系统功能的扩充,不断有新的子系统加入系统中,单个工程会变得非常大,每次做一点修改都要重新编译,单个工程的形式也不利于团队协作。为了提高工作效率,我希望利用DLL动态链接库的形式实现插件结构的编程。
    2008-03-03
  • Delphi实现窗口文字淡入淡出渐变效果的方法

    Delphi实现窗口文字淡入淡出渐变效果的方法

    这篇文章主要介绍了Delphi实现窗口文字淡入淡出渐变效果,需要的朋友可以参考下
    2014-07-07
  • delphi实现将BMP格式图形转化为JPG格式图形的方法

    delphi实现将BMP格式图形转化为JPG格式图形的方法

    这篇文章主要介绍了delphi实现将BMP格式图形转化为JPG格式图形的方法,通过简单的自定义函数调用系统自带的changefileext及SaveToFile等方法来实现格式转换功能,是非常实用的技巧,需要的朋友可以参考下
    2014-12-12

最新评论