文章类型: VC&C++
关键词: vc++,mfc下访问http的类,接口非常简单,很好用
内容摘要: vc++ mfc下访问http的类,接口非常简单,很好用

vc++ mfc下访问http的类,接口非常简单,很好用

2016/8/23 14:03:38    来源:apple    阅读:

因为用c++访问http的操作有很多,但是,用socket访问太麻烦,直接用微软的api又没有那么大的自由度。所以自己写了一个。

能很方便的实现ccookie管理,get,post操作。支持代理访问,图片下载。

下面是c++ http类的头文件:

 

#pragma once
class CHttp
{
public:
CHttp(void);
~CHttp(void);
virtual bool put(CString inbuff,CString *outbuff,CString type);
virtual bool get(CString url,CString *result);
virtual bool get(CString ip,CString port,CString url,CString *result);
virtual bool post(CString url, CString pstr, CString* result);
virtual bool post(CString ip,CString port,CString url,CString pstr, CString *result);

virtual bool getimage(CString url,CString path);

virtual bool m_connect(unsigned long ip,CString port);
virtual void BulidCookie(CString urlsc);
virtual CString fakeip(void);

CString cookie;
CString pryIp;
CString pryPort;
CString referer;

protected:
DWORD dwTimeOut;
SOCKET MySocket;
bool m_bConnect;

CString host;
CString nfakeip;

int m_nContent;
bool chunked;
public:
virtual int Init(void);
virtual int UInit(void);

};


使用实例:

1.get网页资源:

(1)将类文件加入工程,并包含头文件

#include "http.h"

(2)添加一个变量 urls,存储返回的http源码

CString urls;

CHttp http;//实例化类

http.Init();//初始化(添加socket库支持)

http.get("http://www.it900.net/",&urls);



好了,四句代码就把www.it900.net的主页http源码下载出来了,是不是很方便。

2.post方法:

添加头文件,新建类,初始化就不说了,根据post函数接口新建一个要post的CString;

比如要发送这个变量:

 

CString pram=“urername=11&password=22&button=login”;

http.post("http://xiaoqin.in",pram,&urls);


这样就把pram的内容post到了网页了。

3.代理支持。

如果要使用192.168.1.1:80这个代理

则直接:

 

http.get("192.168.1.1","80","http://www.it900.net/",&urls);


非常的方便简洁。



如果有什么问题,直接在本blog留言就行,只是自己用,可能有不完善的地方望见谅,用这个类写过很多程序了,都好像没出什么问题,有更好的建议请联系我。

类文件下载地址:

http.zip (提取码:8381)

↑ 上一篇文章:dll的概念 dll导出变量 函数 类 关键词:C++/C,VC/MFC,Windows,编程 发布日期:2016/8/23 13:34:34
↓ 下一篇文章:VC++动态链接库(DLL)编程深入浅出(转载并进行整理更新内容) 关键词:VC++动态链接库(DLL)编程深入浅出,转载并进行整理.. 发布日期:2016/8/24 15:09:57
相关文章:
VC++中将CString转换成const char*的一种有效方法 关键词:VC++,CString,转换,const,char 发布日期:2016-09-23 15:26
vc++ C函数atoi和itoa的用法总结 关键词:vc++,C函数,atoi,itoa,用法,总结,integer,string,signal,语言 发布日期:2017-09-26 17:32
VC++中delete和delete[] 的区别 关键词:VC++,delete,delete【】,区别 发布日期:2017-08-30 14:56
相关目录:.NETVC&C++软件开发
我要评论
正在加载评论信息......