我在使用cfhttp和cfhttpparam使头param“授权”正确工作时遇到了问题。
连接正常..。我是通过我们的代理人出去的,所以这不是问题。
api文档指出,标题中的“授权”应该被格式化为“授权:承载XXXYYYZZ”。
当我试图在“承载”之后添加一个空格时,会得到以下错误:{“状态”:3,“errmsg”:“预期的对象或值”}
当我根本不添加前缀“承载”时,我得到以下错误:{"status":1,“errmsg”:“无效\”请求头中的数据“}
我也尝试过“承载XXXYYYZZ”和“承载%20XXXYYZZ”和“无记名XXXYYYZZ”,也有相同的结果。
有什么想法吗?谢谢!
代码:
<cfhttp
timeout="2000"
url="https://api.surveymonkey.net/v2/surveys/get_survey_list/?api_key=xxxx"
proxyserver="proxy.xxxx.com"
proxyport="8080"
method="post"
result="httpResponse"
charset="utf-8"
throwonerror="Yes">
<cfhttpparam type="header" name="Authorization" value="bearer XXXYYYZZ">
</cfhttp>
<cfdump var="#httpResponse#">答复:
字符集UTF-8
ErrorDetail空字符串
文件{“状态”:1,“errmsg”:“无效\”授权\“请求头中的数据”}
标题HTTP/1.1 200确定访问-控制-公开-头:缓存-控制,内容-语言,内容-类型,过期,最后修改,普拉格玛,日期,内容长度内容-类型:应用程序/json;charset=UTF-8日期:清华,2016年1月28日13:16:11 GMT Server: nginx/1.4.6 (Ubuntu) SM-请求-ID:251952a7-9d21-470e-807-9b48adf0892b X-Mashery-消息-ID:9 ebad058-e4e5-4cc9-b9cf-bf339fbc6 X-Mashery-Responder: prod-j-工人-us-us-1b-58.mashery.com X-计划-QPS分配:6X计划-QPS-当前:1 X计划-配额分配:7,000-计划-当前计划-配额-5计划:1月29日2016年12:00格林尼治时间上午12:00内容长度: 72连接:关闭
Mimetype应用/json
响应头
结构
访问-控制-公开-标题缓存-控制,内容语言,内容类型,过期,最后修改,Pragma,日期,内容长度
连接关闭
内容长度72
内容-类型应用程序/json;charset=UTF-8
2016年1月28日13:16:11格林尼治时间
解释好
Http_Version HTTP/1.1
SM-请求-ID 251952a7-9d21-470 e-807-9b48adf0892b
服务器nginx/1.4.6 (Ubuntu)
Status_Code 200
X-Mashery-Message-ID 9ebad058-e4e5-4cc9-b9cf-bf33de9fbc6
X-Mashery-Responder prod-j-worker-us-west-1b-58.mashery.com
X-计划-QPS-分配6
X-计划-QPS-当前1
X-计划-配额-分配7 000
X-计划-配额-目前的5
X-计划-配额-重设2016年1月29日(星期五)格林尼治时间上午12:00
状态代码200 OK
文本是的
发布于 2016-01-28 13:38:26
看起来您需要在正文中发送一个空的JSON结构。即使没有要发送的参数,API也需要一个JSON输入。只需添加另一个cfhttpparam类型的body,其值为{}
<cfhttp
timeout="2000"
url="https://api.surveymonkey.net/v2/surveys/get_survey_list/?api_key=xxxx"
proxyserver="proxy.xxxx.com"
proxyport="8080"
method="post"
result="httpResponse"
charset="utf-8"
throwonerror="Yes">
<cfhttpparam type="header" name="Authorization" value="bearer XXXYYYZZ">
<cfhttpparam name="body" type="body" value="{}">
</cfhttp>
<cfdump var="#httpResponse#">发布于 2016-01-28 15:10:41
<cfhttp
timeout="2000"
url="https://api.surveymonkey.net/v2/surveys/get_survey_list/?api_key=xxxx"
proxyserver="proxy.xxxx.com"
proxyport="8080"
method="post"
result="httpResponse"
charset="utf-8"
throwonerror="Yes">
<cfhttpparam type="header" name="Authorization" value="bearer XXXYYYZZ">
<cfhttpparam type="header" name="Content-Type" value="application/json" />
<cfhttpparam name="body" type="body" value="{}">
</cfhttp>
<cfdump var="#httpResponse#">https://stackoverflow.com/questions/35062618
复制相似问题