Каратель12
Юзер
Каратель12
Юзер
- 21 Окт 2015
- 299
- 102
и так для начала кидаем на форму
sButton1, sEdit1, sMemo1
в коде в uses пишем
httpsend – для отправки запросов
ssl_openssl - для эмуляции работы с HTTPS.
потом в Form1: TForm1 пишем
Check: array [0 .. 10] of string; // массив для работы с парсингом
HTTP: THTTPSend;
HTML: tstringList;
добавляем перед {$R *.dfm} код парсинга
после этого пишем на кнопку
и в папку с проектом кидаем, libeay32.dll, msvcr71.dll, ssleay32.dll
запускаем и смотрим
всем спасибо за прочтение )
sButton1, sEdit1, sMemo1
в коде в uses пишем
httpsend – для отправки запросов
ssl_openssl - для эмуляции работы с HTTPS.
потом в Form1: TForm1 пишем
Check: array [0 .. 10] of string; // массив для работы с парсингом
HTTP: THTTPSend;
HTML: tstringList;
добавляем перед {$R *.dfm} код парсинга
Код:
function Pars(T_, ForS, _T: String): String; // функция парсинга, нужна для парсинга информаций
var
A, B: integer;
begin
Result := '';
if (T_ = '') or (ForS = '') or (_T = '') then
Exit;
A := Pos(T_, ForS);
if A = 0 then
Exit
else
A := A + length(T_);
ForS := Copy(ForS, A, length(ForS) - A + 1);
B := Pos(_T, ForS);
if B > 0 then
Result := Copy(ForS, 1, B - 1);
end;
Код:
HTTP := THTTPSend.Create; // создаем HTTP для работы синапсом
HTML := tstringList.Create; // создаем для работы с парсингом
begin
sMemo1.Clear; // очищаем sMemo1
if HTTP.HTTPMethod('GET','https://2ip.ua/ru/services/information-service/site-location?ip=' + sEdit1.Text + '&a=act') then // работаем с ГЕТ запросом, берем ip из sEdit1
begin
HTML.LoadFromStream(HTTP.Document);
HTML.Text := Utf8ToAnsi(HTML.Text); // переводим в нормальный вид
begin // парсинг всей инфы
Check[1] := Pars('<td>Широта:</td>' + #13#10 + ' <td>',HTML.Text,'</td>');
Check[2] := Pars('<td>Долгота:</td>' + #13#10 + ' <td>',HTML.Text,'</td>');
Check[3] := Pars('<td>Город:</td>' + #13#10 + ' <td>',HTML.Text,'</td>');
Check[4] := Pars('<td>Cтрана:</td>' + #13#10 + ' <td>',HTML.Text,'</td>');
end;
/////////
begin // Вывод в sMemo1
sMemo1.Lines.Add('Широта: ' + Check[1]);
sMemo1.Lines.Add('Долгота: ' + Check[2]);
sMemo1.Lines.Add('============');
sMemo1.Lines.Add('Город: ' + Check[3]);
sMemo1.Lines.Add('Cтрана: ' + Check[4]);
end;
end;
end;
FreeAndNil(HTTP); // очищаем HTTP
FreeAndNil(HTML); // очищаем HTML
запускаем и смотрим
всем спасибо за прочтение )