Delphi實(shí)現(xiàn)判斷網(wǎng)址是否存在及是否可以打開(kāi)的方法
本例所述Delphi程序用于檢測(cè)網(wǎng)址是否為404,也就是檢測(cè)網(wǎng)址是否存在,或是否可以打開(kāi),針對(duì)不同的檢查方法,會(huì)返回不同的結(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:='正在檢驗(yàn)';
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)址不正確,沒(méi)有這個(gè)頁(yè)面'
end;
end;
procedure TForm1.NMHTTP1HostResolved(Sender: TComponent);
begin
StatusBar1.SimpleText:='正確解析主機(jī)名';
end;
procedure TForm1.NMHTTP1InvalidHost(var Handled: Boolean);
begin
StatusBar1.SimpleText:='不能解析主機(jī)名';
end;
procedure TForm1.NMHTTP1AuthenticationNeeded(Sender: TObject);
begin
StatusBar1.SimpleText:='需要身份驗(yàn)證';
end;
procedure TForm1.NMHTTP1Connect(Sender: TObject);
begin
StatusBar1.SimpleText:='連接到主機(jī)';
end;
procedure TForm1.NMHTTP1ConnectionFailed(Sender: TObject);
begin
StatusBar1.SimpleText:='連接主機(jī)失敗';
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:='重定向到其它頁(yè)面';
end;
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=VK_RETURN then
begin
StatusBar1.simpletext:='正在檢驗(yàn)';
NMHTTP1.Head(Edit1.Text);
end;
end;
end.
- Delphi使用OpenGL2d繪圖之畫(huà)圖片Bmp的方法
- Delphi之Pascal語(yǔ)言中的關(guān)鍵字及保留字匯總
- Delphi實(shí)例演示Rect、Bounds生成TRect的區(qū)別
- Delphi常用關(guān)鍵字用法詳解
- Delphi實(shí)現(xiàn)讀取系統(tǒng)時(shí)間與日期完整實(shí)例
- Delphi實(shí)現(xiàn)碰撞球體完整實(shí)例代碼
- Delphi中對(duì)時(shí)間操作方法匯總
- Delphi實(shí)現(xiàn)毫秒級(jí)別的倒計(jì)時(shí)實(shí)例代碼
- delphi7連接mysql5的實(shí)現(xiàn)方法
- Delphi實(shí)現(xiàn)圖片滾動(dòng)切換的完整實(shí)例代碼
相關(guān)文章
Delphi 常見(jiàn)文件處理及注冊(cè)表文件的使用實(shí)例
這篇文章主要介紹了Delphi 常見(jiàn)文件處理及注冊(cè)表文件的使用實(shí)例的相關(guān)資料,希望通過(guò)本文能幫助到大家,需要的朋友可以參考下2017-09-09
Delphi隱藏TPageControl的標(biāo)簽實(shí)例介紹
件是一組頁(yè)面集,用于構(gòu)造一個(gè)多頁(yè)對(duì)話框,它顯示多個(gè)交互頁(yè)(TTabSheet 對(duì)象),接下來(lái)為大家介紹下Delphi隱藏TPageControl的標(biāo)簽方法2013-04-04
截取指定符號(hào)之間的字符串(隨機(jī)讀取)delphi實(shí)例代碼
這篇文章主要介紹了截取指定符號(hào)之間的字符串(隨機(jī)讀取)delphi實(shí)例代碼,有需要的朋友可以參考一下2013-12-12
Delphi中使用ISuperObject解析Json數(shù)據(jù)的實(shí)現(xiàn)代碼
這篇文章主要介紹了Delphi中使用ISuperObject解析Json數(shù)據(jù)的實(shí)現(xiàn)代碼,需要的朋友可以參考下2017-09-09
Delphi實(shí)現(xiàn)碰撞球體完整實(shí)例代碼
這篇文章主要介紹了Delphi實(shí)現(xiàn)碰撞球體完整實(shí)例代碼,通過(guò)該實(shí)例,讀者可以完整的了解一個(gè)Delphi項(xiàng)目的創(chuàng)建過(guò)程,加深對(duì)Delphi運(yùn)行原理的了解,需要的朋友可以參考下2014-07-07
Delphi實(shí)現(xiàn)Listbox中的item根據(jù)內(nèi)容顯示不同顏色的方法
這篇文章主要介紹了Delphi實(shí)現(xiàn)Listbox中的item根據(jù)內(nèi)容顯示不同顏色的方法,需要的朋友可以參考下2014-07-07
Java中CountDownLatch和CyclicBarrier的區(qū)別與詳解
CountDownLatch和CyclicBarrier是Java并發(fā)包提供的兩個(gè)非常易用的線程同步工具類,本文主要介紹了Java中CountDownLatch和CyclicBarrier的區(qū)別與詳解,具有一定的參考價(jià)值,感興趣的可以了解一下2023-11-11

