小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Delphi編程中Http協(xié)議應用(一)

 老魏的書架 2012-01-11

Delphi編程中Http協(xié)議應用(一)

2003-10-08 10:09作者:陳經韜出處:www.138soft.com責任編輯:方舟
  實際上,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;

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多