【发布时间】:2019-10-09 16:01:45
【问题描述】:
我正在为网页抓取编写一个基于 Node.js 的小型应用程序。我正在使用 axios 库来处理 HTTP 请求。由于某种原因,我无法获取一个网站:
const express = require('express');
const axios = require('axios');
const app = express();
const port = process.env.PORT || 3000;
app.get('/', async (req, res) => {
const url = 'http://www.ztm.waw.pl/';
const fetchRes = await axios.get(url);
console.log(fetchRes);
});
app.listen(port, () => console.log(`Example app listening on port ${port}!`));
当我运行服务器并访问 http://localhost:3000 时出现错误:
UnhandledPromiseRejectionWarning: Error: write EPROTO 4554425792:error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol:../deps/openssl/openssl/ssl/statem/statem_lib.c:1922:
代码或多或少没问题。例如,当我将 url 更改为 http://stackoverflow.com 时,我得到了响应。
这里有什么问题?我想这与请求配置有关。我试着玩了一下,但没有成功。
【问题讨论】:
-
你使用的是最新版本的 axios 的 npm 包吗?我已经测试了这段代码 sn-p 并设法记录了来自该站点的响应。
-
我认为您在这里遇到了 tls 问题
标签: node.js express web-scraping axios