使用 Web3.js HttpProvider 调用 API 时如何向 Ankr 提供凭据?

2023-12-29

我正在尝试访问 Ankr API 地址,如下所示:

https://apis.ankr.com/XXXX/YYYY/full/main https://apis.ankr.com/XXXX/YYYY/full/main

当通过浏览器访问此链接时,我可以引入我在 Ankr 面板控件上创建的凭据,并且可以成功通过。但是现在我尝试在 Node 上使用 Web3.js 来做到这一点:

var options = {
    headers: [
        {
            name: 'Authorization',
            value: 'Basic myUsername:myPassword',
        },],};

const web3 = new Web3(new Web3.providers.HttpProvider('https://apis.ankr.com/XXXX/YYYY/full/main', options))

我收到 401 未经授权的错误响应。我认为我的凭据是正确的,因为我可以通过浏览器上的链接访问它们,但在传递标头时它们似乎不起作用。代码有什么问题或者缺少什么?


您需要传递的base64myUsername:myPassword,而不是实际的明文。

// base64 encoded
value: 'Basic ' + Buffer.from('myUsername:myPassword').toString('base64'),

See the MDN docs https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Authorization了解更多信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Web3.js HttpProvider 调用 API 时如何向 Ankr 提供凭据? 的相关文章

随机推荐