DNSPod API 似乎无法用 Node.js HTTP 客户端访问了?

2019-05-26 21:32:22 +08:00
 t123yh

复现方法如下:

const axios = require("axios");
axios.post("https://dnspod.cn/Info.Version", "login_token=LOGIN_TOKEN&format=json", {'Content-Type': 'application/x-www-form-urlencoded'}).catch((err) => { console.log(err.toString());})

提示错误: Error: write EPROTO 140286343113664:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:s23_clnt.c:802:

应该不是环境的问题,换了好几台机器都这样,请问大家能复现吗

2011 次点击
所在节点    全球工单系统
5 条回复
runtu2019
2019-05-26 21:35:36 +08:00
禁用 https 验证,还有 User-Agent 是按照它文档里规定写的吗?
lihuimail
2019-05-26 21:37:05 +08:00
ssl 版本问题
t123yh
2019-05-26 21:38:21 +08:00
@runtu2019 跟 User-Agent 无关,SSL 握手的时候就死掉了。https 关掉之后会重定向到 https,绕不开
t123yh
2019-05-26 21:38:57 +08:00
@lihuimail 换了好几台机器了,OpenWrt、Ubuntu、Arch 都不行,应该是 DNSPod 那边配置出问题了
phy25
2019-05-27 07:34:52 +08:00
并不能复现,我加了 done 可以吐响应内容出来。应该发一下 NodeJS 的版本以及有可能的话 OpenSSL 的版本。

另外请看 DNSPod 后台通知:“为提升整体业务安全等级,遵循最新行业标准,近期 DNSPod 会集中对网站的 SSL 证书进行升级。升级结束后,我们将会支持 HTTP/2 协议,TLS v1.2、TLS v1.3 协议。不再支持低于 TLS v1.2 版本( TLS v1.1、TLS v1.0 等)老旧协议。DNSPod API 旧的“用户名 + 密码”的鉴权方式已下线,请升级为更安全的 API Token 的方式。另请确保调用接口 url 为 https://dnsapi.cn ,避免 API 操作不当影响使用。”

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/567846

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX