1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| uses Wininet;
Function GetMyIP:String;
const
body:string='<body>';
body_:string='</body>';
var InternetHandle,UrlHandle:HINTERNET;
i,j:Cardinal;
p,q:Cardinal;
buff:string;
begin
Result:='Erreur';
InternetHandle:= InternetOpen('', 0, 0, 0, 0);
if InternetHandle<>nil then
begin
UrlHandle := InternetOpenUrl(InternetHandle, 'http://checkip.dyndns.org', 0, 0, INTERNET_FLAG_NEED_FILE, 0);
if (UrlHandle <> nil) then
begin
setlength(buff,256);
if InternetReadFile(UrlHandle, @buff[1], 255,j) then
begin
setlength(buff,j);
p:=Pos(body,buff);
if p<=0 then exit;
p:=p+length(body);
q:=pos(body_,buff);
if (p>q) then exit;
Result:=copy(buff,p,q-p);
end;
InternetCloseHandle(UrlHandle);
end;
InternetCloseHandle(InternetHandle);
end;
end; |
Partager