![](/img/trans.png)
[英]PlayFramework returns BadRequest with content-type application/json
[英]Pocket authentication returns BadRequest with content-type 'application/json'
我正在检索Pocket API的访问令牌。 我可以使用内容类型为application/x-www-form-urlencoded
的Http POST请求成功完成此application/x-www-form-urlencoded
。
{
host: 'getpocket.com',
path: '/v3/oauth/authorize',
port: 443,
method: 'POST',
headers:
{ 'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': 79 }
}
但是Pocket也支持内容类型为application/json
。
{
host: 'getpocket.com',
path: '/v3/oauth/authorize',
port: 443,
method: 'POST',
headers: { 'Content-Type': 'application/json', 'Content-Length': 79 }
}
但是使用这种类型的请求会返回我
“ 400错误请求”
我在nodejs上执行此操作。 我是否需要传递任何其他详细信息,例如“ X-Accept”(不知道怎么做)。
我认为Pocket报告了一个错误的请求,因为您正在发送表单编码的数据,同时在Content-Type
Header中将其声明为JSON。
如果要以JSON格式将数据发送到Pocket,请设置Content-Type: application/json; charset=UTF8
Content-Type: application/json; charset=UTF8
。
如果要接收 JSON格式的数据,请设置X-Accept: application/json
。
要在HTTP请求中包含自定义标头,只需在发送req.headers
前将名称值对添加到req.headers
即可。 例如:
headers: { 'Content-Type': 'application/x-www-form-urlencoded', 'X-Accept' : 'application/json'}
要么:
req.headers['X-Accept'] = 'application/json'
看看https://nodejs.org/api/http.html#http_http_request_options_callback 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.