簡體   English   中英

如何使用請求模塊node.js發出多個請求?

[英]how to make multiple requests using request module node.js?

我正在使用nodejs request module 使用此用戶登錄后,如何發出多個會話請求? 如何確保用戶已登錄並且使用請求模塊成功提交了表單數據? 我正在嘗試文檔中的示例來提交表單以供用戶登錄,但它始終在默認頁面上重定向。 誰能指導我?

謝謝

登錄請求后,您需要保存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)
    })
}

作為您的願望示例,此測試已完成。 這是簡單的用法。

var request = require('request');
var host = 'http://localhost'
var loginUrl = host + '/rest/user/login'
var nextUrl = host + '/rest/next/request'

var j = request.jar()


function login(jar, callback) {
    request.post({url: loginUrl, jar: jar}, callback).form({username: 'user1', password: 'pass1'})
}

function post(jar, callback) {
    request.post({url: nextUrl, jar: jar}, callback).form({id: 1})
}
login(j, function (err, response, body) {
    //check err, response, body
    post(j, function(err, response, body){
        //check err, response, body
        console.log(body)
    })
})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM