V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
工单节点使用指南
• 请用平和的语言准确描述你所遇到的问题
• 厂商的技术支持和你一样也是有喜怒哀乐的普通人类,尊重是相互的
• 如果是关于 V2EX 本身的问题反馈,请使用 反馈 节点
t123yh
V2EX  ›  全球工单系统

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

  •  
  •   t123yh · 2019-05-26 21:32:22 +08:00 · 2055 次点击
    这是一个创建于 2011 天前的主题,其中的信息可能已经有所发展或是发生改变。

    复现方法如下:

    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:

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

    5 条回复    2019-05-27 07:34:52 +08:00
    runtu2019
        1
    runtu2019  
       2019-05-26 21:35:36 +08:00
    禁用 https 验证,还有 User-Agent 是按照它文档里规定写的吗?
    lihuimail
        2
    lihuimail  
       2019-05-26 21:37:05 +08:00 via Android
    ssl 版本问题
    t123yh
        3
    t123yh  
    OP
       2019-05-26 21:38:21 +08:00
    @runtu2019 跟 User-Agent 无关,SSL 握手的时候就死掉了。https 关掉之后会重定向到 https,绕不开
    t123yh
        4
    t123yh  
    OP
       2019-05-26 21:38:57 +08:00
    @lihuimail 换了好几台机器了,OpenWrt、Ubuntu、Arch 都不行,应该是 DNSPod 那边配置出问题了
    phy25
        5
    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 操作不当影响使用。”
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1739 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 122ms · UTC 00:00 · PVG 08:00 · LAX 16:00 · JFK 19:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.