使用Delphi 2010和Indy 10.5.5.
在设计时设置了一个cookiemanager.我可以向服务器发送初始登录请求(使用POST方法)成功(从服务器应用程序返回“成功”代码),并且cookie管理器显示它已从服务器接受cookie.
当我尝试回复服务器(再次使用POST)来获取下一组信息时,我从服务器应用程序返回一个错误代码,表示授权失败,我被服务器技术支持人员告知我检查与回复一起发送的cookie.
如何检查发送回服务器的cookie头的内容?
此外,在另一篇文章中,我看到Indy 10 IdCookieManager.pas和IdCookie.pas已在2011年更新.我应该将我的Indy更新到最新版本,因为这可能是我的问题吗?
提前致谢.
这是一些更多信息:
感谢您以前的帮助;我似乎越来越接近重新安装Indy10.
除了我昨天下载的最新版本(10.5.8)之外,我清除了所有Indy的系统. [实际上我只是把旧东西搬进了一个名字不同的目录.]
现在我在所有5个包上得到了一个干净的编译.
我能够将两个主要软件包(以dcl开头的软件包)添加到我的程序项目列表中.
但我得到“[DCC致命错误] E2202必需的包IndyCore未找到.”当我尝试编译我的主程序时.
我尝试删除并重新安装dcl包到我的项目.当我删除它们时,我得到的信息是IndyCore和其他3个软件包也将被删除 – 所以它似乎知道dclIndyCode140使用的是IndyCore140.
我在搜索路径中添加了一些目录,并尝试将5个bpl放在不同的目录中.这些都没有任何影响,此时我感到难过.
想法?建议?
史蒂夫
建议升级到最新版本.链接在 Indy`s website.是的,在早期的Indy 10版本中,cookie支持被破坏了,但它现在再次运行.至于你的另一个问题,看看TIdHTTP发送了什么,你有几个选择:
>发送请求后查看TIdHTTP.Request.RawHeaders属性.>将Indy的TIdLog …组件之一连接到TIdHTTP,例如TIdLogFile,并查看输出.>使用外部数据包嗅探器,例如Wireshark.