zoukankan      html  css  js  c++  java
  • 获取网络图片缓存的地址

     

    uses WinINet;

    Function TForm1.GetCacheVerifyCodeFile(VerifyCodeURL:String; Var CacheVerifyCodeFile:String):Boolean;
    Var
    lpEntryInfo: PInternetCacheEntryInfo;
    dwEntrySize, dwLastError, Hwd: LongWORD;
    i, j: Integer;
    f: String;
    Begin
    Result := false;
    dwEntrySize := 0;
    j := 0;
    CacheVerifyCodeFile := '';
    FindFirstUrlCacheEntry(Nil, TInternetCacheEntryInfo(Nil^), dwEntrySize);
    GetMem(lpEntryInfo, dwEntrySize);
    Hwd := FindFirstUrlCacheEntry(Nil, lpEntryInfo^, dwEntrySize);
    If Hwd <> 0 Then
    Begin
        Repeat
          dwEntrySize := 0;
          FindNextUrlCacheEntry(Hwd, TInternetCacheEntryInfo(Nil^), dwEntrySize);
          dwLastError := GetLastError();
          If dwLastError = ERROR_INSUFFICIENT_BUFFER Then
          Begin
            GetMem(lpEntryInfo, dwEntrySize);
            If FindNextUrlCacheEntry(Hwd, lpEntryInfo^, dwEntrySize) Then
            begin
              If Pos(UpperCase(VerifyCodeURL), UpperCase(lpEntryInfo.lpszSourceUrlName)) > 0 Then
              Begin
                i := FileAge(lpEntryInfo.lpszLocalFileName);
                If i > j Then
                Begin
                  j := i;
                  f := lpEntryInfo.lpszLocalFileName;
                End
                Else
                  DeleteUrlCacheEntry(lpEntryInfo.lpszSourceUrlName);
              End;
            end;
          End;
          Application.ProcessMessages;
        Until (dwLastError = ERROR_NO_MORE_ITEMS);

        If FileExists(f) Then
        Begin
          CacheVerifyCodeFile := f;
          Result := true;
        End;
    End;
    FreeMem(lpEntryInfo);
    FindCloseUrlCache(Hwd);
    End;

    可用于在缓存中的验证码图片,或者防盗链的图片的采集,嘿嘿。

    此函数有两个参数,第一个是网络图片地址,第二个是本地缓存地址。第二个作为输出端口。

     

  • 相关阅读:
    设计模式一 Simple Factory, Factory Method, Abstract Factory以及Builder模式简述
    SQL Server中对XML操作
    开发常用小工具介绍
    强制休息程序 EyeGuardian 眼睛守护者 Beta测试版
    定时计划任务方案比较以及通过脚本创建计划任务(SchTasks命令)
    在Myeclipse中配置Maven
    Jena的环境配置
    0x01_go代码简单示例
    0x00_go语言安装
    信息收集工具
  • 原文地址:https://www.cnblogs.com/toosuo/p/1815583.html
Copyright © 2011-2022 走看看