首先我知道我不是第一个问这个问题的人,但我确实需要一个不同于 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/