Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.04.2014, 08:44   #1
AppData
Форумчанин
 
Регистрация: 20.09.2013
Сообщений: 248
По умолчанию Спарсить местоположение с 2ip.ru

в чем проблема? почему только со второго раза, срабатывает? как сделать так чтобы с первого?!

кроме этого мне ничего не пришло!

procedure TForm1.Button1Click(Sender: TObject);
var s: string; p: TPregArray; i: integer;
begin
s:=IdHTTP1.Get('http://2ip.ru/');
s:=Utf8ToAnsi(s);
memo2.Text:=s;
if preg.match_all('/<a.+?href="/geoip/"\s*/>(.+?)</a>/i',s,p) then begin
memo1.Text:=p[1][0];
p.free;
end else Button1Click(nil);
end;
Вложения
Тип файла: zip new.zip (347.0 Кб, 13 просмотров)
AppData вне форума Ответить с цитированием
Старый 15.04.2014, 15:32   #2
Smagulov85
Форумчанин
 
Аватар для Smagulov85
 
Регистрация: 22.11.2009
Сообщений: 142
По умолчанию

Цитата:
Сообщение от AppData Посмотреть сообщение
в чем проблема? почему только со второго раза, срабатывает? как сделать так чтобы с первого?!

кроме этого мне ничего не пришло!

procedure TForm1.Button1Click(Sender: TObject);
var s: string; p: TPregArray; i: integer;
begin
s:=IdHTTP1.Get('http://2ip.ru/');
s:=Utf8ToAnsi(s);
memo2.Text:=s;
if preg.match_all('/<a.+?href="/geoip/"\s*/>(.+?)</a>/i',s,p) then begin
memo1.Text:=p[1][0];
p.free;
end else Button1Click(nil);
end;
Извини писал на скорую руку и криво. Да и в выражениях копаться не хотел!

Код:
procedure TForm1.Button1Click(Sender: TObject);
var s, s2, c, ck: string; p: TPregArray; i: integer; MemStre: TStringStream;
begin
  HTTP:=TIdHTTP.Create(self);
  Cook:=TidCookieManager.Create(HTTP);
  MemStre := TStringStream.Create('');
  HTTP.AllowCookies:=true;
  HTTP.CookieManager:=Cook;
  HTTP.Request.Host:='2ip.ru';
  HTTP.Request.Connection:='keep-alive';
  HTTP.Request.Accept:='text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8';
  HTTP.Request.UserAgent:='Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36';
  HTTP.Request.AcceptLanguage:='ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4';
  HTTP.Get('http://2ip.ru/', MemStre);
  HTTP.Response.RawHeaders.Extract ('Set-Cookie', Memo1.Lines);
  c:=memo1.Text;
  ck:=Copy(c, 1, Pos('; path=/', c) - 1);
  s:=UTF8toANSI(MemStre.DataString);
  Delete(s, 1, Pos('<a title="Посмотреть точное место на карте" href="/geoip/"/?'+ck+'>', s) + Length('<a title="Посмотреть точное место на карте" href="/geoip/"/?'+ck+'>') - 1);
  s2:=Copy(s, 1, Pos('</a>', s) - 1);
  Memo2.Text:=s2;
end;
Если помог: Нажми Весы и оставь отзыв!!!
Smagulov85 вне форума Ответить с цитированием
Старый 16.04.2014, 08:36   #3
AppData
Форумчанин
 
Регистрация: 20.09.2013
Сообщений: 248
По умолчанию

неа, не вышло. ((

вот что у меня получилось см. скрин

Код:
var
HTTP : TidHttp;
Cook : TidCookieManager;
и твой код выводит

Код:
PHPSESSID=lu58ajsp2746ovjuojnbq06me5; path=/
IP[1397622936]=МОЙ IP АДРЕС; expires=Tue, 15-Jul-2014 04:35:36 GMT; path=/; domain=.2ip.ru
Изображения
Тип файла: jpg Вывел.JPG (82.9 Кб, 33 просмотров)
AppData вне форума Ответить с цитированием
Старый 16.04.2014, 09:53   #4
Smagulov85
Форумчанин
 
Аватар для Smagulov85
 
Регистрация: 22.11.2009
Сообщений: 142
По умолчанию

У меня работает! я писал на скорую руку.


вот твои исходники с моими исправлениями

http://yadi.sk/d/0lFdVBwSMY7yb
Если помог: Нажми Весы и оставь отзыв!!!
Smagulov85 вне форума Ответить с цитированием
Старый 17.04.2014, 09:26   #5
AppData
Форумчанин
 
Регистрация: 20.09.2013
Сообщений: 248
По умолчанию

Спасибо. Тему можно закрывать
AppData вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
2ip.ru - Скорость интернет соединения _ZixeL_ Работа с сетью в Delphi 6 02.12.2012 14:10
работа с 2ip.ru и логами mroff Работа с сетью в Delphi 2 27.02.2012 00:09
Разбор таблицы на сайте 2ip.ru Человек_Борща Работа с сетью в Delphi 2 24.01.2011 02:10
Местоположение формы phphel Общие вопросы Delphi 18 26.08.2010 14:29
TRichViewEdit - местоположение курсора? Алексей_C Общие вопросы Delphi 2 30.10.2007 20:55