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.

좋은 웹페이지 즐겨찾기