首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

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

2013-01-28 
为什么点击按钮取不到最新的IP本帖最后由 lostmoon 于 2013-01-10 09:21:21 编辑我在界面上有个按钮,点击

为什么点击按钮取不到最新的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:&nbsp;<strong>',r);
  p2:=Pos('</strong>&nbsp;&nbsp;',r);
  ipstr := Copy(r, p1+7, p2-p1+2);
  //showmessage(ipstr);
  ipstr := StringReplace (ipstr, '&nbsp;&nbsp;', '  ', [rfReplaceAll, rfIgnoreCase]);
  ipstr := StringReplace (ipstr, '&nbsp;', '', [rfReplaceAll, rfIgnoreCase]);
  ipstr := StringReplace (ipstr, '<strong>', '', [rfReplaceAll, rfIgnoreCase]);
  ipstr := StringReplace (ipstr, '</strong>', '', [rfReplaceAll, rfIgnoreCase]);
  ipstr := StringReplace (ipstr, '</p>', '', [rfReplaceAll, rfIgnoreCase]);、




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

热点排行