2475|1

68

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

急! 使用wininet API 实现Http下载 [复制链接]

刚刚接触Wince 6.0 现在要实现一个使用url链接下载的功能 ,参考了网上一些程序编写如下代码

  1. void CHttpGet::Download(CString url)
  2. {
  3.         try
  4.         {
  5. CStdioFile* pSFile=NULL;
  6. CInternetSession* m_pInetSession=new CInternetSession(NULL,1,INTERNET_OPEN_TYPE_DIRECT,NULL,NULL,0);
  7. //打开URL文件,返回CStdioFile
  8. LPCTSTR curl=(LPCTSTR)url.GetBuffer(url.GetLength());
  9. pSFile = m_pInetSession->OpenURL(L"http://file1.top100.cn/200908161441/21CC5B00B81E9E38CDEBAF6D712FC7FC/Special_28186/%E6%B0%B4%E6%99%B6%E8%9C%BB%E8%9C%93.mp3");
  10. //缓冲区
  11. BYTE pBuf[1024] = {NULL};
  12. CFile pCFile = NULL;
  13. //创建本地文件
  14. pCFile.Open(_T("c:\"),CFile::modeCreate | CFile::modeWrite | CFile::typeBinary);
  15. //从缓冲区循环读取文数据
  16. while (int bytesread = pSFile->Read(pBuf,1024))
  17. {
  18.         //指针移到文件结尾
  19.         pCFile.SeekToEnd();
  20.         //将读取的缓冲区数据写入本地文件
  21.         pCFile.Write(pBuf,bytesread);
  22. }
  23. //关闭本地文件
  24. pCFile.Close();
  25. //关闭CStdioFile
  26. pSFile->Close();
  27. delete m_pInetSession;
  28. AfxMessageBox(L"Finish!  the directory is C:\",0,0);
  29. }
  30. catch(CInternetException* lpEx)
  31. {
  32. lpEx->ReportError();
  33. lpEx->Delete();
  34. AfxMessageBox(L"failed !",0,0);[code]
  35. }
复制代码

编译通过了 在Debug时 发现调用OpenURL函数时出现“the server name or address could not be resolved”
跟踪到inet.cpp 发现是由于

  1. hOpener = InternetOpenUrl(m_hSession, pstrURL, pstrHeaders,dwHeadersLength, dwFlags, dwContext); //返回为0 造成的
复制代码
一开始以为是我使用调用CString 类型的url造成的, 后来把类型转换成LPCSTR 还是不行
是不是还要把http数据包头补上?? 求各位高手指点~~

最新回复

换吧 前几天用wininet的FTP那些API,愣是没找到原因...  详情 回复 发表于 2009-8-20 14:59
点赞 关注

回复
举报

59

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
换吧
前几天用wininet的FTP那些API,愣是没找到原因...
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表