当我说非标准库时,我指的是像Boost,libCurl和其他任何可能比标准C++更容易做到这一点的东西.这样做的原因是我正在编写一个应用程序作为课程作业(该类专用于C++),我只需要使用标准库和函数.
我希望下载一个RSS文件,使用用户将提供的URL(我正在建立一个基本的RSS客户端),我面临的最大问题是我不知道如何让文件失效.一旦我超过该位,解析xml标签并显示内容将相对简单.我一直在寻找,我只找到了使用非标准库的解决方案,通常是libCurl.如果有人能够让我快速了解我应该关注的内容,那么我将不胜感激.
而且,如果你认为你在帮助我作弊,那你就不是.赋值是构建我们选择的应用程序,我们正在评估我们使用语言的各种功能(它必须包含这么多类,使用这些变量类型等).
首先,仅使用标准C++无法完成.标准C++或标准C中没有网络接口.
如果您需要采取"自己动手"的方法,那么可能的意图是您将使用平台的套接字API.在linux的情况下,这是POSIX标准的一部分,而不是C++,并且可以从中获得<sys/socket.h>.
基本过程是:解析URL; 查找域的IP地址; 创建一个套接字; 连接插座; 写一个HTTP请求到套接字; 从套接字读回HTTP响应; 清理.
显然,HTTP库更方便,特别是因为HTTP下载可能比我上面描述的更复杂(例如,如果服务器响应重定向).几乎所有Linux发行版都将提供libcurl和/或curl和wget程序.
| 归档时间: |
|
| 查看次数: |
4640 次 |
| 最近记录: |