Cookies Lotusscript中的Microsoft.XMLHTTP清除cookie

Cookies Lotusscript中的Microsoft.XMLHTTP清除cookie,cookies,com,lotus-notes,lotusscript,xmlhttprequest,Cookies,Com,Lotus Notes,Lotusscript,Xmlhttprequest,我有一个Lotusscript代理,它创建一个Microsoft.XMLHTTP对象 该对象访问servlet并接收自上次我请求以来的事务 这就是我们要做的: Set objHttp = CreateObject("Microsoft.XMLHTTP") objHttp.open "POST", theUrl, False, "", "" objHttp.setRequestHeader "Content-type", specific_for_customer objHttp

我有一个Lotusscript代理,它创建一个Microsoft.XMLHTTP对象 该对象访问servlet并接收自上次我请求以来的事务

这就是我们要做的:

Set objHttp = CreateObject("Microsoft.XMLHTTP")     
objHttp.open "POST", theUrl, False, "", ""  
objHttp.setRequestHeader "Content-type", specific_for_customer  
objHttp.send(theReq)    
headers = objHttp.getAllResponseHeaders()   
response = objHttp.responseText     
'...do the stuff...     
Set objHttp=Nothing
当你保持会议开放并提问时,它工作得非常好。 但如果像我的情况一样,我的目的是每5分钟运行一次这个代理,我就会遇到问题

我正在按预期关闭该对象。 当我再次启动代理时,servlet不接受我的访问,因为我的请求中有一个会话cookie(它不被接受)

在我的世界里,当我设置objHttp=Nothing时,servlet和我的代码在5分钟前约定的会话cookie应该被清除。 我也找不到饼干。 我想这是Domino代理管理器以某种特殊/奇怪的方式保存cookie(但在何处),并在我再次连接时尝试使用它

在与servlet的会话中,我可以找到cookie的值,但不能在下次代理运行时找到

重新建立会话的唯一方法是重新启动代理管理器

我尝试了几种方法查找并删除cookie(找不到它)

在我解决这个问题的方法中,我甚至复制了代理,然后运行了那个代理,但我没有访问servlet,所以代理管理器是这里的嫌疑犯

也许有人也有类似的问题

所以

  • 我如何才能从代理经理那里清除cookies 当我关闭XML对象时,应该清除该位置
  • 如何清除代理管理器的“内存”以忘记一切
  • 如何从代码或计划中重新启动代理管理器

希望在某些方面得到帮助

设置objHTTP=nothing只会解除对对象的引用。它不会卸载提供该对象的DLL或它加载的其他DLL(在本例中,它是Microsoft基于IE的堆栈中一个相当大的块)。它不会清除这些DLL分配给该对象的内存。由于AMGR是加载这些DLL的进程,并且AMGR仍在运行,这与启动浏览器、连接到该站点、打开一堆其他浏览器选项卡、使用会话cookie关闭选项卡、等待5分钟,然后打开一个新选项卡并返回该站点非常相似。饼干还在那儿


设置objHTTP=nothing就像关闭选项卡一样。微软认为他们这样做是在帮你的忙。就像使用浏览器一样,处理此问题的最佳方法是注销网站。如果站点提供注销URL,请在设置objHTTP=nothing之前连接到该URL。这应该会让服务器为您使cookie无效。

您可以切换到Java进行测试。链接中的示例具有可重用代码,并将其很好地包装到LS2J中。另外:它将在所有平台上运行

谢谢,这是我猜测的,但希望不是真的;-)我试图改变方向,因为“其他东西”已经存在了。。。当你的博客恢复时,我会查看你的链接。更多包含头痛的“其他东西”并不能减轻疼痛。最好的建议是:卸载。