读书人

为何点击按钮取不到最新的IP

发布时间: 2013-01-28 11:49:56 作者: rapoo

为什么点击按钮取不到最新的IP
本帖最后由 lostmoon 于 2013-01-10 09:21:21 编辑 我在界面上有个按钮,点击后通过公网取IP,但是每次我路由器重启换IP后,点击这个按钮,返回的IP总是换之前的,为什么?如果我退出软件,重新进入和点击,就是新的,怎么回事?



function GetIP: string;
Var
xml : OleVariant;
r,ipstr:string;
p1,p2,i,ii,count : Integer;
begin
Try
CoInitialize(nil);
xml := CreateOleObject('Microsoft.XMLHTTP');
xml.Open('GET','http://www.baidu.com/s?wd=ip', False);
xml.Send;
r := xml.responseText;
p1:=Pos('本机IP: <strong>',r);
p2:=Pos('</strong>  ',r);
ipstr := Copy(r, p1+7, p2-p1+2);
//showmessage(ipstr);
ipstr := StringReplace (ipstr, '  ', ' ', [rfReplaceAll, rfIgnoreCase]);
ipstr := StringReplace (ipstr, ' ', '', [rfReplaceAll, rfIgnoreCase]);
ipstr := StringReplace (ipstr, '<strong>', '', [rfReplaceAll, rfIgnoreCase]);
ipstr := StringReplace (ipstr, '</strong>', '', [rfReplaceAll, rfIgnoreCase]);
ipstr := StringReplace (ipstr, '</p>', '', [rfReplaceAll, rfIgnoreCase]);、




delphi xml
[解决办法]
应该是缓存的问题,直接用socket读比较准确

读书人网 >.NET

热点推荐