关于IdHTTP1,IdCookieManager1,IdSSLIOHandlerSocket1三者控件使用的问题

suigui 2003-04-02 02:14:47
第一次登陆没问题,但是后来的就是不行,说还没有登陆。IdCookieManager的目的就是方便以后其他网页的访问。如第一次https://172.16.100.96:8887/cgi-bin/login.cgi?username=aaaa&password=aaaa登陆成功了。但是再访问其他的网页就不行了如https://172.16.100.96:8887/cgi-bin/login.cgi。说没有登陆,非法访问。是不是那里设置有错?有谁有过这方面的使用经历.
...全文
212 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
suigui 2003-09-15
  • 打赏
  • 举报
回复
感谢litqqs(QS) ,其实我早已解决,只是很久没时间上来看了,我是在IdCookieManager的CookieManagerNewCookie事件中保存他的cookie来实现的。如下。
void __fastcall TFrmMain::CookieManagerNewCookie(TObject *ASender,
TIdCookieRFC2109 *ACookie, bool &VAccept)
{
int pos = ACookie->CookieText.Pos(";");

if ( pos > 0 )
Session_ID = ACookie->CookieText.SubString( 1, pos -1 );
else
Session_ID = ACookie->CookieText;

}
然后以后传送时,先执行语句HTTP->Request->CustomHeaders->Add("Cookie:"+Session_ID);
就可以了
litqqs 2003-09-14
  • 打赏
  • 举报
回复
方法如下:(我用Post,用Get差不多)
TStrings *ps = new TStringList();
TMemoryStream *ms = new TMemoryStream();
ps->Text = "username=aaaa$password=aaaa";
IdHTTP1->Post(URL,ps);
IdHTTP->Trace(URL);
delete ps,ms;
//以后的网页就是正常登录后的页面啦.

//我是BCB6,WinXP,Indy9下通过.
MM0668 2003-09-14
  • 打赏
  • 举报
回复
我也被这个问题困扰啊,
谁知道怎么解决?
litqqs 2003-09-14
  • 打赏
  • 举报
回复
上面的问题我解决了,这一会是要来拿你的分啦.
litqqs 2003-09-06
  • 打赏
  • 举报
回复
还有,IdHTTP如何设置用代理来上网的?哪位大哥知道?
litqqs 2003-09-06
  • 打赏
  • 举报
回复
这一个问题我也遇到,但还没有解决啦,哪位大哥知道解之道就帮帮忙啦.
梦回童年001 2003-05-10
  • 打赏
  • 举报
回复
UP

1,316

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧