如何在linux下使用c++程序从远程url获取数据

How to fetch data from remote url using c++ program in linux?

本文关键字:url 数据 获取 程序 c++ linux      更新时间:2023-10-16

我希望通过我的c++程序读取web上托管的XML文件。我正在研究LINUX。我正在使用popen来读取

FILE* remote = popen("curl 'my_url_to_xml', "r")
fread(buf, 1024, 1, remote);

它工作,给我的内容在url,但它有这个额外的问题倾倒在屏幕上,即使我没有打印任何东西。整个操作也需要3000毫秒。对于我的用例来说,这太多了。

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                             Dload  Upload   Total   Spent    Left  Speed
0    71    0    71    0     0    309      0 --:--:-- --:--:-- --:--:--     0

有什么办法来解决这个问题或替代popen?我希望避免使用libcurl这样的第三方库。有本地解决方案吗?

EDIT—OK我接受甚至非本地解决方案也被接受。我首先关心的是popen。如果这个转储问题可以修复,我将使用popen本身。

用静音开关呼叫curl: -s--silent

我希望避免使用libcurl之类的第三方库。有本地解决方案吗?

。c++不是一种"web语言",它对XML或HTTP的内建支持为零。您需要使用libcurl之类的库。或者另一种编程语言。或者你自己重新实现其中一个。

说真的,只要使用libcurl或类似的工具就可以了。或者更好的是,使用Python。:)