MFC WinInetHttp抓取网页代码内容

         Windows Internet编程主要包括两方面:

   l  服务器端

     l  客户端

 

WinInet编程

  Internet客户端主要实现的功能,主要是通过Internet协议(HTTP、FTP等)获取网络数据源(服务器)的信息。如,客户端可以访问服务器,获得天气预报、股票加个、新闻数据等信息。

  MFC为Internet客户端程序提供了专门的Win32 Internet扩展接口,即WinInet。

  在编写Wininet客户端程序时,可以直接调用Win32函数,也可以使用WinInet类库。

  WinInet为通用互联网协议(HTTP、FTP和Gopher)提供了统一的函数集,采用熟悉的Win32 API接口。

  WinInet实际上是包装在WinSock之上的,WinInet=WinSock+TCP/IP栈+Internet协议。

    

  使用WinInet进行客户端开发过程:

  1、  建立连接

  2、  发送请求

  3、  关闭连接

 C++ Code 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 
#include  <afxinet.h>

CInternetSession InetSession;
CString strLine;
CInternetFile *pInetFile = 
NULL ;
try
{
    pInetFile = (CInternetFile *)InetSession.OpenURL(strUrl);
}
catch  (CInternetException *pException)
{
    pInetFile = 
NULL ;
    pException->Delete();
}
CString strShowTxt;
char  sRecived[ 1024 ] = { 0 };
if  (pInetFile)
{
    
while  (pInetFile->ReadString((LPTSTR)sRecived,  1024 ))
    {
        
/*
        LPCTSTR lpLine = strLine.GetBuffer(strLine.GetLength());
        int nBufferSize = MultiByteToWideChar(CP_UTF8, 0,
                                              (LPCSTR)lpLine, -1,
                                              NULL, 0);
        wchar_t *pBuffer = new wchar_t[nBufferSize+1];
        MultiByteToWideChar(CP_UTF8, 0,
                           (LPCSTR)lpLine, -1 ,
                           pBuffer, nBufferSize*sizeof(wchar_t));
        strShowTxt = strShowTxt + (CString)pBuffer + _T("\r\n");
        free(pBuffer);
        */

        strShowTxt = strShowTxt + (CString)sRecived + _T(
"\r\n" );
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值