我在 nasdaq.com 的 get 请求中遇到了以下问题。
我想用nodejs抓取一些数据,但即使在尝试各种配置几个小时后,我得到的只是“ECONNRESET”。 另一方面,对于Python来说,它就像一个魅力。 目前,我已经编写了一个解决方法,使用 python-shell 和 python 从 Node 获取数据。
const request = require('request')
const options = {
url: 'https://www.nasdaq.com/',
headers: {
'Connection': 'keep-alive',
'User-Agent': 'Mozilla/5.0 (X11; U; Linux i686) Gecko/20071127 Firefox/2.0.0.11',
'Accept-Encoding': '',
'Allow': '/'
},
}
request(options, (err, res, body) => {
console.log(err)
console.log(res.statusCode)
})
结果
{ Error: read ECONNRESET
at TLSWrap.onread (net.js:660:25) errno: 'ECONNRESET', code: 'ECONNRESET', syscall: 'read' }
和
from requests import get, Response
res: Response = get('https://www.nasdaq.com/')
print(res.status_code)
结果
200
只有在请求 nasdaq.com 时才会发生这种情况。对于所有其他网站, Node 按预期工作。
我的 Node 请求做错了什么?
最佳答案
使用superagent
模块。它对我有用。
const request = require('superagent')
request.get('www.nasdaq.com', (err, res, body) => {
console.log(err)
console.log(res.statusCode)
});
关于python - 在python和nodejs中请求nasdaq.com,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52363006/