testdns.pp 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. {$mode objfpc}
  2. {$h+}
  3. program testdns;
  4. uses netdb;
  5. Procedure DumpHostEntry(Const H : THostEntry);
  6. begin
  7. With H do
  8. begin
  9. Writeln('Name : ',Name);
  10. Writeln('Addr : ',HostAddrToStr(Addr));
  11. Writeln('Aliases : ',Aliases);
  12. Writeln;
  13. end;
  14. end;
  15. Procedure TestAddr(Addr : string);
  16. Var
  17. H : THostEntry;
  18. begin
  19. If ResolveHostByAddr(StrToHostAddr(Addr),H) then
  20. DumpHostEntry(H)
  21. else
  22. Writeln('No entry for address ',Addr)
  23. end;
  24. Procedure TestName(Const N : string);
  25. Var
  26. H : THostEntry;
  27. begin
  28. If ResolveHostByName(N,H) then
  29. DumpHostEntry(H)
  30. else
  31. Writeln('No entry for hostname ',N)
  32. end;
  33. Var
  34. I,l : INteger;
  35. Ans : Array [1..10] of THostAddr;
  36. H : THostAddr;
  37. NAns : Array[1..10] of String;
  38. begin
  39. Writeln('Resolving name ');
  40. l:=ResolveName('malpertuus.wisa.be',Ans);
  41. Writeln('Got : ',l,' answers');
  42. For I:=1 to l do
  43. Writeln(i:2,': ',hostAddrtostr(Ans[i]));
  44. Writeln('Resolving address ');
  45. H:=StrtoHostAddr('212.224.143.202');
  46. L:=ResolveAddress(H,NAns);
  47. Writeln('Got : ',l,' answers');
  48. For I:=1 to l do
  49. Writeln(i:2,': ',NAns[i]);
  50. Writeln('ResolveHostByName:');
  51. testname('malpertuus.wisa.be');
  52. Writeln('ResolveHostByAddr:');
  53. testaddr('212.224.143.202');
  54. end.