2013-04-24 86 views
1

我希望通過我的C++程序閱讀在Web上託管的XML文件。我正在LINUX上工作。 我目前正在使用popen來閱讀。如何使用Linux中的c + +程序從遠程URL獲取數據?

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。如果這個傾銷問題能夠得到解決,我會自己去做。

回答

2

呼叫curl與靜音開關:-s--silent

+0

感謝。你能給我一個想法如何將它與popen包含在一起嗎? – Abhishek 2013-04-24 17:17:15

+0

@Abhishek你只需編輯代碼中顯示的'curl'調用並添加開關:'popen(「curl --silent'my_url_to_xml',」r「)' – David 2013-04-27 04:14:34

1

我希望避免像libcurl這樣的第三方庫。任何本地解決方案

編號C++不是「Web語言」,它對內置的XML或HTTP沒有支持。您需要使用像libcurl這樣的庫。或另一種編程語言。或者自己重新實現其中的一個。

說真的,只要使用libcurl或類似的工具就可以完成。或者甚至更好,使用Python。 :)

相關問題