我有这样一个请求: https://api.pinterest.com/v1/me/pins/?access_token=xyz,access_token 是有效的,直接粘贴在浏览器地址栏或 postman 中可以访问到,但是使用 如下代码
// test.js var http = require("https"); var optiOns= { "method": "GET", "hostname": "api.pinterest.com", "port": null, "path": "/v1/me/pins?access_token=xyz", }; var req = http.request(options, function (res) { var chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { var body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
使用 node test.js 运行时报这样的错:
errno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect', address: '173.252.102.241', port: 443
请教各位 v 友指点迷津,感谢。
![]() | 1 nannanziyu 2019-11-09 15:12:38 +08:00 ![]() 因为你浏览器开代理了 |
2 zyl423 2019-11-09 15:13:04 +08:00 抓个包看看请求有什么不同 |
![]() | 3 opengps 2019-11-09 15:15:24 +08:00 via Android ![]() useragent 是防爬虫最简单的做法,你没修改就等同于告诉对方你是爬虫 |
4 chuxiaonan 2019-11-09 15:16:24 +08:00 ![]() 有没有可能是 HTTPS 认证的问题 原因可能出在 nodejs 版本不支持 HTTPS 认证 gcc 版本过低 或者其他什么方面 之前在公司服务器上遇到过 重新打个新 docker 就 OK 了 |
5 photon006 2019-11-09 15:47:50 +08:00 ![]() 不要相信自己的封装能力,用现成的 request、superagent 库 |
![]() | 7 yuang OP |