请问在C++中有什么库可以完成使用http协议通信

zuoluoyun 2010-03-04 09:08:42
最近在做一个网页内容获取的程序,需要抓取网页的html代码,我知道在MFC下好像WinInet可以完成这个过程。除了MFC以外还有什么库的类可以完成这个功能? 或者有什么现有比较程序的开源项目吗?
...全文
1174 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
coffee_machine 2010-03-05
  • 打赏
  • 举报
回复
CString NetAddress = "http://wap.sohu.com";
CoInitialize(NULL);
try
{
IXMLHTTPRequestPtr xmlrequest;
xmlrequest.CreateInstance("Msxml2.XMLHTTP");
_variant_t varp(false);
xmlrequest->open(_bstr_t("GET"),_bstr_t(NetAddress),varp);
xmlrequest->send();
BSTR bstrbody;
xmlrequest->get_responseText(&bstrbody);
_bstr_t bstrtbody(bstrbody);

::AfxMessageBox((LPCTSTR)bstrtbody);
//return (LPCTSTR)bstrtbody;
}
catch (_com_error &e)
{
printf("Description = '%s'\n", (char*) e.Description());
}
CoUninitialize();

(LPCTSTR)bstrtbody) 里面就是该网页html的内容
zuoluoyun 2010-03-05
  • 打赏
  • 举报
回复
引用 1 楼 jiangsheng 的回复:
C++中没有,不过基本上所有的网络库都可以被C++调用,比如.Net类库里面的System.Net类、ACE等等。

WinInet是IE的API,服务里不能用。winhttp没有这个限制。


“服务里不能用”是什么意思?意思是不是不能用写成Windows的服务?我现在只想做一个一般的应用程序,用WinInet来抓某个网页的html源代码,是可以的吧?
zuoluoyun 2010-03-05
  • 打赏
  • 举报
回复
我只是想抓出网页的html源文件,不需要解析html。就是完成一个http通信过程。
Waiting4you 2010-03-05
  • 打赏
  • 举报
回复
如果想跨平台或通用一点,可以使用libCURL库,参考这里:
http://www.cppprog.com/2009/1209/185.html
ziplj 2010-03-05
  • 打赏
  • 举报
回复
CHttpFile比较简单
yanghehong 2010-03-04
  • 打赏
  • 举报
回复
引用楼主 zuoluoyun 的回复:
最近在做一个网页内容获取的程序,需要抓取网页的html代码,我知道在MFC下好像WinInet可以完成这个过程。除了MFC以外还有什么库的类可以完成这个功能? 或者有什么现有比较程序的开源项目吗?


是要完成HTTP协议的解析,还是要解析HTML标记??这应该是两个不同层面的问题



- 千里孤行
StarsunYzL 2010-03-04
  • 打赏
  • 举报
回复
是个网络库的基本都可以实现抓取网页吧,C++比较有名的网络库有ACE、boost.asio
bigpeon 2010-03-04
  • 打赏
  • 举报
回复
boost




.
蒋晟 2010-03-04
  • 打赏
  • 举报
回复
C++中没有,不过基本上所有的网络库都可以被C++调用,比如.Net类库里面的System.Net类、ACE等等。

WinInet是IE的API,服务里不能用。winhttp没有这个限制。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧