如果响应期间 HTTP POST 失败,事务会发生什么情况?

发布时间:2021-02-27 11:35

我正在尝试通过 HTTP API 与加密货币交易所进行交流。 当我发出买入/卖出订单时,我希望在 HTTP 响应期间处理 IO 异常,并确保不要重复订单

一些交易所允许使用客户订单ID,所以如果发生异常,我可以用我自己生成的ID检查订单存在=>所以再试一次如果订单不存在。

但对于没有此功能的交易所,我无法检查订单是否存在,因为我没有收到任何结果(只是连接错误)。

因此,HTTP 世界中有任何规则规定如果 POST 响应 未正确发送回用户 => 不要进行交易? (所以在这种情况下,我可以再试一次并确保不要重复订单)

提前致谢:)

回答1

参考:https://tools.ietf.org/html/rfc7231#section-4.2

如果 Post 响应超时,或者您收到 IO 异常,则很难跟踪执行失败或在您调用的客户端上成功完成。 由于 POST 不是幂等的(多次调用不等于单次调用),但 GET 调用是。我建议对数据执行 GET(创建,检查是否执行了加密货币交换),并根据结果可以执行另一个 POST 调用。