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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.02.2015, 15:52   #1
AppData
Форумчанин
 
Регистрация: 20.09.2013
Сообщений: 246
По умолчанию Что не так? почему не видит город?

Код:
procedure TForm1.FormCreate(Sender: TObject);
var
  site: string;
  n1,n2: integer;
  
  s, s2, c, ck: string; MemStre: TStringStream;
begin
  MemStre := TStringStream.Create('');
  IdHTTP1.AllowCookies:=true;
  IdHTTP1.CookieManager:=IdCookieManager1;
  IdHTTP1.Request.Host:='2ip.ru';
  IdHTTP1.Request.Connection:='keep-alive';
  IdHTTP1.Request.Accept:='text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8';
  IdHTTP1.Request.UserAgent:='Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36';
  IdHTTP1.Request.AcceptLanguage:='ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4';
  IdHTTP1.Get('http://2ip.ru/', MemStre);
  IdHTTP1.Response.RawHeaders.Extract ('Set-Cookie', PHPSESSID.Lines);
  c:=PHPSESSID.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);
  Caption:=s2;
end;
Вложения
Тип файла: zip Новая папка.zip (8.8 Кб, 5 просмотров)
AppData вне форума Ответить с цитированием
Старый 01.02.2015, 16:06   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

А ты смотрел что пришло в s?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.02.2015, 16:07   #3
AppData
Форумчанин
 
Регистрация: 20.09.2013
Сообщений: 246
По умолчанию

Да почему. Как исправить?
AppData вне форума Ответить с цитированием
Старый 01.02.2015, 16:40   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Код:
var s:string;i:integer;
begin
  with TIdHTTP.Create do begin
    AllowCookies:=true;
    HandleRedirects:=true;
    Request.UserAgent:='Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36';
    Request.AcceptLanguage:='ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4';
    s:=Get('http://2ip.ru/');
    i:=pos('<a title="Посмотреть точное место на карте"',s);    delete(s,1,i+2);
    i:=pos('/>',s); delete(s,1,i+1);
    Caption:=copy(s,1,pos('</',s)-1);
    free;
  end;
end;
Годится?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.02.2015, 20:15   #5
AppData
Форумчанин
 
Регистрация: 20.09.2013
Сообщений: 246
По умолчанию

Код:
  with IdHTTP1.Create(nil) do begin
    AllowCookies:=true;
    HandleRedirects:=true;
    Request.UserAgent:='Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36';
    Request.AcceptLanguage:='ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4';
    s:=Get('http://2ip.ru/');
    i:=pos('<a title="Посмотреть точное место на карте"',s);    delete(s,1,i+2);
    i:=pos('/>',s); delete(s,1,i+1);
    Caption:=copy(s,1,pos('</',s)-1);
    free;
  end;
что то не так

Вывод:
Код:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<meta name="description" content="Узнать IP адрес, измерить скорость интернета, подключить интернет, отзывы о провайдерах, рейтинг провайдеров" />
	<meta name="keywords" content="ip, ip-адрес, интернет, скорость интернета, интернет провайдер, подключить интернет, отзывы о провайдерах, рейтинг провайдеров, интернет москва, провайдеры москвы" />
	<meta name="author"  content="2ip.ru" />
	<meta name="publisher"  content="2ip.ru" />
	<meta name="copyright" content="2ip.ru" />
	<meta name="robots" content="index,follow" />
	<meta name="content-language" content="ru" />
	<link rel="shortcut icon" href="http://2ip.ru/favicon.ico"/>
	<link rel="stylesheet" media="screen" type="text/css" href="http://2ip.ru/css/style_new.css" />

	<script type="text/javascript" src="http://2ip.ru/js/protoaculous.js">
AppData вне форума Ответить с цитированием
Старый 01.02.2015, 20:23   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Слюш, я реально не знаю что за несрастуха там у тебя, но у меня этот пример нормально показывает: Kramatorsk, Ukraine.
Могу скинуть экзешник, если не поверишь.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.02.2015, 20:32   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

TC, если не юникодный делфин, то
Код:
...
    s:=Get('http://2ip.ru/');
    s:=Utf8ToAnsi(s);
    i:=pos('<a title="Посмотреть точное место на карте"',s);    delete(s,1,i+2);
...
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 01.02.2015, 20:36   #8
AppData
Форумчанин
 
Регистрация: 20.09.2013
Сообщений: 246
По умолчанию

Аватар, да спасибо заработало! и тебе, Stilet. спасибо! огромное! а где юникодный делфин скачать?
AppData вне форума Ответить с цитированием
Старый 01.02.2015, 20:39   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Если не знаешь где, то на официальном сайте, где же еще
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 01.02.2015, 20:46   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

О боги! Опять этот чертов юникод!!!
Сколько он мне нервов попортил в свое время...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Спарсить то что видит снифер, но не видит браузер... FleXik Общие вопросы Delphi 8 11.12.2012 00:44
что не так, почему программа не преобразует строку? Ксения1 Помощь студентам 0 28.11.2011 18:36
Почему не работает программа, что не так? Демик Паскаль, Turbo Pascal, PascalABC.NET 9 17.07.2011 21:12
Что тут не так? Ругается почему-то.... kat297 Общие вопросы Delphi 1 03.06.2010 04:24
Вылазает ошибка. Почему что не так? xakkkkker Паскаль, Turbo Pascal, PascalABC.NET 7 18.04.2010 10:54