Приветствую Вас Гость | RSS

Delphi заготовки

Суббота, 11.05.2024, 21:30
Главная » 2012 » Апрель » 12 » Скачать файл из Интернета в переменную String пример получения IP адреса
15:54
Скачать файл из Интернета в переменную String пример получения IP адреса
Для решения некоторых задач часто приходится использовать в программах возможность получения информации из сети интернет.
пример такой задачи получение внешнего IP адреса компьютера

Будем получать информацию с сайта
http://www.myip.ru/get_ip.php
как видим из исходного примера IP адрес храниться между тегами 

<TR><TD bgcolor=white align=center valign=middle>
и </TD></TR>

напишем не большую процедуру для скачивания информации из интернета
// Скачивает файл XML в переменную string
uses WinInet;

 function GetCursFile (const fileURL:string): string; const BufferSize = 1024; var hSession, hURL: HInternet; Buffer: array[1..BufferSize] of char; BufferLen: DWORD; f: File; sAppName: String; begin result:=''; sAppName := ExtractFileName(Application.ExeName); hSession :=InternetOpen(PChar(sAppName), INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0); try hURL := InternetOpenURL(hSession, PChar(fileURL), nil, 0, 0, 0); try repeat InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen); result:=result+Buffer; until BufferLen = 0; finally InternetCloseHandle(hURL) end finally InternetCloseHandle(hSession) end end;
и еще одну которая просто выдернет текст из запроса

Function CopyTextFromTeg(s:string;s1,s2:string):string;
var i1,i2:integer;
    sm:string;
begin
  i1:=pos(s1,s);
  sm:=copy(s,i1,length(s));
  i2:=pos(s2,sm)+i1-1;
  result:=copy(s,i1+length(s1),i2-i1-length(s1));
end;


таким образом IP адрес будет равен

Function GetMyIp:string;
var
ip:string;
begin
  ip:=GetCursFile('http://www.myip.ru/get_ip.php');
  ip:=CopyTextFromTeg(ip,'<TR><TD bgcolor=white align=center valign=middle>','</TD></TR>');
  result:=ip;
end;

пример получения IP адреса

begin
  Showmessage(GetMyIp);
end;

на основе функции
http://delphiblog.ru/delphi-faq/internet/skachat-fajl-iz-interneta
Просмотров: 32613 | Добавил: NetSoftWare | Теги: получаем IP адрес | Рейтинг: 4.0/1
Всего комментариев: 1
1 NetSoftWare  
0
uses WinInet;

function GetHTMLFileToString (const fileURL:string): string;
const BufferSize = 1024;
var
hSession, hURL: HInternet;
Buffer: array[1..BufferSize] of char;
BufferLen: DWORD;
f: File;
sAppName: String;
begin
result:='';
sAppName := ExtractFileName(Application.ExeName);
hSession :=InternetOpen(PChar(sAppName), INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
try
hURL := InternetOpenURL(hSession, PChar(fileURL), nil, 0, 0, 0);
try
repeat
InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen);
result:=result+Buffer;
until BufferLen = 0;
finally
InternetCloseHandle(hURL)
end
finally
InternetCloseHandle(hSession)
end
end;

Имя *:
Email *:
Код *: