MFC下http连接网络(get方法)

MFC http 连接网络

 

1.          初始化

#include "afxsock.h"

BOOL CHttpClinetDlg::OnInitDialog()

{

 

      // TODO: Add extra initialization here

      if(AfxSocketInit(NULL)==FALSE)

      {

             AfxMessageBox("Socket Init Error");

      }

 

      return TRUE;  // return TRUE  unless you set the focus to a control

}

2.          连接网站,获取信息

void CHttpClinetDlg::OnGet()

{

      // TODO: Add your control notification handler code here

      UpdateData(TRUE);

      CInternetSession mySession(NULL,0);

      CHttpFile* myHttpFile=NULL;

      Cstring m_URL = “163.com”;

      m_infor="link net :: "+m_URL+"/r/n";

      UpdateData(false);

 

      CString myData;

      myHttpFile=(CHttpFile*)mySession.OpenURL(m_URL);

 

Cstring    temp;

      while(myHttpFile->ReadString(myData))

      {

             temp.Format("realLen = %d", myData.GetLength());

             if (myData.GetLength())

             {

                    MyWriteFile((BYTE*)myData.GetBuffer(myData.GetLength()), myData.GetLength());

                    myData.ReleaseBuffer();

             }

 

             m_infor=m_infor+"/r/n";

             m_infor+=myData;

      }

 

      myHttpFile->Close();

      mySession.Close();

      UpdateData(false);

}

 

BOOL CHttpClinetDlg::MyWriteFile(BYTE *buffer, int len)

{

      CFile file;

      CFileException e;

 

      CString   path= "";

 

      GetModuleFileName(NULL,path.GetBuffer(MAX_PATH),MAX_PATH);

      path.ReleaseBuffer();

 

      path = path.Left(path.ReverseFind('//'));

      path += "//";

      path += "SaveData.txt";

 

      if( !file.Open( path, CFile::modeCreate | CFile::modeNoTruncate | CFile::modeWrite, &e ) )

      {

             //´íÎó

             AfxMessageBox(_T("MyWriteFile error::"));

             return FALSE;

      }

 

      file.SeekToEnd();  

      file.Write(buffer,len);

      file.Close();

      return TRUE;

 

}

3.          结束

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值