zoukankan      html  css  js  c++  java
  • Delphi 通过URL地址获取网页源码的方法

    Delphi 通过URL地址获取网页源码的方法

    uses WinInet, Classes, Windows;
    
    function UrlGetStr(const URL: string; ShowHeaders: boolean = false): string;
    const
      Agent = 'Internet Explorer 6.0';
    var
      hFile, HInet: HINTERNET;
      Buffer: array[0..32767] of Char;
      BufRead: Cardinal;
      BufSize: Cardinal;
      TempStream: TStringStream;
      dwIndex: dword;
    begin
      HInet := InternetOpen(PChar(Agent), INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
      if Assigned(HInet) then
      try
        hFile := InternetOpenUrl(HInet, PChar(URL), nil, 0, 0, 0);
    
        TempStream := TStringStream.Create('');
    
        dwIndex := 0;
        BufSize := SizeOf(Buffer);
    
        HttpQueryInfo(hfile, HTTP_QUERY_RAW_HEADERS_CRLF, @Buffer, BufSize, dwIndex);
    
        if ShowHeaders then TempStream.Write(Buffer, BufSize);
    
        if Assigned(hFile) then
        try
          with TempStream do
          try
            while InternetReadFile(hFile, @Buffer, BufSize, BufRead) and (BufRead > 0) do
              Write(Buffer, BufRead);
            Result := DataString;
          finally
            Free;
          end;
        finally
          InternetCloseHandle(hFile);
        end;
      finally
        InternetCloseHandle(hinet);
      end;
    end;
    

      

    创建时间:2020.11.23  更新时间

  • 相关阅读:
    用指针方法排序数组
    struct和typedef struct
    结构体类型定义的一般式
    HDOJ1020 Encoding
    malloc函数详解
    新手入门 acm 输入输出练习
    【算法入门】广度/宽度优先搜索(BFS)
    C++栈和队列
    hdu畅通工程
    codevs 2639 约会计划
  • 原文地址:https://www.cnblogs.com/guorongtao/p/14023357.html
Copyright © 2011-2022 走看看