我想用idhttp从贴吧的验证码地址cgi-bin/genimg?***里面取可用的图片,因为不懂 JavaScript...(惭愧```),没办法了解IE取得验证码的实现方法,从抓包结果里也没能分析出什么结果,idhttp下载来的图片都是378k的乱码,真正的验证码图片应该是1k左右的,不知道我用idhttp的思路对不对,如果应该用WebBrowser也请帮助提供一个思路``谢谢各位```
解决方案 »
- TIdTCPClient Connect的问题
- 如何在有客户端连接的情况下关闭服务端?
- 在线等:哪位弟兄有日历程序呀,跟我贴出来吧,我给100赠送,解决加到100分。
- 救救我吧!谁能帮我解决问题。
- 如何TListView中显示不同颜色和字体?
- 我想做一个信息管理系统!
- 小妹求求各位帮个忙,问题简单!!!!
- 找了很多,找不出整形怎么转换成Extended的函数
- 请问各位大侠 我在做三层系统的时候 用CLIENTDATASET时候出现的问题!
- l_jia()你好!请来我给你分!
- 为什么我编写的Delphi 7.0中的dll , 在调用的时候都没有问题,也FreeLibrary(Th)了,但是在退出主程序时候,主程序出错,提示内存错误!
- 如何测试DELPHI
function TForm1.GetLocalImg(key:string): Boolean;
Var
lpEntryInfo: PInternetCacheEntryInfo;
dwEntrySize, dwLastError, Hwd: LongWord;
Begin
Result := false; dwEntrySize := 0;
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
//这里的key可以传入验证码的url的特征部分,图片格式你自己看看是什么,这里是jpg
If Pos(UpperCase(key), UpperCase(lpEntryInfo.lpszSourceUrlName)) > 0 Then
If (FileExists(lpEntryInfo.lpszLocalFileName)) And (UpperCase(ExtractFileExt(lpEntryInfo.lpszLocalFileName)) = '.JPG') Then
Begin
Image.Picture.LoadFromFile(lpEntryInfo.lpszLocalFileName);
Result := true;
Break;
End;
End;
End;
application.ProcessMessages;
Until (dwLastError = ERROR_NO_MORE_ITEMS);
End;
FreeMem(lpEntryInfo);
FindCloseUrlCache(Hwd);
end;