Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.08.2014, 13:47
Shaft Shaft вне форума
Новичок
 
Регистрация: 15.05.2013
Сообщения: 74
Версия Delphi: 7/10.4
Репутация: 12
По умолчанию Резолвинг, получение IP адреса по доменному имени. Нужна помощь

Всем привет! Подскажите пожалуйста кто знает, как по доменному имени получить IP адрес.
В интернете нашел кучу вариантов но все они требуют подключение модуля Winsock а в моем случае это не подходит.
Ответить с цитированием
  #2  
Старый 19.08.2014, 19:18
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Код:
program Project1;

{$APPTYPE CONSOLE}

type
  TWSAData = record
    wVersion: Word;
    wHighVersion: Word;
    szDescription: array[0..256] of Char;
    szSystemStatus: array[0..128] of Char;
    iMaxSockets: Word;
    iMaxUdpDg: Word;
    lpVendorInfo: PChar;
  end;

  PHostEnt = ^THostEnt;
  THostEnt = record
    h_name: PChar;
    h_aliases: ^PChar;
    h_addrtype: Smallint;
    h_length: Smallint;
    case Byte of
      0: (h_addr_list: ^PChar);
      1: (h_addr: ^PChar)
  end;

  SunB = packed record
    s_b1, s_b2, s_b3, s_b4: Char;
  end;

  SunW = packed record
    s_w1, s_w2: Word;
  end;
  
  PInAddr = ^TInAddr;
  TInAddr = record
    case integer of
      0: (S_un_b: SunB);
      1: (S_un_w: SunW);
      2: (S_addr: Longint);
  end;

function WSAStartup(wVersionRequired: word; var WSData: TWSAData): Integer; stdcall; external 'wsock32.dll';
function WSACleanup: Integer; stdcall; external 'wsock32.dll';
function gethostbyname(name: PChar): PHostEnt; stdcall; external 'wsock32.dll';
function inet_ntoa(inaddr: TInAddr): PChar; stdcall; external 'wsock32.dll';

var
  WSAData: TWSAData;
  HostEnt: PHostEnt;

begin
  WSAStartup(514, WSAData);
  HostEnt:=gethostbyname('www.delphisources.ru');
  Writeln(inet_ntoa(PInAddr(HostEnt^.h_addr_list^)^));
  WSACleanup;
  Readln;
end.

вообще ни одного модуля
__________________
Пишу программы за еду.
__________________

Последний раз редактировалось NumLock, 19.08.2014 в 19:20.
Ответить с цитированием
  #3  
Старый 19.08.2014, 19:42
Shaft Shaft вне форума
Новичок
 
Регистрация: 15.05.2013
Сообщения: 74
Версия Delphi: 7/10.4
Репутация: 12
По умолчанию

Код требует библиотеку wsock32.dll, наверное я забыл сказать самое главное, приложение создается для ОС Linux
Ответить с цитированием
  #4  
Старый 19.08.2014, 19:56
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

так там тоже gethostbyname есть:
Сокеты
Программирование сокетов в Linux

вернее сказать в Windows она тоже есть
__________________
Пишу программы за еду.
__________________

Последний раз редактировалось NumLock, 19.08.2014 в 19:59.
Ответить с цитированием
  #5  
Старый 21.08.2014, 18:05
Shaft Shaft вне форума
Новичок
 
Регистрация: 15.05.2013
Сообщения: 74
Версия Delphi: 7/10.4
Репутация: 12
По умолчанию

Есть то есть, почитал литературу. Только вариантов на Delphi нет, или может я плохо искал.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:47.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter