1

我希望通过我的 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 等第三方库。任何本机解决方案?

编辑——好的,我接受即使是非本地解决方案也被接受。我的第一个担忧是公开的。如果这个倾销问题可以解决,我会选择 popen 本身。

4

2 回答 2

2

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

于 2013-04-24T14:12:50.340 回答
1

我希望避免使用 libcurl 等第三方库。任何本机解决方案?

不。C++ 不是“网络语言”,它对内置的 XML 或 HTTP 的支持为零。您需要使用像 libcurl 这样的库。或者另一种编程语言。或者自己重新实现其中之一。

说真的,只需使用 libcurl 或类似的东西就可以了。或者更好的是,使用 Python。:)

于 2013-04-24T14:03:22.647 回答