HTTP客户端示例在win32上

我想在win32平台上开发一个asynchronous的HTTP例子。

我是win32编程新手,可以知道api和库win32平台是什么

提供HTTP发送和接收请求。

我正在使用VS 2005的Windows XP。

如果有任何例子可以直接在网上提供给我的链接,

关于Vinayaka karjigi

您可以使用WinHTTP库。 这里是一个异步完成的例子。

Window HTTP Services “为开发人员提供了一个HTTP客户端应用程序编程接口(API),通过HTTP协议向其他HTTP服务器发送请求。

HTTP server API “使应用程序能够通过HTTP进行通信,而无需使用Microsoft Internet Information server(IIS)”

一般来说,我会推荐像cURL,POCO,Qt或Asio(非常现代和漂亮)的跨平台的东西。 但是,以下是使用IXMLHTTPRequest的Windows示例:

 // TODO: error handling #include <atlbase.h> #include <msxml6.h> HRESULT hr; CComPtr<IXMLHTTPRequest> request; hr = request.CoCreateInstance(CLSID_XMLHTTP60); hr = request->open( _bstr_t("GET"), _bstr_t("http://img.zgserver.com/c%2B%2B/logo11w.png"), _variant_t(VARIANT_FALSE), _variant_t(), _variant_t()); hr = request->send(_variant_t()); // get status - 200 if succuss long status; hr = request->get_status(&status); // load image data (if url points to an image) VARIANT responseVariant; hr = request->get_responseStream(&responseVariant); IStream* stream = (IStream*)responseVariant.punkVal; CImage image = new CImage(); image->Load(stream); stream->Release(); 

Boost Asio是一个很好的同步/异步库,拥有HTTP服务器/客户端所需的一切。 它在HTTP服务器和相关的客户端上有一些广泛的例子。 现在,如果你是新来的C ++一般这个库可能有点神秘。 如果你想从头开始做更多的事情,你总是可以去看看MSDN。

这是一个例子

https://github.com/pedro-vicente/lib_netsockets

用于POSIX和Winsock套接字的C ++轻型封装器

它使用HTTP GET从Web服务器检索文件,服务器和文件都是命令行参数。 远程文件保存到本地副本。