• 大小: 4.01KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-03-28
  • 语言: 其他
  • 标签: 其他  

资源简介

本资源是一个封装类,采用异步方式解决了Wininet不能设置超时的问题,当前异步采用C++11线程库及同步方式,可修改为MFC工作线程后在VS2012以下版本使用。JSON解析库采用JSONCPP。调用方式参考:
 CWininetHttp MyHttp;
 bool bSucess=false;
 iMyHttp.RequestJsonInfo((LPCTSTR)m_strUrl,Hr_Post,"Content-Type:application/x-www-form-urlencoded",strData,m_nTimeOut);
 if (!MyHttp.ParseJsonInfo())

资源截图

代码片段和文件信息

#include “stdafx.h“
#include “WininetHttp.h“  
#include   
#pragma comment(lib “Wininet.lib“)  
#include   
using namespace std;  

CWininetHttp::CWininetHttp(void):m_hSession(NULL)m_hConnect(NULL)m_hRequest(NULL)  

m_mapErr[Hir_Success]=_T(“成功“);
m_mapErr[Hir_InitErr]=_T(“初始化失败“);
m_mapErr[Hir_ConnectErr]=_T(“连接HTTP服务器失败“);
m_mapErr[Hir_SendErr]=_T(“发送请求失败“);
m_mapErr[Hir_QueryErr]=_T(“查询HTTP请求头失败“);
m_mapErr[Hir_404]=_T(“页面不存在“);
m_mapErr[Hir_IllegalUrl]=_T(“无效的URL“);
m_mapErr[Hir_CreateFileErr]=_T(“创建文件失败“);
m_mapErr[Hir_DownloadErr]=_T(“下载失败“); 
m_mapErr[Hir_QueryIPErr]=_T(“获取域名对应的地址失败“); 
m_mapErr[Hir_SocketErr]=_T(“套接字错误“); 
m_mapErr[Hir_UserCancel]=_T(“用户取消下载“); 
m_mapErr[Hir_BufferErr]=_T(“文件太大,缓冲区不足“); 
m_mapErr[Hir_HeaderErr]=_T(“HTTP请求头错误“); 
m_mapErr[Hir_ParamErr]=_T(“参数错误,空指针,空字符“); 
m_mapErr[Hir_UnknowErr]=_T(“未知的错误“);  
ready = false;
m_bSucess = false;
}  

CWininetHttp::~CWininetHttp(void)  
{  

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        7694  2017-11-25 16:58  WininetHttp.cpp
     文件        2616  2017-11-24 23:04  WininetHttp.h

评论

共有 条评论