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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.10.2014, 16:53   #1
tempc
Новичок
Джуниор
 
Регистрация: 25.10.2014
Сообщений: 2
Вопрос Внешний IP-адрес + парсинг.

Пытаюсь считать свой внешний ip через функцию http.Get

Код который использую:

Цитата:
Сообщение от Петррр Посмотреть сообщение
Код:
var
  http: TIdHTTP;
  strIP: String;
begin
  http := TIdHTTP.Create(Owner);
  strIP := http.Get('http://cmyip.com/');
  strIP := copy(strIP, pos('My IP Address Is  ', strIP) + 18, 15);
  strIP := Trim(strIP);
  ShowMessage(strIP);
end;
Проблема в том, что в переменной strIP содержится не вся необходимая информация.
Содержание переменной strIP :
Код HTML:
Watch Name	Value
 strIP	'<!DOCTYPE html>'#$A'<html>'#$A'<head>                                                                                                                                      '#$A'<title>CmyIP.com - Check My IP address fast!</title>'#$A'<meta charset="utf-8"> '#$A'<meta name="keywords" content="check ip address, find ip address, ip lookup, ip address location, city, provience, region, country, isp">'#$A'<meta name="description" content="Find geographic location of an IP address, City Region Provience Country ISP. What is my IP address?">'#$A'<meta http-equiv="X-UA-Compatible" content="IE=edge">'#$A'<meta name="viewport" content="width=device-width, initial-scale=1">'#$A'<link href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet">'#$A'<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">'#$A'<link rel="stylesheet" href="css/style1.css">'#$A#$A'<link rel="shortcut icon" href="favicon.ico">'#$A'</head>'#$A#$A'<body>'#$A'     <!-- NAV SECTION -->'#$A'    <div class="navbar navbar-inverse navbar-fixed-top">'#$A'        <div class="container">'#$A'            <div class="navbar-header">'#$A'                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">'#$A'                    <span class="icon-bar"></span>'#$A'                    <span class="icon-bar"></span>'#$A'                    <span class="icon-bar"></span>'#$A'                </button>'#$A'                <a class="navbar-brand" href="index.php"><i class="icon fa fa-bolt"></i>CmyIP.com</a>'#$A'            </div>'#$A'            <div class="navbar-collapse collapse">'#$A'                <ul class="nav navbar-nav navbar-right">'#$A'                    <li><a href="index.php"><i class="navicon fa fa-home"></i>HOME</a></li>'#$A'                    <li><a href="/seo"><i class="navicon fa fa-rocket"></i>SEO REPORT</a></li>'#$A'                    <li><a href="speed-test.html"><i class="navicon fa fa-tachometer"></i>SPEED TEST</a>...
Если пролистать в конец, что там находятся многоточие, и информация об ip не сидит в этой переменой, в следствии чего pos('My IP Address Is ', strIP) возвращает 0.

Как это решить?

Последний раз редактировалось tempc; 25.10.2014 в 16:56.
tempc вне форума Ответить с цитированием
Старый 25.10.2014, 17:18   #2
indexx
Заблокирован
 
Регистрация: 12.09.2014
Сообщений: 544
По умолчанию

My IP Address is
И пробелы в конце убери.
indexx вне форума Ответить с цитированием
Старый 25.10.2014, 17:43   #3
tempc
Новичок
Джуниор
 
Регистрация: 25.10.2014
Сообщений: 2
По умолчанию

Цитата:
Сообщение от indexx Посмотреть сообщение
My IP Address is
И пробелы в конце убери.
Проблема в том, что в переменной нет никакого "My IP Address is".
tempc вне форума Ответить с цитированием
Старый 25.10.2014, 17:55   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Есть. вот он:
Цитата:
<h1 class="page-title">My IP Address is 185.106.203.109</h1>
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.10.2014, 19:24   #5
indexx
Заблокирован
 
Регистрация: 12.09.2014
Сообщений: 544
По умолчанию

tempc Мозг включи. Ты не верно делаешь обрезку своей переменной, после чего у тебя естественно не остаётся в ней нужной тебе информации. На ошибки обрезки я ткнул пальцем.
indexx вне форума Ответить с цитированием
Старый 25.10.2014, 19:29   #6
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

а я б вот так:
Изображения
Тип файла: jpg 7.jpg (32.4 Кб, 132 просмотров)
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 25.10.2014, 20:28   #7
indexx
Заблокирован
 
Регистрация: 12.09.2014
Сообщений: 544
По умолчанию

Тогда уж проще популярной среди новичков конструкцией
Код:
function ParseURL(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;
indexx вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как изменить внешний IP адрес путём изменения MAC адреса на нетбуке (доступ к сети через WiFi) Victoria2012 Помощь студентам 6 08.02.2012 14:24
Как подменить адрес возврата функции func на адрес функции f используя переполнение буфера buf и функции gets dmitrii6120 Помощь студентам 6 14.11.2011 20:10
Как определить внешний IP адрес Temafeyo Свободное общение 5 23.10.2010 18:44
Как послать сообщение на внешний IP адрес ? RNT Свободное общение 9 05.07.2009 21:45
как узнать ip адрес зная mac адрес Roman Работа с сетью в Delphi 9 25.06.2007 12:39