【发布时间】:2020-06-10 06:11:14
【问题描述】:
这行得通
target.sin_addr.s_addr = inet_addr("127.0.0.1");
但我想从网站 URL 中输入 IP
我试过了
const char host[] = "http://www.google.com/";
struct hostent *host_ip;
host_ip = gethostbyaddr(host, strlen(host), 0);
我在使用 gethostbyaddr(); 之前做了 WSAStartup;
我试过了
target.sin_addr.s_addr = inet_addr(host_ip);
我也尝试了一些类似的方法,但它不起作用。 有人可以告诉我如何正确地做到这一点。
谢谢!
编辑:
当我这样做时
host_ip = gethostbyaddr((char *)&host, strlen(host), 0);
std::cout << host_ip->h_addr;
它给了我
httpa104-116-116-112.deploy.static.akamaitechnologies.com
【问题讨论】:
-
将您的完整代码缩减为minimal reproducible example,并将其发布在您的问题中。因为它在 Stack Overflow 上是无用且离题的。
-
我用谷歌搜索了“nslookup 源代码”,并被发送到 (opensource.apple.com/source/bind9/bind9-44/bind9/bin/dig/…)。可能其他来源更好,我不知道。谷歌是你的朋友。 ;-)
-
这里是完整的代码,如果你想看的话pastebin.com/H4kvbfpy
-
网上有 很多 的资源。 “当然”你已经尝试过它们,“但它不起作用”。没有必要在这里重复它们。
-
当我做 host_ip = gethostbyaddr((char *)&host, strlen(host), 0); std::cout h_addr;它给了我 httpa104-116-116-112.deploy.static.akamaitechnologies.com
标签: c sockets tcp network-programming