vs2013下使用cpp-netlib遇到一个问题
各位前辈,最近需要使用到cpp-netlib这个库,安装完这个库后,我使用官方给得例子运行后发现,没办法进行http通信,get和post都没有返回任何东西。不知道,有没有遇到过类似情款,或者知道答案的能告诉我一下,谢谢
#include <boost/network/protocol/http/client.hpp> #include <boost/network/uri.hpp> #include <string> #include <fstream> #include <iostream> namespace http = boost::network::http; namespace uri = boost::network::uri; namespace { std::string get_filename(const uri::uri &url) { std::string path = uri::path(url); std::size_t index = path.find_last_of('/'); std::string filename = path.substr(index + 1); return filename.empty()? "index.html" : filename; } } // namespace int main(int argc, char *argv[]) { if (argc != 2) { std::cerr << "Usage: " << argv[0] << " url" << std::endl; return 1; } try { http::client client; http::client::request request(argv[1]); http::client::response response = client.get(request); std::string filename = get_filename(request.uri()); std::cout << "Saving to: " << filename << std::endl; std::ofstream ofs(filename.c_str()); ofs << static_cast<std::string>(body(response)) << std::endl; } catch (std::exception &e) { std::cerr << e.what() << std::endl; return 1; } return 0; }
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
建议你可以通过抓包先定位问题方向:
1、数据请求有没有发送出去?
1.1、如果没发送,那么就检查发送相关代码。检查网络有没有问题。
2、如果发送了,那么服务器有没有给响应?
2.1、如果没有响应<!!!一般不可能!!!>,那么是服务器有问题。那么,可以用浏览器+相同的url来试试,看看url是不是有问题
2.2、如果有响应,那么就是接收数据的地方有问题,检查接收数据相关代码。
有了一定的方向,可以缩小排查范围。定位问题,可以不断的缩小范围