0

几天来我一直试图让这个curl请求工作node-fetch但没有成功。

curl -X GET 
-u "<username>:<password>" 
--output hello_world.mp3 
"https://gateway-lon.watsonplatform.net/text-to-speech/api/v1/synthesize/?accept=audio/mpeg&text=hello"

提前感谢您的帮助。

注意:我正在使用React Native

4

1 回答 1

0

我不知道 Node.JS 是否有更好的api 来执行此操作(但如果没有,我会感到惊讶),我自己不进行 Node.js 编程,但我知道如何使用普通浏览器执行此操作javascript API XMLHttpRequest,我也知道 Node.js 支持 XMLHttpRequest。

等效的 XMLHttpRequest 将是

{
    let xhr = new XMLHttpRequest();
    xhr.open("GET", "https://gateway-lon.watsonplatform.net/text-to-speech/api/v1/synthesize/?accept=audio/mpeg&text=hello", true);
    xhr.responseType = "arraybuffer";
    xhr.setRequestHeader("Authorization", "Basic " + btoa("<username>:<password>"));

    xhr.onload = function(ev) {
        fs.appendFile("hello_world.mp3", xhr.response, {
            flag: "wb"
        });
    };
    xhr.send();
}
于 2019-02-23T09:37:21.267 回答