从 IP 地址 C 获取主机

Get host from IP address C

鉴于 url-link,我必须发送一个 TCP 请求。在正确解析 url 之后,我做的第一件事就是获取 IP:

...
struct hostnet *host;
...
host = gethostbyname(url);

我的问题如下:是否有任何可能的方法来获取 IP 地址的端口, 包含 : 来指示它的端口?

如果我没听错,你需要一个端口号,但是 URL 没有 :port 部分,对吗?

每个服务都有默认端口号,即 80 用于 HTTP,53 用于 DNS 等。在 Unix 上,您可能需要检查 /etc/services 和 man getservbyname(3).

如果 ann http: URL 的端口没有端口部分,则预计您将在 默认 处连接该架构的端口。如果您使用的是 Unix 机器,/etc/services/ 有一个列表,但这是一个删节版:

ftp     21
ssh     22
smtp    25
http    80
irc    194
imap3  220
ldap   389
https  443