http://www.cnblogs.com/Delphi-Farmer/archive/2011/09/20/2182629.html
熟悉么?反正我是烦透了!不管他是个什么玩意,暂且把它叫做度娘的防御机制。它很烦?跳过它!怎么跳?看代码:
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() 或者......(本人真菜,不知道还有什么了)
分类: idhttp,webbrowser
delphi lazarus opengl
网页操作自动化, 图像分析破解,游戏开发