黑客风云——风云网络
设为首页 加入收藏 我要投稿 网站地图
您现在的位置: 黑客风云 >> 黑客文章 >> 黑客进阶 >> 黑客编程 >> 文章正文
[推荐]Delphi下Internet的编程技巧
      ★★★★★
Delphi下Internet的编程技巧
文章整理发布:黑客风云 文章来源:www.05112.com 更新时间:2006-11-20

5.是否早想有个域名转换为IP地址的函数,现在我就给你一个域名转换为IP地址:
 
function GetIPName(Name: string): string;
var
  WSAData: TWSAData;
  HostEnt: PHostEnt;
begin
  WSAStartup(2, WSAData);
  HostEnt := gethostbyname(PChar(Name));
  with HostEnt^ do
    Result := Format(’%d.%d.%d.%d’, [Byte(h_addr^[0]),
      Byte(h_addr^[1]), Byte(h_addr^[2]), Byte(h_addr^[3])]);
  WSACleanup;
end; 

6.编写Internet软件常常会遇到检查用户输入的网址,E-mail地址等等,如何解决呢?
我这正好有写好的函数。
检查一个URL是否有效
 
uses wininet; 
Function CheckUrl(url:string):boolean; //检查一个URL是否有效函数
var 
hSession, hfile, hRequest: hInternet; 
dwindex,dwcodelen :dword; 
dwcode:array[1..20] of char; 
res : pchar; 
 
begin 
if pos(’http://’,lowercase(url))=0 then 
url := ’http://’+url; 
 Result := false; 
 hSession := InternetOpen(’InetURL:/1.0’, 
 INTERNET_OPEN_TYPE_PRECONFIG,nil, nil, 0); 
 if assigned(hsession) then 
begin 
hfile := InternetOpenUrl(hsession, pchar(url), nil, 0, INTERNET_FLAG_RELOAD, 0); 
dwIndex := 0; 
dwCodeLen := 10; 
HttpQueryInfo(hfile, HTTP_QUERY_STATUS_CODE, @dwcode, dwcodeLen, dwIndex); 
res := pchar(@dwcode); 
result:= (res =’200’) or (res =’302’); //200,302未重定位标志
if assigned(hfile) then 
InternetCloseHandle(hfile); 
InternetCloseHandle(hsession); 
end; 
  end;

如何处理E-mail地址,下面给你个E-mail地址处理函数
 
function IsEMail(EMail: String): Boolean;
  var    s: String;   
 ETpos: Integer; 
 begin   
 ETpos:= pos(’@’, EMail);  
  if ETpos > 1 then    
begin   
   s:= copy(EMail,ETpos+1,Length(EMail));    
  if (pos(’.’, s) > 1) and (pos(’.’, s) <
 length(s)) then     
   Result:= true else Result:= false;  
  end    
else   
   Result:= false; 
 end;   
   procedure TForm1.Button1Click(Sender: TObject);  
begin   
 if isemail(Edit1.Text) then 
   begin  
    ShowMessage(’eMail-Address!’);
    end; 
 end;  

7,动态改变DNS Server的地址
下面的函数可以添加 DNS Server的地址,如想添加202.100.100.65 202.10.10.10
SetDNSAddresses(’202.100.100.65 202.10.10.10’) ;
//注意: 各地址之间用一个空格隔开
SetTDNSAddresses 定义如下:
procedure SetDNSAddresses( sIPs : string );
begin
// 如果是 Windows NT用下面的代码
SaveStringToRegistry_LOCAL_MACHINE(
’SYSTEM\CurrentControlSet’ +
’\Services\Tcpip\Parameters’,
’NameServer’,
sIPs );
// 如果你用的是Windows 95用下面的代码
SaveStringToRegistry_LOCAL_MACHINE(
’SYSTEM\CurrentControlSet’ +
’\Services\VxD\MSTCP’,
’NameServer’,
sIPs );
end;
其中 SaveStringToRegistry_LOCAL_MACHINE 定义:
uses Registry;
procedure SaveStringToRegistry_LOCAL_MACHINE(
sKey, sItem, sVal : string );
var
reg : TRegIniFile;
begin
reg := TRegIniFile.Create( ’’ );
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.WriteString( sKey, sItem, sVal + #0 );
reg.Free;
end;

上一页  [1] [2] 

文章录入:cainiaowang    责任编辑:cainiaowang 
【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
VIP 专 区
Copyright @2006 黑客风云 ●业务联系:QQ 联系怪人 联系奇人 Email:给怪人发邮件 给奇人发邮件
ICP备案:冀06009886