c++ - 发出 URL 请求并读取字符串

标签 c++ string http url

首先我知道我不是第一个问这个问题的人,但我确实需要一个不同于 libcurl 的解决方案。

基本上我想做的是向服务器发出 HTTP 请求并将响应读入 std::string 值(char* 或 CString 也可以)。

libcurl 对我来说太大了(我需要进行静态链接;我不能将 DLL 与我的应用程序一起发送,我希望它尽可能小,curl 使我的应用程序大了大约 3M)。

感谢您的帮助!

最佳答案

我遇到了完全相同的问题,我的解决方案是:

DeleteUrlCacheEntryA("http://example.com/file.txt");
DWORD state = URLDownloadToFileA(NULL, "http://example.com/file.txt", "file.txt", 0, NULL);
if (state != S_OK)
{
    // can not download...
    return;
}

std::ifstream file("file.txt");
std::string result((std::istreambuf_iterator<char>(file)), std::istreambuf_iterator<char>());
file.close();
DeleteFileA("file.txt");

由于临时文件,它有点不准确,但它对我有用,我希望它对你有用。

关于c++ - 发出 URL 请求并读取字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29728538/

相关文章:

c++ - 在类内部与外部定义函数的性能

c++ - 10MB 图像使用 500MB RAM

java - 更改 Stripes HTTP 响应代码

javascript - 在没有 Math.max() 的情况下查找一串数字中的最大值

http - 为什么 bittorrent 没有得到更广泛的应用?

http - 带有 ARR : Route soap message to different server depending of the soap content 的 IIS

c++ - Boost:如何从现有属性树中获取子树?

c++ - 在具有多重继承的类构造函数中传递什么?

c - 为什么我得到错误的输出,我该如何解决这个问题?

c - 打印最后 -n 行输入