zoukankan      html  css  js  c++  java
  • DELPHI IDHTTP下载

    type
      THttpThread = class(TThread)
      private
        FIdHTTP: TIdHTTP;
        FUrl: string;
        FSavePath: string;
        procedure Down(Url: string; SavePath: string);
      public
        constructor Create(CreateSuspended: Boolean; Url: string; SavePath: string);
        destructor Destroy; override;
        procedure Execute; override;
      end;

    { THttpThread }

    constructor THttpThread.create(CreateSuspended: Boolean; Url: string; SavePath: string);
    begin
      inherited Create(CreateSuspended);
      FreeOnTerminate := True;
      FUrl := Url;
      FSavePath := SavePath;
      FIdHTTP := TIdHTTP.Create(nil);
    end;

    destructor THttpThread.Destroy;
    begin
      FIdHTTP .Free;
      inherited;
    end;

    procedure THttpThread.Down(Url: string; SavePath: string);
    var
      Stream: TMemoryStream;
    begin
      BegTime := GetTickCount;
      Stream := TMemoryStream.Create;
      try
        try
          FIdHTTP.Get(Url, Stream);
        finally
          DeleteUrlCacheEntry(PChar(Url));
        end;
      except
        MessageBox(0, '网络出错', '提示', MB_ICONQUESTION);
        Stream.Free;
        Exit;
      end;

      Stream.SaveToFile(SavePath);
      Stream.Free;
    end;

    procedure TForm1.Button2Click(Sender: TObject);
    var
      HttpThread1: THttpThread;
      UrlPath: string;
    begin
      UrlPath := 'http://mirror1.2ccc.com/downloads/general/multimedia/Money2ChineseCapitalaovi888.rar';
      HttpThread1 := THttpThread.Create(False, UrlPath, 'C:\Test\1.Rar');
    end;

    procedure THttpThread.Execute;
    begin
      inherited;
      Down(FUrl, FSavePath);
    end;

  • 相关阅读:
    jenkins代理设置
    通过jenkins api 触发远程构建
    python小技巧-统计列表中每个元素的个数
    python列表反转
    python 黑板课爬虫闯关-第三关
    python 黑板课爬虫闯关-第二关
    python 黑板课爬虫闯关-第一关
    python 黑板课爬虫闯关-第五关
    爬虫-识别图形验证码-tesserocr
    python 黑板课爬虫闯关-第四关
  • 原文地址:https://www.cnblogs.com/chengxin1982/p/1576946.html
Copyright © 2011-2022 走看看