将curl转换为fetch

时间:2019-07-02 08:01:46

标签: javascript curl fetch

我可以成功卷曲端点并获得200响应,但是当我使用curl来获取转换器时,api会抱怨身体参数的开启。我对该api没有任何控制权,所以我不确定该怎么回事。

这是我成功的卷发:

curl -v -X POST https://someurl -d 'param1=someValue' -d 'param2=somOtherValue'

使用https://kigiri.github.io/fetch/,建议在提取请求中使用以下正文:

"param1=someValue&param2=someOtherValue"

但是使用它会给我响应:

  

Param1无效

有什么想法可以使获取主体看起来像卷发一样?

编辑:

将提取的内容转换回卷曲有助于了解其区别。 因此,这可行:

curl -v -X POST https://someurl -d 'param1=someValue' -d 'param2=someOtherValue'

但这不是:

curl -v -X POST https://someurl -d 'param1=someValue&param2=someOtherValue'

这种特定的api似乎是这种情况,但仍然无法更改api,因此我想为第一个curl找到等效的获取主体

3 个答案:

答案 0 :(得分:2)

您可以使用this将curl转换为fetch:

fetch("https://someurl", {
  body: "param1=someValue&m2=somOtherValue",
  headers: {
    "Content-Type": "application/x-www-form-urlencoded"
  },
  method: "POST"
})

工作片段

fetch("https://my-json-server.typicode.com/typicode/demo/posts", {
  body: "param1=someValue&m2=somOtherValue",
  headers: {
    "Content-Type": "application/x-www-form-urlencoded"
  },
  method: "POST"
}).then(res => console.log(res));

答案 1 :(得分:0)

尽管接受的答案已经非常好了,

但是也许您也可以使用这个不错的帮助程序直接进行转换

https://kigiri.github.io/fetch/

在翻译标题和类似内容时效果很好

答案 2 :(得分:0)

我使用 postman client 在语言之间转换 api 请求。

  1. 导入 -> 原始文本(在此处粘贴 curl 命令)

enter image description here

  1. 代码 -> 选择您的语言

enter image description here