cfhttpparam类型的标头和cookie之间的区别

时间:2017-12-01 14:06:41

标签: cookies coldfusion sharepoint-online cfhttpparam

我正在开发一个对SharePoint Online进行身份验证的ColdFusion应用程序,并使用SharePoint的REST API提取一些文件,如http://paulryan.com.au/2014/spo-remote-authentication-rest/

中所述

当我尝试通过发布到_api / contextinfo来获取FormDigestValue如果我将cfhttpparam类型设置为cookie我得到403禁止,但如果我将cookie作为标题传递一切都有效但我不理解为什么。

<cfhttpparam
    type="header"
    name="cookie"
    value="rtFa=#rtFa#;FedAuth=#FedAuth#"    
  />

工作但是

<cfhttpparam
    type="cookie"
    name="rtFa"
    value="#rtFa#"    
/> 
<cfhttpparam
    type="cookie"
    name="FedAuth"
    value="#FedAuth#"    
/> 

失败

1 个答案:

答案 0 :(得分:3)

查看正在发生的事情的最佳方法是检查流量并查看正在发生的事情。除此之外,我知道对header标记使用cookie类型和cfhttpparam类型之间的区别在于URL编码。

当您使用header类型时,该值为网址编码。

当您使用cookie类型时, 值已编码。

所以我的猜测是,当值为URL编码时,他们的API不喜欢。

Document reference for cfhttpparam attributes