Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > Delphi: Сетевое программирование > Как определить свой IP в интернете?


Автор: ttiger 17.06.10, 19:25
Нужен ip в интернете. Этот:
http://yandex.ru/yandsearch?text=%D0%BC%D0%BE%D0%B9+ip&lr=213

Айпишник постоянно меняется, потому его нужно узнать програмно.
Как это сделать?

Автор: CodeMonkey 17.06.10, 19:40
Поиск. По первой ссылке всё доступно разжёвано.

Автор: ttiger 18.06.10, 07:23
В примитивном, кнопкокидательном виде оно вылядит так:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    function TForm1.GetInternetIP: string;
    begin    //IdHTTP: TIdHTTP;
      Result := idHTTP.Get('http://www.whatismyip.com/automation/n09230945.asp');
      ///переделать на создаваемый и уничтожаемый  в процедуре объект.
    end;


Сам свой IP не узнаешь, надо у кого-то спросить, как меня видно извне. Для этого юзаем сервис http://www.whatismyip.com
Я правильно понимаю, что способы на этом исчерпаны?

Автор: CodeMonkey 18.06.10, 08:22
Цитата ttiger @
Я правильно понимаю, что способы на этом исчерпаны?


Да. Способ только один - спросить кого-то. Кого и как спрашивать - это уж как реализуете.

P.S. Впрочем, иногда вы можете узнать свой внешний IP изнутри, но далеко не всегда. Это завит от способа подключения к интернету.

Автор: atatat 09.07.10, 17:30
я делал так

<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    procedure TForm1.getip;
    var
    response:string;
    begin
       idHTTP1:=TIdHTTP.Create;
       idHTTP1.Request.UserAgent:='Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10';
       idHTTP1.Request.Accept:='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
       idHTTP1.Request.AcceptLanguage:='ru,en-us;q=0.7,en;q=0.3';
       idHTTP1.Request.AcceptCharSet:='windows-1251,utf-8;q=0.7,*;q=0.7';
       response:=IDHttp1.Get('http://spys.ru/check/');
       myip:=copy(response,Pos('REAL_IP=',response)+25,Pos('HTTP_VIA',response)-36-Pos('REAL_IP=',response));
       idHTTP1.free;
       idHTTP1.Free;
     end;

Автор: Демо 09.07.10, 19:27
Также http://www.myip.ru -)

Автор: v1m 10.07.10, 05:35
кстати как тогда работает функция ipconfig в cmd?
то что она никого не спрашивает это 100%-> у меня просто есть подключение на весь инет а есть ток на часть сайтов by нета

Автор: CodeMonkey 10.07.10, 08:59
ipconfig показывает IP вашего сетевого интерфейса. Это может быть что угодно. Это может быть ваш белый IP в интернете (скажем, если вы подключаетесь к интернету через VPN). Но чаще всего это будет какой-то внутренний IP (ваш IP в локалке, когда к интернету вы подключены через шлюз по-умолчанию или прокси). Как я и сказал выше - иногда вы можете узнать свой IP в интернете и сами (зависит от конфигурации сети). Но вы никогда не узнаете, что это за IP: внешний или внутренний. Только пользователь знает правду. Ещё раз внимательно читаем по ссылке.

Автор: v1m 11.07.10, 09:40
а ну ясно)) просто у меня походу прямое подключение))

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)