你要根据 登陆后返回的header 执行 模拟cookie 参考以下代码 function TMaindlg.GetCookie: string; var i:Integer; tmp,cookie:string; begin for i := 0 to idhtp1.Response.RawHeaders.Count - 1 do begin tmp := idhtp1.Response.RawHeaders[i]; if pos('set-cookie: ', LowerCase(tmp)) = 0 then Continue; tmp := Trim(Copy(tmp, Pos('Set-cookie: ', tmp) + Length('Set-cookie: '), Length(tmp))); tmp := Trim(Copy(tmp, 0, Pos(';', tmp) - 1)); if cookie = '' then cookie := tmp else cookie := cookie + '; ' + tmp; end; Result := cookie; end;
procedure TMaindlg.Setcookie; var i: Integer; tmp, cookie: String; begin cookie := GetCookie; if cookie <> '' then begin for i := 0 to idhtp1.Request.RawHeaders.Count - 1 do begin tmp := idhtp1.Request.RawHeaders[i]; if Pos('cookie', LowerCase(tmp)) = 0 then Continue; idhtp1.Request.RawHeaders.Delete(i); Break; end; idhtp1.Request.RawHeaders.Add('cookie: ' + cookie); idhtp1.Request.CustomHeaders.Add('Cookie:' + cookie); end; end;
----------------------------------------------
-