實際上,GET還可以用在其它方面,前提是與你的
網頁文件掛鉤.例如,你的個人站點放在你的硬盤上面,你在http://my.yeah.net申請了一個免費的域名,你將URL指向你的IP.但是你的IP是動態(tài)的,經常會改變,每次改變后需要手工打開
http://my.yeah.net/站點進行設置是非常麻煩的.這時候,你可以自己動手寫一個
程序.
  首先,我們來寫兩個函數(shù)從返回頁面里提取我們需要的信息.
| function GetInfoByYearNetHtm1(const str:string):String; {
 功能:從Yeah.Net的域名申請和修改返回網頁文件中提取需要的信息
 參數(shù):Yeah.Net的網頁文件內容
 輸出:實際的信息
 作者:陳經韜
 日期:2003,2,8
 修改:無
 }
 const
 SubColor='<font color=red>';
 SubCenter1='<center>';
 SubCenter2='</center>';
 var
 S:String;
 i,j,k:integer;
 begin
 Result:='';
 S:=str;
 
 j:=0;
 repeat
 i:=Pos(SubColor,LowerCase(S));
 if i=0 then break;
 if Length(s)<(i+Length(SubColor)-1) then Break;
 Delete(S,1,i+Length(SubColor)-1);
 
 i:=Pos(SubCenter1,LowerCase(S));
 if i=0 then break else if i<=10 then j:=-1;
 until j=-1;
 
 k:=Pos(SubCenter2,LowerCase(S));
 S:=Copy(S,i+Length(SubCenter1),k-i-Length(SubCenter1));
 
 k:=0;
 repeat
 i:=pos('<',s);
 j:=pos('>',s);
 if (i=0) or (j=0) then Break;
 Delete(s,i,j-i+1);
 Insert(' ', S, i);
 until k=-1;
 s:=s+'.';
 Result:=s;
 end;
 
 function GetInfoByYearNetHtm2(const Str:String):String;
 {
 功能:從Yeah.Net的域名轉向返回網頁文件中提取需要的信息
 參數(shù):Yeah.Net的網頁文件內容
 輸出:實際的信息
 作者:陳經韜
 日期:2003,2,8
 修改:無
 }
 var i,j,k:integer;
 begin
 Result:='';
 i:=Pos('url=',Str);
 if i=0 then Exit;
 i:=i+4;
 j:=Pos('',Str);
 if i=0 then Exit;
 j:=j-2; k:=j-i;
 Result:=copy(Str,i,k);
 end;
 | 
  第一步,我們先來實現(xiàn)注冊功能.放上五個Edit控件分別代表注冊用戶名稱,密碼1,密碼2,Email地址和需要指向的URL.然后用GET方式來注冊:
| procedure TForm1.Button1Click(Sender: TObject); var
 StrRecive:String;
 begin
 Memo1.Lines.Clear;
 Memo1.Lines.Add('正在申請域名!');
 try
 StrRecive:=IdHTTP1.Get('http://my.yeah.net/cgi-bin/register?username='+Edit1.Text//注冊名稱
 +'&domain=yeah.net'
 +'&password='+Edit2.Text//密碼1
 +'&password2='+Edit3.Text//密碼2
 +'&email='+Edit4.Text//注冊人Email地址
 +'&url=http://'+Edit4.Text);//該域名指向的URL
 Memo1.Lines.Add(GetInfoByYearNetHtm1(StrRecive));
 except
 Memo1.Lines.Add('申請域名錯誤!請檢查網絡!');
 end;
 end;
 | 
  第二步,當你需要更新自己的IP地址的時候:
| procedure TForm1.Button2Click(Sender: TObject); var
 StrRecive:String;
 begin
 Memo1.Lines.Clear;
 Memo1.Lines.Add('正在更新域名!');
 try
 StrRecive:=IdHTTP1.Get('http://my.yeah.net/cgi-bin/modify?username='+Edit1.Text//注冊名稱
 +'&domain=yeah.net'
 +'&password='+Edit2.Text//密碼1
 +'&url=http://'+Edit4.Text);//該域名指向的URL
 Memo1.Lines.Add(GetInfoByYearNetHtm1(StrRecive));
 except
 Memo1.Lines.Add('更新IP錯誤!請檢查網絡!');
 end;
 end;
 | 
  第三步:當然是你的程序取的真實指向了:)
| procedure TForm1.Button3Click(Sender: TObject); begin
 try
 Memo1.Lines.Add(GetInfoByYearNetHtm2(IdHTTP1.Get(Edit4.Text)));//eg:http://lovejingtao.yeah.net
 except
 Memo1.Lines.Add('更新IP錯誤!請檢查網絡!');
 end;
 end;
 |