zoukankan      html  css  js  c++  java
  • 使用c++技术实现下载网页

    第一种方法:直接使用Socket

    第二种方法:WinInet中的类

    第三种方法:MFC封装类

    下面提供一种实现过程

     1 #include <iostream>
     2 #include <fstream>
     3 #include <string>
     4 #include <afxinet.h>
     5 using namespace std;
     6 
     7 
     8 int main()
     9 {
    10     //创建并且初始化Internet会话
    11     CInternetSession session("my brower");
    12 
    13     //http协议控制对象
    14     CHttpConnection* pServer=NULL;
    15 
    16     //http协议下的文件操作对象
    17     CHttpFile* pFile=NULL;
    18 
    19     //url地址
    20     CString m_adress="http://www.baidu.com/"; 
    21 
    22     CString strServer;
    23     CString strObject;
    24     INTERNET_PORT nPort;
    25     DWORD dwServiceType;
    26 
    27     //通过url地址解析出url对象的端口
    28     AfxParseURL(m_adress,dwServiceType,strServer,strObject,nPort);  //对网址进行解析
    29     pServer=session.GetHttpConnection(strServer,nPort);//主要是用来返回一个CHttpConnection的句柄
    30     pFile=pServer->OpenRequest(1,strObject,NULL,1,NULL,NULL,INTERNET_FLAG_EXISTING_CONNECT|INTERNET_FLAG_NO_AUTO_REDIRECT);
    31 
    32     pFile->AddRequestHeaders("my brower");    //添加一个或者多个CHttpFile对象到HTTP队列中请求处理
    33     pFile->SendRequest();   //把一个请求发送到http服务器ITPUB个人空间
    34 
    35     CString line;
    36     CString strConnect;
    37     while(pFile->ReadString(line))
    38     {
    39         //strConnect+=line+"\r\n";//读取源代码
    40         cout << line << endl;// 打印输出百度的源代码
    41     }
    42 }
  • 相关阅读:
    项目中常用的19条MySQL优化技巧
    集群的session问题解决方案
    nginx实现多个域名共享80端口
    spring-boot-maven-plugin多模块install问题解决办法
    JAVA-基础(十) Swing
    JAVA-基础(六) Java.serialization 序列化
    JAVA-基础(六) Java.io
    JAVA 基础--开发环境IDEA 搭建
    JAVA-基础(五) 更多工具集
    JAVA-基础(四) Aarryas 数组
  • 原文地址:https://www.cnblogs.com/xuxu8511/p/2701720.html
Copyright © 2011-2022 走看看