使用getaddrinfo中url:port/url的c++套接字编程
c++ socket programming with url:port/url in getaddrinfo
重新学习c++,对套接字相当陌生。我有一个连接正常的Python应用程序和一个工作正常的。net应用程序。
我需要调用的URL是domain.com:8080/signalr
。我正在遵循一个似乎是标准的例子,例如:
if ((rv = getaddrinfo("www.domain.com", PORT, &hints, &servinfo)) != 0) {
…但无论我怎么尝试,我得到的都是未知的名称或服务。
- 呼叫
domain.com/signalr:8080
无效 - 我尝试离开PORT null
如果重要的话,这是在Raspbian (Debian)上运行的。
getaddrinfo()
所做的是名称解析。它不实现HTTP协议。而且,它不知道如何解析URL,你必须自己做。
正确的调用应该是这样的:
getaddrinfo("www.Domain.com", "8080", ...);
这将返回正确的struct sockaddr*
调用connect()
和做所有套接字的东西。
如果你想要一个为你完成所有HTTP协议的函数,你将需要一个更高级别的库。我推荐libcurl
。
相关文章:
- 如何使用url确定网站协议
- 下载URL中的所有文件
- 使用libcurl提交批量url的正确BING Api POST url是什么
- 将所有 URL 组织在类中的一个位置
- 从 C++ 中的 URL 获取结果
- 在加载 MSHTML 文档之前从 MSHTML 文档中删除无效的 URL
- 连接到 URL Sqlite 数据库C++
- 如何在QTextEdit中添加URL或IMAGE-URL
- c++ 网络浏览器块 url
- PHP Profiler语言 - 使用 C++ 从 PHP 扩展获取客户端 IP 和 URL
- 如何在C++中获取重定向网页的URL
- #include of a HTTP URL in C++
- C++ libcurl - 无法从 URL 检索整个 html 内容
- Bazel:http_archive()中url的相对本地路径
- Winsock 数据不是从 IP 检索的,而是从普通 URL 检索的
- 如何使用libcurl c ++从url保存XML文件
- 哪些字符会自动C++ Windows HttpOpenRequest() 进行 url 转义?
- 将 URL/href 从网络服务器重新派生到ESP8266(以处理它)
- 当我读取一个大小为 17 mb 的 100 万个 url 文件时,我的程序占用大小为 163 MB
- 使用点云库从C++中的 URL 读取文件,而不是本地文件