急,求各位大能帮忙,关于CInternetSession、OpenURL!!!

来源:百度知道 编辑:UC知道 时间:2024/05/30 11:08:07
下面是我的一段下载文件的代码:
{
……
CInternetSession *m_pSession = new CInternetSession();
CHttpFile* pFile = (CHttpFile*)(m_pSession->OpenURL(sUrl,1,INTERNET_FLAG_TRANSFER_BINARY | INTERNET_FLAG_RELOAD | INTERNET_FLAG_DONT_CACHE ));
DWORD dwRet;
pFile->QueryInfoStatusCode(dwRet);
if (dwRet == HTTP_STATUS_OK)
……
else
……
}
我的电脑上 dwRet = 200 正确,但有的别的电脑 dwRet = 404,说 找不到sUrl,但是我跟进去 sUrl 没错,可以用IE浏览器打开!
求各位帮忙,到底是什么原因有的电脑OpenURL不成功,以及解决方法!!!
问题解决了!O(∩_∩)O哈哈~
问题产生的原因是因为,在有的电脑上OpenURL中的sUrl包含汉字时自身进行的URL编码会出错(虽然还不找到是什么原因)。
在网上找到了URL编码程序,在OpenURL之前先把下载文件名进行一遍URL编码,就OK了。

感谢 http://blog.csdn.net/zhengyun_ustc/ 这个BLOG的作者!

概述 TCP/IP协议是一个四层协议,它由应用层、传输层、网络层和链路层构成。TCP/IP协议栈的每一层都由许多协议构成,从而构成了一个协议簇。 应用层主要包括的协议有Telnet、FTP、HTTP、SMTP/POP3和DNS等。

楼主您好 您已经知道答案了 这分不能浪费啊 给我好吗 拜谢