我希望我的程序从我提供的链接下载一些音频文件并保存。
我知道这可以在命令行中使用 curl
轻松完成(例如:curl -A "Mozilla""www.example.com"> hello.mp3
我看到了 system()
用于运行 curl
的示例(即它看起来像 system(curl -A "Mozilla""www.example .com"> hello.mp3)
。尽管这是一个简单的解决方案,但对我来说似乎很糟糕。
使用匹配库(在本例中为 libcurl)编写等效代码是否更好?
大家怎么看?
P.S - 从某种意义上说,这是一个普遍的问题。我的意思是,有许多命令行程序可以通过 system() 运行以获得快速简单的结果。问题是用这个方法来实现是否可以。
最佳答案
是的,直接使用libcurl
会更好。 这就是它存在的目的。
这样,您就可以避免:
- 系统调用的成本
- 产生新进程的成本
- 系统调用中潜在的安全相关错误
从 shell 调用 curl
基本上会无缘无故地生成一个新的 shell 和新的进程,然后继续在该进程中使用 libcurl
。去掉中间人。
关于c++ - 使用 libcurl 库与使用 system() 调用 curl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22669642/