c++ getaddrinfo 不处理大 curl

标签 c++ sockets getaddrinfo

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/

相关文章:

c++ - 在C++中删除特定的预取文件

c++ - 将 uint64_t 转换为 std::string

python - 通过套接字向服务器发送多个数据(文本和图像)

c++ - 温索克 : Windows networking programming in C++

c - 解析并绑定(bind)到 IPv6 地址

c++ - Sockaddr union 和 getaddrinfo()

c++ - 模板的丑陋编译器错误

c++构造函数重载与initializer_list的歧义

android - 在同一网络上的两个Android设备之间发送数据

c - Unix getaddrinfo C函数启动服务器的用法