我尝试使用这种语法获取fetch:
fetch("https://user:password@url", {
...
}).then((response) => {
...
}).done();
相同的网址在CURL中有效,但在React Native中返回401。
有什么想法吗?
谢谢, 保罗
答案 0 :(得分:31)
我发现这种格式https://user:password@url
在CURL和节点中运行良好,但在fetch中运行不正确。
我必须使用base-64
npm模块并传递Headers对象。
// https://www.npmjs.com/package/base-64
const base64 = require('base-64');
...
var headers = new Headers();
headers.append("Authorization", "Basic " + base64.encode("user:password"));
fetch("https://url", {
headers: headers
})
.then((response) => { ... })
.done();
`
答案 1 :(得分:1)
您可以使用btoa()
而不是base_64
模块。 btoa()
是Window
上的函数。