让idhttp与浏览器共享Cookie信息,这样只要浏览器登录以后,idhttp就不用登录了,抓取数据包神马的就是浮云了。
uses
..., WinInet;
function CanGetIECookie(const URL: string; var Cookie: string): boolean;
var
lpvBuffer: array[0..1000] of byte;
lpdwBufferLength: cardinal;
begin
lpdwBufferLength := sizeof(lpvBuffer);
result := InternetGetCookie(PChar(URL), nil, @lpvBuffer, lpdwBufferLength);
if result then
Cookie := pchar(@lpvBuffer);
end;
if CanGetIECookie(url, str) then
begin
CookieStr := 'Cookie: ' + str;
idHttp1.Request.CustomHeaders.Text := CookieStr;
Memo1.Lines.Text := IdHTTP1.Get(WebSite);
end;