⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gethtmlcode.pas

📁 明小子旁注Domain3.0和Domain2.2两个版本源码
💻 PAS
字号:
{##########################################
         旁注入侵专用程序 3.0升级版
 -----------------------------------------
  模块:网络查询 - 读取网页代码
  描述:该单元主要用于读取指定URL的HTML代码
  作者:2005.3.8日下午  明小子
##########################################}

unit GetHtmlCode;

interface

uses
  SysUtils,Wininet,Windows,Classes;

function UrlGetStr(const URL: string; ShowHeaders: boolean = false): string;

implementation

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
    if LowerCase(Copy(URL,1,7)) <> 'http://' then
    hFile := InternetOpenUrl(HInet, PChar('http://' + URL), nil, 0, 0, 0)
    else
    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;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -