如何将curl命令转换为javascript获取

ffscu2ro  于 2022-12-02  发布在  Java
关注(0)|答案(1)|浏览(153)

我正在构建一个react项目,并且正在使用一个api,在api文档中,他们只提供了这个curl命令。

#!/bin/bash 
apiKey="yourApiKey"
secret="yourSecret"
curl -i \
-X GET \
-H 'Accept:application/json' \
-H 'Api-key:'$apiKey'' \
-H 'X-Signature:'$(echo -n ${apiKey}${secret}$(date +%s)|sha256sum|awk '{ print $1}')'' \
https://example.com

我如何将这段代码转换为javascript fetch?
我试过这个代码

const sec = Date.now() / 1000 + "";
  const myString = "someApiKey" + "apiSecret" + sec;
  const bitArr = sjcl.hash.sha256.hash(myString);
  const hash = sjcl.codec.hex.fromBits(bitArr);

  useEffect(() => {
    fetch(
         "https://cors-anywhere.herokuapp.com/https://example.com", {
      method: "GET",
      headers: {
        Accept: "application/json",
        "content/type": "application/json",
        "Api-key":'someApiKey',
        'X-Signature': hash
      },
    })
      .then((res) => res.json())
      .then((data) => console.log(data))
      .catch((err) => console.log(err));
  }, []);

但它给我错误TypeError:无法在'Window'上执行'fetch':无效的名称

ntjbwcob

ntjbwcob1#

步骤1

修复内容类型
尝试使用“内容类型”而不是“内容/类型”

步骤2

记录文本而不是json以查看返回的内容

.then((res) => res.text())
      .then((data) => console.log(data))

相关问题