node.js - 如何使用请求模块node.js发出多个请求?

标签 node.js request web-scraping

我正在使用nodejs请求模块。用户使用此登录后如何对 session 发出多个请求?如何确保用户已登录并且使用请求模块成功提交表单数据? 我正在尝试文档中的示例来提交用户登录表单,但它总是在默认页面上重定向。 有人可以指导我吗?

谢谢

最佳答案

登录请求后需要保存cookie,下次请求时使用cookie。

var cookie = null
login()

function login() {
    request(host)
        .post('/rest/user/login')
        .send({email: 'email@domain.com', password: 'qweqwe'})
        .expect('Content-Type', /json/)
        .expect(200)
        .end(function (err, res) {
            if (err) throw err
            if (!res.body.error) {
                cookie = res.headers['set-cookie']
                nextRequest()
            }
        })
}
function nextRequest() {
    request(host)
        .post('/rest/data')
        .set('cookie', cookie)
        .send({
            data: 'data'
        })
        .expect('Content-Type', /json/)
        .expect(200)
        .end(function (err, res) {
            if (err) throw err
            console.log(res.body.data)
    })
}

关于node.js - 如何使用请求模块node.js发出多个请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24879719/

相关文章:

javascript - NodeJS parseStream,定义一个 block 的起点和终点

node.js - Node.js 中的同步 api 调用

javascript - 检查请求是否来自网络而不是手动

php - 当一个表为空时从两个表请求mysql

服务器端的 Node.js 事件与线程编程

javascript - 如何模拟异步函数的返回值?

python - 我在发布请求时遇到一些问题

html - 当页面元素不断变化和移动时,如何在 Ruby 中进行抓取。

python - 无法使用 BS4 从表格中仅提取可见文本

arrays - 使用 lodash 在另一个数组中的数组中查找值