怎样用API获取网页的源代码,要能随时取消

解决方案 »

  1.   

    Visual C++ 概念:添加功能   使用 MFC WinInet 类编写 Internet 客户端应用程序请参见
    Win32 Internet 扩展 (WinInet) | 用于创建 Internet 客户端应用程序的 MFC 类 | Internet 客户端类的前提条件
    每一个 Internet 客户端应用程序的基础都是 Internet 会话。MFC 将 Internet 会话作为 CInternetSession 类的对象来实现。使用此类可以创建一个 Internet 会话或几个同时进行的会话。 若要与服务器通讯,需有一个 CInternetConnection 对象和 CInternetSession。可以通过使用 CInternetSession::GetFtpConnection、CInternetSession::GetHttpConnection 或 CInternetSession::GetGopherConnection 来创建 CInternetConnection。这些调用中的每一个都是特定于协议类型的。这些调用不打开服务器上的文件读取或写入。如果要读取或写入数据,必须以一个单独的步骤打开文件。对于大多数 Internet 会话,CInternetSession 对象与 CInternetFile 对象一起“携手”工作: 对 Internet 会话必须创建 CInternetSession 的实例。 
    如果 Internet 会话读取或写入数据,必须创建 CInternetFile(或其子类 CHttpFile 或 CGopherFile)的实例。最简单的读取数据的方法是调用 CInternetSession::OpenURL。此函数分析您提供的通用资源定位器 (URL),打开与该 URL 指定的服务器的连接,并返回只读的 CInternetFile 对象。CInternetSession::OpenURL 不特定于某个协议类型,即同样的调用对任何 FTP、HTTP 或 gopher URL 都适用。CInternetSession::OpenURL 甚至对本地文件也适用(返回 CStdioFile 而不是 CInternetFile)。 
    如果 Internet 会话不读取或写入数据,但执行其他任务(如在 FTP 目录中删除文件),可能不需要创建 CInternetFile 的实例。 
    创建 CInternetFile 对象有两种方法: 如果使用 CInternetSession::OpenURL 建立服务器连接,则对 OpenURL 的调用返回 CStdioFile。 
    如果使用 CInternetSession::GetFtpConnection、GetGopherConnection 或 GetHttpConnection 建立服务器连接,则必须分别调用 CFtpConnection::OpenFile、CGopherConnection::OpenFile 或 CHttpConnection::OpenRequest,分别返回 CInternetFile、CGopherFile 或 CHttpFile。 
    根据所创建的是基于 OpenURL 的一般 Internet 客户端还是使用 GetConnection 函数之一的协议特定的客户端,实现 Internet 客户端应用程序的步骤是不同的。 您想进一步了解什么?
    如何编写与 FTP、HTTP 及 Gopher 一起使用的 Internet 客户端应用程序? 
    如何编写打开一个文件的 FTP 客户端应用程序? 
    如何编写不打开文件但执行目录操作(例如删除文件)的 FTP 客户端应用程序? 
    如何编写 Gopher 客户端应用程序? 
    如何编写 HTTP 客户端应用程序? 
    请参见
    Win32 Internet 扩展 (WinInet) | 用于创建 Internet 客户端应用程序的 MFC 类 | Internet 客户端类的前提条件--------------------------------------------------------------------------------将文档反馈发送给 Microsoft© 2002 Microsoft Corporation。保留所有权利。