C++ 套接字。从网站获取信息。
我正在尝试使用套接字从 Web 读取内容。使用以下代码。
int status = getaddrinfo(l_url.c_str(), "http", &l_address, &l_addr_ll);
if (status != 0 ){
printf("\n ***** getaddrinfo() failed: %s\n", gai_strerror(status));
return FAILURE;
}
该代码适用于“www.yahoo.com”、“www.google.com”等网址,但不适用于“www.google.com/nexus”等网址。
任何带有“/”的 URL 都不适用于此代码。我错过了什么吗?
最佳答案
getaddrinfo
为您提供有关网络地址的信息,而不是有关 URL 的信息。 URL 不是网络地址,尽管它通常包含一个。像“www.google.com/nexus”这样的字符串既不是 URL 也不是地址(尽管它很可能是 URL 的一部分),因此 getaddrinfo
失败也就不足为奇了。
关于c++ getaddrinfo 不处理大 curl ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19354086/