T
txj2k1
Unregistered / Unconfirmed
GUEST, unregistred user!
原来用indy的 idhttp 进行自动登录,但发现内存泄漏严重,改用了ics,但碰到了两个问题,请用过朋友指点一下
1.按钮1过程如下
var
DataOut,DataIn:TMemoryStream;
Buf:string;
begin
DataOut:=TMemoryStream.Create;
DataIn:=TMemoryStream.Create;
try
Buf:='?username=aaa&password=bbbccc&act=login';
DataOut.Write(buf[1],Length(Buf));
DataOut.Seek(0,soFromBeginning);
htpcl1.SendStream:=DataOut;
htpcl1.RcvdStream:=DataIn;
htpcl1.URL:=url2;
htpcl1.Post;
DataIn.Seek(0,soFromBeginning);
memo1.Lines.LoadFromStream(DataIn);
finally
DataOut.Free;
DataIn.Free;
end;
end;
提交登录成功,但在memo1中显示的内容不只是登录进去后出现的页面内容,而是包含了登录页面和登录成功的跳转页面内容,如何控制到只有登录进去后出现的页面内容呢?
2.按钮1登录成功后,用按钮2访问同一站点的页面,结果出现的又是登录页面,请问如果解决,ics中没发现有类似 cookiemanager的组件
1.按钮1过程如下
var
DataOut,DataIn:TMemoryStream;
Buf:string;
begin
DataOut:=TMemoryStream.Create;
DataIn:=TMemoryStream.Create;
try
Buf:='?username=aaa&password=bbbccc&act=login';
DataOut.Write(buf[1],Length(Buf));
DataOut.Seek(0,soFromBeginning);
htpcl1.SendStream:=DataOut;
htpcl1.RcvdStream:=DataIn;
htpcl1.URL:=url2;
htpcl1.Post;
DataIn.Seek(0,soFromBeginning);
memo1.Lines.LoadFromStream(DataIn);
finally
DataOut.Free;
DataIn.Free;
end;
end;
提交登录成功,但在memo1中显示的内容不只是登录进去后出现的页面内容,而是包含了登录页面和登录成功的跳转页面内容,如何控制到只有登录进去后出现的页面内容呢?
2.按钮1登录成功后,用按钮2访问同一站点的页面,结果出现的又是登录页面,请问如果解决,ics中没发现有类似 cookiemanager的组件