Windows API OpenURL无法设置超时时间替换方法

本文介绍了当使用Windows API OpenURL无法设置超时时间的问题,提出了一种替代方法。通过分析和利用UrlPlus.h及UrlPlus.cpp文件,实现对URL打开操作的超时控制,确保了程序的稳定性和效率。
摘要由CSDN通过智能技术生成
问题背景:
       在VC++下面开发访问HTTP页面,最简单的方法莫过于下面这样的调用方式,这样写完程序测试OK,但是上线运行一段时间,程序时不时给你弹出一个什么错误,点击确定之后程序异常退出,这是为什么呢,仔细查看这一段代码,我们可以看出代码中没有设定HTTP访问超时的时间,问题可能就出在这,因为我将程序这段代码屏蔽掉运行没有问题。
       因此我在网上查找相关信息,大部分人说Windows这个OpenURL函数就不能设定时间,迫于无奈我信了,只能想其他解决办法,这时找到了CURL开源代码,据说伟大的苹果也在使用这个开源代码,于是决定修改代码使用CURL,详情请见第二部分具体解决办法:
char* headers="Accept:*/*\r\nAccept-Language:zh-cn\r\nContent-type:text/html;charset=ANSI\r\nUser-Agent:ImportFileClient\r\n";
	CHttpFile * pFile = (CHttpFile *)m_pInternetSession->OpenURL(strURL, 1, INTERNET_FLAG_TRANSFER_ASCII||INTERNET_FLAG_RELOAD, headers, strlen(headers));
 	DWORD dwStatusCode;
	pFile->QueryInfoStatusCode(dwStatusCode);
	if (dwStatusCode == HTTP_STATUS_OK)
	{
		CFile file(strSavePath, CFile::modeCreate | CFile::modeWrite);
		CString szData;/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值