Node.js 在节点上执行在Postman上测试的等效请求

Node.js 在节点上执行在Postman上测试的等效请求,node.js,http,post,web-scraping,request,Node.js,Http,Post,Web Scraping,Request,我在Postman上测试和工作的节点上发出请求时遇到问题。我试过的每件事都会返回302状态码 这是我想做的请求,它在邮递员上运行良好: 这是我的一个尝试: function ListaCidades(estado) { return new Promise((resolve, reject) => { request({ url: "http://www1.caixa.gov.br/Simov/carregaListaCidades.asp

我在Postman上测试和工作的节点上发出请求时遇到问题。我试过的每件事都会返回302状态码

这是我想做的请求,它在邮递员上运行良好:

这是我的一个尝试:

function ListaCidades(estado) {
    return new Promise((resolve, reject) => {

        request({
            url: "http://www1.caixa.gov.br/Simov/carregaListaCidades.asp",
            method: "POST",
            body:     "cmb_estado=MG&cmb_cidade=&cmb_tp_venda=0&cmb_tp_imovel=Selecione&cmb_area_util=Selecione&cmb_faixa_vlr=Selecione&cmb_quartos=Selecione&cmb_vg_garagem=Selecione"
        }, function callback(error, resp, body) {
            if (error)
            {
                reject(error);
                process.exit(1);
            }

            resolve(resp.statusCode);
        })
    });
}
我得到了HTTP 302作为状态码和一个空的主体


怎么了?

将302错误视为表面错误,这意味着URL上存在临时重定向。以下stackoverflow主题讨论了如何处理这种情况:

就邮递员而言,它将自动跟随一个重新定向。即使有一个选项来阻止它,它似乎不工作的桌面版本

可以在浏览器控制台的下面看到重新定向处理。所以您的代码需要处理这种情况。

我在Postman上禁用了自动跟踪重定向功能,但它仍能提供我所需的数据。我似乎只从node接收302代码,因为请求是错误的。在《邮递员》中,它返回时带有200个状态码。@rafcruz,如果它不是真正的再导演,那么我无法解释302。但是请看我在请求头上的更新,Postman在幕后使用的代码不是。@rafrcruz:我再次更新了解决方案。我现在确信这是一次真正的重新导演。显然,在Postman中禁用重定向的选项只在Chrome扩展中有效,而不是我和你正在使用的桌面应用程序。我还尝试了在浏览器中使用CURL和from请求,在这两种情况下,我都得到了302。所以问题是邮递员正在处理转发,而你的代码却没有。我现在添加了Chrome控制台屏幕截图。