如何使用/阅读api文档来发送简单的请求?

问题描述 投票:0回答:2

我知道这可能是严格针对具体情况的,但我确实觉得我经常遇到这个问题,所以我会努力尝试更好地理解它。

我对使用 API 很陌生,但我从未在不复制某人代码的情况下成功使用 API。在这种情况下,我什至在论坛上找不到任何示例,在 API 文档中也找不到。

我正在尝试从我的投资银行“NordNet”中提取我的余额值,以在我制作的 Arduino 显示屏上滚动等。现在,我使用 python Selenium 自动“物理”登录 NordNet 并从 DOM 获取余额。因为我担心我可能会因为这种恶意行为而受到“惩罚”,而且由于脚本的维护成本相当高(随着 HTML 随着时间的推移而变化),我显然更愿意通过 NordNet 的新 API 获取此信息。


NordNets API 文档链接

每次我尝试使用 API 文档时,它总是一样的,看起来很简单,但我永远无法让它工作。

这次我尝试在进一步探索之前先尝试一下 API。 我使用PostMan发送最简单的请求:

https://www.nordnet.se/api/2

我得到了成功的代码 200 JSON 响应。

然后我尝试进一步使用此端点访问我的帐户数据:

https://www.nordnet.se/api/2/accounts

对于这个,我显然需要某种身份验证

文档看起来像这样:

enter image description here

所以我像这样设置我的 PostMan 客户端并显示响应:

enter image description here

我已将 NordNet 登录信息作为“基本身份验证”放入“身份验证”选项卡中,然后我在“标头”选项卡中看到 PostMan 以某种方式加密了此信息。


我收到未经授权的响应代码,但我不知道为什么。我使用 PostMan 是否错误(可能)? API 是否有故障(可能没有)?有提到应该包含密码和用户名的

session_id
?也许完全是别的东西......

希望你能帮忙

api postman
2个回答
1
投票

文档说使用 session_id 作为该 api 的用户名和密码,

因此请尝试登录,然后获取会话 ID(尝试同时使用 sid 和 ssid)。从网络选项卡并将其作为用户名和密码传递以进行授权。

sid- 我猜是 http 的,ssid 是 https 的,尝试两者都用

enter image description here


0
投票

我也有同样的问题,我想找回我的账户仓位。所以我找到了会话ID,这是我通过运行登录的post请求获得的。从那里,我不知道如何编写get请求的授权。您可以在以下链接中找到我提到的请求:https://www.nordnet.se/externalapi/docs/api#_errorresponse

但是授权过程是一样的。我知道它需要进行base64加密,这很简单,但是我到底加密了什么?会话密钥或会话 ID(这与 cookies 相同吗??)?.

© www.soinside.com 2019 - 2024. All rights reserved.