Function: nslookup-host-ipv4
nslookup-host-ipv4 is an autoloaded and byte-compiled function defined
in net-utils.el.gz.
Signature
(nslookup-host-ipv4 HOST &optional NAME-SERVER FORMAT)
Documentation
Return the IPv4 address for HOST (name or IP address).
Optional argument NAME-SERVER says which server to use for DNS resolution.
If FORMAT is string, returns the IP address as a
string (default). If FORMAT is vector, returns a 4-integer
vector of octets.
This command uses nslookup-program to look up DNS records.
Source Code
;; Defined in /usr/src/emacs/lisp/net/net-utils.el.gz
;;;###autoload
(defun nslookup-host-ipv4 (host &optional name-server format)
"Return the IPv4 address for HOST (name or IP address).
Optional argument NAME-SERVER says which server to use for DNS
resolution.
If FORMAT is `string', returns the IP address as a
string (default). If FORMAT is `vector', returns a 4-integer
vector of octets.
This command uses `nslookup-program' to look up DNS records."
(let* ((args `(,nslookup-program "-type=A" ,host ,name-server))
(output (shell-command-to-string
(string-join (cl-remove nil args) " ")))
(ip (or (and (string-match
"Name:.*\nAddress: *\\(\\([0-9]\\{1,3\\}\\.?\\)\\{4\\}\\)"
output)
(match-string 1 output))
host)))
(cond ((memq format '(string nil))
ip)
((eq format 'vector)
(apply #'vector (mapcar #'string-to-number (split-string ip "\\."))))
(t (error "Invalid format: %s" format)))))