首页 > 代码库 > 开源一个C++实现的简单HTTP协议处理库
开源一个C++实现的简单HTTP协议处理库
HTTP协议库有两个版本,一个是基于WININET,一个则是使用socket实现的。
可以支持POST 、GET请求,断点下载、重定向下载、下载进度回调,不支持HTTPS。
接口头文件声明如下:
#pragma once #include <string> using std::string; using std::wstring; #include <stdio.h> #include <tchar.h> enum REQUEST_TYPE { post, get, }; //////////////////////////////////////////////////////////////////////////////////// //HTTP请求接口类 class IHttpInterface { public: //HTTP请求功能 virtual string Request(const string& strUrl, REQUEST_TYPE type, const string& strPostData=http://www.mamicode.com/"", string strHeader="")=0;>
源代码使用VS2008开发,有DLL、LIB对应的编译方式。使用时也比较简单的,示例代码如下:
// UseHttp.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include "../IHttp/IHttpInterface.h" #pragma comment(lib, "../bin/Release_s/IHttp") int _tmain(int argc, _TCHAR* argv[]) { IHttpInterface* pHttp=CreateHttpInstance(); //pHttp->Download(L"http://android.shoujids.com/software/download?id=154103", L"c:\\test.apk"); string strUrl="http://www.baidu.com"; string str=pHttp->Request(strUrl, get); pHttp->FreeInstance(); // CHttpSocket hs; // hs.ConnectUrl("android.shoujids.com"); // int nLoadSize=0; // hs.DownLoadFile("http://android.shoujids.com/software/download?id=154103", "c:\\test.zpk", &nLoadSize); return 0; }源码下载地址:HTTP协议库有bug欢迎指正。
开源一个C++实现的简单HTTP协议处理库
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。