解决方法:未知此类主机
resolve: No such host is known?
>我在尝试使用 c++ 中的提升解析器解析端点时遇到了一个奇怪的问题。
箱:我正在尝试使用提升 http://localhostIpAddress/test/连接到网站。其中服务器的本地地址是"172.34.22.11"(比如)。
我面临错误,说"解决:不知道这样的主机"
但是当我连接到像 google.com 这样的网站时,它能够成功解决和连接。另外,即使我尝试在浏览器中打开"http:://localhostIpAddress/test/",它也会成功打开。
下面是我的代码:
int main()
{
std::cout << "nWebClient is starting... n";
boost::asio::io_service IO_Servicehttp;
boost::asio::ip::tcp::resolver Resolverhttp(IO_Servicehttp);
std::string porthttp = "http";
boost::asio::ip::tcp::resolver::query Queryhttp("172.34.22.11/test/", porthttp);
boost::asio::ip::tcp::resolver::iterator EndPointIteratorhttp = Resolverhttp.resolve(Queryhttp);
g_ClientHttp = new HTTPClient(IO_Servicehttp, EndPointIteratorhttp);
}
catch (std::exception& e)
{
std::cerr << e.what();
}
}
在HTTPClient中.cpp
HTTPClient::HTTPClient(boost::asio::io_service& IO_Servicehttp, boost::asio::ip::tcp::resolver::iterator EndPointIterhttp)
: m_IOServicehttp(IO_Servicehttp), m_Sockethttp(IO_Servicehttp),m_EndPointhttp(*EndPointIterhttp)
{
std::cout << "n Entered: HTTPClient ctor n";
boost::asio::ip::tcp::resolver::iterator endhttp;
boost::system::error_code error= boost::asio::error::host_not_found;
try
{
while (error && EndPointIterhttp != endhttp) //if error go to next endpoint
{
m_Sockethttp.async_connect(m_EndPointhttp,boost::bind(&HTTPClient::OnConnect_http, this, boost::asio::placeholders::error, ++EndPointIterhttp));
}
if(error)
throw boost::system::system_error(error);
}
catch (std::exception& e)
{
std::cerr << e.what() << std::endl;
}
m_IOServicehttp.run();
}
我已经浏览了很多由谷歌指导的网站,但没有找到与此问题相关的任何内容。任何帮助或提示将不胜感激
正在解析的主机名无效。 尝试将解析程序的查询主机更改为"172.34.22.11"。 在网址中,"http://172.34.22.11/test/":
- "http"是协议
- "172.34.22.11"是需要解决的主机
- "/test/"是路径
在高级别上,网络通信通过 TCP 在客户端和服务器(主机)之间进行。 客户端将创建一个 HTTP 请求,将路径作为请求的一部分包含在内,并将完整的请求写入 TCP 套接字。 服务器将从 TCP 套接字读取 HTTP 请求,根据路径处理请求,然后通过 TCP 向客户端写入 HTTP 响应。
<小时 />主机名用点连接,并指定为仅允许:
- ASCII 字母"a"到"z"
- 数字
- 连字号
因此,"172.34.22.11/test/"包含无效字符,可能无法解析。 有关更多详细信息,请参阅 RFC952 和RFC1123。
相关文章:
- 继承期间显示未知行为的子类
- 输入中的字符串数未知(以字母表示)
- Cuda C++:设备上的Malloc类,并用来自主机的数据填充它
- 具有未知值时的时间复杂性
- EvtExportLogneneneba API正在将远程计算机的事件日志保存到远程PC本身.如何将其保存到主机
- 链表中写入访问冲突的未知原因
- 正在生成未知类实例
- Bjarne Stroustrup Book - std_lib_facilities.h - 不起作用(未知类型名称)
- 读取文件时运行时的未知行为
- 代码在我的计算机上运行良好,但是在将其提交给coursera时遇到未知的信号11问题
- 初始化多个未知基类
- 使用 make 编译 MPI,几个命名空间错误,例如"错误:未知类型名称'使用'?
- 如何停止 CLR 主机?
- 如何存储未知次数迭代的输入?
- QtQuick - qml:28:错误:未知方法返回类型:自定义类型
- 编译 Boost 时在 OS X 上的"ld:未知选项:-soname"
- 如何强制 Thrift 仅接受来自本地主机的连接
- 无法将主机名"localhost"转换为地址:未知服务器错误
- gethostbyaddr 错误未知主机
- 解决方法:未知此类主机