从网站上读取数据的方法

导读:
  1.把文件下到本地
  STDAPI URLDownloadToFileA(LPUNKNOWN,LPCSTR,LPCSTR,DWORD,LPBINDSTATUSCALLBACK);
  STDAPI URLDownloadToFileW(LPUNKNOWN,LPCWSTR,LPCWSTR,DWORD,LPBINDSTATUSCALLBACK);
  strIniURL= web
  m_strIniTemp = m_strAppPath + _T("temp//update.ini");
  if ( URLDownloadToFile( NULL, m_strIniURL, m_strIniTemp,0, NULL ) == S_OK )
  {//直接下文件}
  2.把文件全部读出
  CString CVDialerDlg::URLDownloadA(CString pHttp,CString strObjName)
  {
  CString strRet = "Error";
  CInternetSession m_cis;
  CHttpConnection *m_pHttp;
  DWORD m_dwHttpRequestFlags;
  INTERNET_PORT m_dwPort=80;
  
  m_dwHttpRequestFlags=HSR_DOWNLOAD | INTERNET_FLAG_EXISTING_CONNECT | INTERNET_FLAG_NO_AUTO_REDIRECT;
  //
  m_cis.SetOption(INTERNET_OPTION_CONNECT_TIMEOUT,3000);
  m_pHttp=m_cis.GetHttpConnection(pHttp,m_dwPort);
  //
  //
  CHttpFile *pFile = m_pHttp->OpenRequest(CHttpConnection::HTTP_VERB_GET,
  strObjName, NULL, 1, NULL, NULL, m_dwHttpRequestFlags);
  try
  {
  pFile->SendRequest();
  }
  catch (...)
  {
  return strRet;
  }
  
  //
  if(pFile)
  {
  char bufHttp[256]={0};
  pFile->Read(bufHttp,256);
  
  CString strMsg;
  strMsg.Format("%s",bufHttp);
  int nlen = strMsg.Find("UPDATEURL");
  strMsg = strMsg.Left(nlen-2);//换行
  nlen = strMsg.Find("VERSION=") +8;
  nlen = strMsg.GetLength() - nlen;
  strMsg= strMsg.Right(nlen);
  strRet = strMsg ;
  }
  
  return strRet;
  }
  3.打开文件,逐行读出
  CInternetSession mySession(NULL,0);
  CHttpFile* myHttpFile=NULL;
  
  CString myData;
  CString myUrl;
  CString m_SiteInfo;
  myUrl = "http://www.mmm.com/mmm/update/test1/update.ini";
  myHttpFile=(CHttpFile*)mySession.OpenURL(myUrl);
  while(myHttpFile->ReadString(myData))
  {
  m_SiteInfo = myData;
  AfxMessageBox( m_SiteInfo );
  }
  
  myHttpFile->Close();
  mySession.Close();
  Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1863338

本文转自
http://blog.csdn.net/chenjiq/archive/2007/11/02/1863338.aspx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值