| Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум на Исходниках.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 |
| Да. Способ только один - спросить кого-то. Кого и как спрашивать - это уж как реализуете. 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 |
| а ну ясно)) просто у меня походу прямое подключение)) |