0

当我尝试在浏览器上登录 emodal.com(我假设它使用基本身份验证,因为它只需要用户/通行证)时,它工作正常,让我转到某个页面并让我通过。但是,当我尝试进入我想要的页面并以编程方式进行身份验证(使用请求或请求承诺)时,由于“凭据无效”而被拒绝。似乎我需要通过浏览器手动登录或单击登录按钮,然后我将能够转到我想要的私人受保护页面(为什么它不能以编程方式工作而浏览器(谷歌浏览器)工作?它是否正在经历我不知道的身份验证过程的第二步?)

在这里,我提供了 3 个屏幕截图,说明了我登录时 devtools 控制台的外观(它向 ValidateWharfageUser 发出请求,然后是 Login,然后是 GetStatus,如图所示,然后我猜这就是它以编程方式拒绝我的地方)。

import dotenv = require('dotenv');
dotenv.config({ path: '../logins.env' });
import rp = require('request-promise');
const jsonUrl = `http://availability.emodal.com/ImportAvailability/GetContainerInfoList?sgrdModel=%7B%22searchtext%22:%22%22,%22page%22:1,%22pageSize%22:280,%22sortBy%22:%221%22,%22sortDirection%22:%22asc%22,%22sortColumns%22:%22%22%7D`;

const authOpts = {
  uri: jsonUrl,
  auth: {
    user: process.env.EMODAL_id,
    pass: process.env.EMODAL_pw,
    sendImmediately: false
  },
  method: 'get'
}

rp(authOpts)
.then(resp => {
  console.log(resp);
}).catch(err => { throw Error(err)});

3张截图:

http://i.imgur.com/hjThLt1.png

http://i.imgur.com/0uPAMMs.png

http://i.imgur.com/xBF2DAV.png

4

0 回答 0