熟悉么?反正我是烦透了!不管他是个什么玩意,暂且把它叫做度娘的防御机制。它很烦?跳过它!怎么跳?看代码:

procedure DeleteIECache(httpStr: string); // 清理IE缓存,IE.cookies
var  
  lpEntryInfo: PInternetCacheEntryInfo;   
  hCacheDir: LongWord;   
  dwEntrySize: LongWord;   
  cachefile: string;   
begin  
  dwEntrySize := 0;
  FindFirstUrlCacheEntry(nil, TInternetCacheEntryInfo(nil^), dwEntrySize);   
  GetMem(lpEntryInfo, dwEntrySize);   
  if dwEntrySize > 0 then
    lpEntryInfo^.dwStructSize := dwEntrySize;
  hCacheDir := FindFirstUrlCacheEntry(nil, lpEntryInfo^, dwEntrySize);
  if hCacheDir <> 0 then  
  begin  
    repeat  
      if (lpEntryInfo^.CacheEntryType) and (NORMAL_CACHE_ENTRY) = NORMAL_CACHE_ENTRY then
        cachefile := pchar(lpEntryInfo^.lpszSourceUrlName);
      if pos(httpStr, cachefile) > 0 then    //清除特定网站的cookies.例如baidu.com
        DeleteUrlCacheEntry(pchar(cachefile)); //执行删除操作   
      FreeMem(lpEntryInfo, dwEntrySize);
      dwEntrySize := 0;
      FindNextUrlCacheEntry(hCacheDir, TInternetCacheEntryInfo(nil^), dwEntrySize);   
      GetMem(lpEntryInfo, dwEntrySize);   
      if dwEntrySize > 0 then  
        lpEntryInfo^.dwStructSize := dwEntrySize;   
    until not FindNextUrlCacheEntry(hCacheDir, lpEntryInfo^, dwEntrySize);   
  end;   
  FreeMem(lpEntryInfo, dwEntrySize);   
  FindCloseUrlCache(hCacheDir);   
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  DeleteIECache(Edit1.Text);
end;

  熟悉么?只要百度过"delphi 删除cookies"  都应该看到过,不错,我抄来的。仅几句代码,就可以去掉度娘的衣杉(风韵犹存呐!口水)!

但是我要总结的是:我是个SB,对,是这样的。上面的代码在百度知道里面存了N年,我也看到过N次,但是我不相信他,反而去用那些一长串的代码,觉得长才专业,网上转那些无用代码的相当多,实际上没用!

好了,再给我这种菜鸟说一句:先调用DeleteIECache('baidu.com');再用个从爱好的webbrowser.go() 或者 idhttp.get() 或者......(本人真菜,不知道还有什么了)

posted on 2011-09-20 16:44  Bach  阅读(1215)  评论(1编辑  收藏  举报