gpt4 book ai didi

node.js - 如何使用 isomorphic-fetch 使用 application/x-www-form-urlencoded header 和 URLSearchParams 进行 POST

转载 作者:搜寻专家 更新时间:2023-11-01 00:38:29 24 4
gpt4 key购买 nike

这是一个工作正常的 CURL 示例:

curl --request POST \
--url <url> \
--header 'authorization: Bearer <authorization token>' \
--header 'content-type: application/x-www-form-urlencoded' \
--data 'category=1&userId=<uuid>'

我正在尝试使用 isomorphic-fetch 重现此请求.

我已经试过了:

const searchParams = new URLSearchParams();
searchParams.set('category', category);
searchParams.set('userId', userId);

return fetch(`<url>`, {
method: 'POST',
headers: {
'Authorization: Bearer <authorization token>',
'Accept': 'application/json',
'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8'
},
body: searchParams
})`

但是我得到了一个 411 状态代码错误响应 ( length required )

有关 URLSearchParamsFetch 的更多信息:

fetch documentation

fetch spec

有什么建议吗?

最佳答案

假设服务器实现是正确的,这里的问题是 isomorphic-fetch(或者更有可能是底层 GitHub 的 WHATWG Fetch polyfill),因为它没有添加 Content-Length header ,因为它是固定长度所必需的获取标准的主体。

(您还应该能够省略 Content-Type header ,因为它也应该从 URLSearchParams 对象中推断出来并由 API 的实现添加。)

关于node.js - 如何使用 isomorphic-fetch 使用 application/x-www-form-urlencoded header 和 URLSearchParams 进行 POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43325912/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com