首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CFHTTP Cookie问题

CFHTTP Cookie问题
EN

Stack Overflow用户
提问于 2013-12-12 17:25:06
回答 1查看 649关注 0票数 0

我(我认为)在Railo 4.1.1.009下的cfhttp中有一个曲奇问题。

我的代码执行两步http调用。第一步对远程应用程序执行授权。如果成功,远程服务器将返回一个授权cookie,该授权cookie将被提取并传递给第二个调用,如下所示:

代码语言:javascript
复制
<cfhttp url="http://remoteserver/targetPath" port="xxxx" method="get" result="Local.response" throwonerror="true" redirect="false">
       <cfhttpparam name="Action" value="Ping" type="URL" />
       <cfhttpparam name="mansession_id" value="#Local.result.authCookie#" type="cookie" />
</cfhttp>

http呼叫是成功的,但是响应本质上说我没有授权。(这就是在这种情况下“拒绝许可”的真正含义)。

代码语言:javascript
复制
<response='Error' message='Permission denied'... />

但是,完全相同的代码(从相同的框中运行)在CF9中成功:

代码语言:javascript
复制
<response='Success' ping='Pong' ... />

我双重检查了来自第一个cfhttp调用的响应头,并验证了我将正确的#Local.result.authCookie#值传递给第二个调用:

  • CFHTTP结果= set-cookie : mansession_id="932a4086";
  • Local.result.authCookie = AUTHCOOKIE string 932a4086

由于一切都一样,除了运行cfml的引擎之外,我得出的结论是,cfhttp可能没有正确传递cookie。我试过很多东西,但现在我已经没有主意了。任何关于如何解决问题或进一步排除问题的想法都将不胜感激。

更新:

我决定尝试不同版本的Railo (因为Express版本非常容易),并发现代码在3.3.3.001 (但不是4.0.4.001)下工作。所以在4.x中一定有什么东西坏了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-12 21:04:01

我将安装费德勒,然后将proxyServer=localhost和proxyPort=8888属性添加到CFHTTP调用中。然后,您可以通过fiddler观看HTTP请求的发出。如果您的CF服务器位于另一个机器上,您仍然可以在桌面上运行Fiddler,只需在Fiddler的设置中打开“允许其他机器连接”,并在proxyServer属性中提供您的计算机名而不是localhost。

你所处的环境很好,你可以在某些环境中工作,而不是其他环境,所以你应该能够看到不同的情况。

您可以手动比较http请求,也可以将Fiddler配置为使用扩散工具。选择两个请求,然后右击->比较.我强烈推荐无与伦比3从滑板车软件作为一个不同的工具。

请用你发现的更新你的问题,因为我想知道结果。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20550075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档