use*_*986 4 c++ url boost-asio
有很多例子如何向服务器发出HTTP请求并通过boost.asio库获得回复.但是,如果我需要自己实现它,我找不到简单界面的好例子并且想知道.
例如,如果我需要获取http://www.foo.bar/path/to/default.html的内容,有没有办法在不验证URL的情况下获取内容,发出HTTP请求并解析服务器答案?
基本上,我正在寻找这样的东西:
std::string str = boost::asio::get_content("http://www.foo.bar/path/to/default.html");
std::cout << str;
#
<HTML>
<BODY>
Simple HTML page!
</BODY>
</HTML>
Run Code Online (Sandbox Code Playgroud)
有几件事我想避免使用boost.asio.
Coy*_*ote 10
从那以后,有一个新人; 在C++网络库:CPP-NETLIB如指出这里.
你想用asio.我想你觉得这个lib的可移植性和易用性,所以在这种情况下cpp-netlib将是一个很好的选择.它基于与提升相同的原则,其作者旨在将其整合到提升中.
使用起来非常简单:
http::client client;
/*<< Creates a request using a URI supplied on the command line. >>*/
http::client::request request("http://www.foo.bar/path/to/default.html");
/*<< Gets a response from the HTTP server. >>*/
http::client::response response = client.get(request);
/*<< Prints the response body to the console. >>*/
std::cout << body(response) << std::endl;
Run Code Online (Sandbox Code Playgroud)
我没试过这个,但似乎可以完全按照你的需要做:
cout << body(client().get(client::request("http://www.foo.bar/path/to/default.html")));
Run Code Online (Sandbox Code Playgroud)
很久以前就问过这个问题,很遗憾把它从坟墓中挖出来.
| 归档时间: |
|
| 查看次数: |
9859 次 |
| 最近记录: |