博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MFC HTTP GET 请求
阅读量:5748 次
发布时间:2019-06-18

本文共 2103 字,大约阅读时间需要 7 分钟。

//HTTP GET 下载文件	CInternetSession *pInetSession = new CInternetSession(AfxGetAppName(),1,PRE_CONFIG_INTERNET_ACCESS);	CHttpConnection	*pHttpConn = NULL;	CHttpFile *pHttpFile = NULL;	CString strUrl;	DWORD dwServiceType;	CString strServer, strObj, strUser, strPwd;	INTERNET_PORT nPort;	strUrl = "http://www.tdx.com.cn/products/data/data/dbf/base.zip";	if (!AfxParseURLEx(strUrl, dwServiceType, strServer, strObj, nPort, strUser, strPwd, ICU_NO_ENCODE))	{		MessageBox("下载地址有误!...");		return;	}	if (!pHttpConn)	{		pHttpConn = pInetSession->GetHttpConnection(strServer, INTERNET_INVALID_PORT_NUMBER, "ELIMINATOR77","PANZER76");	}	int nVal = 6000;	pInetSession->SetOption(INTERNET_OPTION_CONNECT_TIMEOUT, &nVal, sizeof(nVal));	pHttpFile = pHttpConn->OpenRequest("GET",strObj);	try	{		MessageBox(_T("正在连接到网站..."));		pHttpFile->SendRequest();	}	catch (CInternetException *pEx)	{		MessageBox("下载出错...");		pEx->Delete();		delete pHttpFile;		return;	}	DWORD dwRet;	pHttpFile->QueryInfoStatusCode(dwRet);	if (dwRet != HTTP_STATUS_OK)	{		CString error;		error.Format("出错了,错误码:%d",dwRet);		AfxMessageBox(error);		return;	}	char szPath[100]={0};	GetCurrentDirectory(sizeof(szPath),szPath);	CString HomePath;	HomePath = szPath;	int p1 = HomePath.ReverseFind('/');	int p2 = HomePath.ReverseFind('\\');	int pos = max(p1,p2);	if (pos > 0)	{		HomePath = HomePath.Left(pos+1);	}	CString filePath;	filePath.Format("%s%s",HomePath,"base.zip");	//TCHAR* pszFileName = _T("Open_File.dat");	CFile tempFile;	CFileException fe;	//CFile tempFile(filePath, CFile::modeCreate|CFile::modeWrite);	if (!tempFile.Open(filePath, CFile::modeCreate|CFile::modeWrite, &fe))	{		DWORD erno = GetLastError();		CString error;		TCHAR szErr[512]={0};		fe.GetErrorMessage(szErr,sizeof(szErr));		error.Format("不能将下载文件存盘:%s",szErr);		AfxMessageBox(error);		//return;	}	int numread = 0;	char buf[512]={0};	while ((numread=pHttpFile->Read(buf,sizeof(buf)-1)) > 0)	{		tempFile.Write(buf,numread);	}	tempFile.Close();	pInetSession->Close();	delete pInetSession;	pHttpFile->Close();	delete pHttpFile;

  

转载于:https://www.cnblogs.com/SZxiaochun/p/6862373.html

你可能感兴趣的文章
实现java导出文件弹出下载框让用户选择路径
查看>>
刨根问底--技术--jsoup登陆网站
查看>>
Spring--通过注解来配置bean
查看>>
nginx rewrite
查看>>
前端安全系列(一):如何防止XSS攻击?
查看>>
查看Linux并发连接数
查看>>
CSS中规则@media的用法
查看>>
pychecker:分析你的python代码
查看>>
我的友情链接
查看>>
DNS显性+隐性URL转发原理
查看>>
我的友情链接
查看>>
网易有道 IP地址、手机号码归属地和身份证 查询接口API
查看>>
鼠标停留在GridView某一行时行的颜色改变
查看>>
系列3:WAS Liberty Profile hello mysql jdbc
查看>>
基础知识:python模块的导入
查看>>
Android MVC之我的实现
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
关于批处理-1
查看>>
Tomcat部署Web应用方法总结
查看>>