Quantcast
Channel: CNode:Node.js专业中文社区
Viewing all articles
Browse latest Browse all 14821

求分析一个神奇的 HTTP 跳转

$
0
0

最近在研究大麦的购票流程,中间有个 URL 的跳转实在百思不得其解。 以这个 URL 为例:<www.damai.cn/GotoShopping.aspx?_action=Immediately&proId=12123708&optype=1&companyId=1580&num=1&n=0> 在浏览器输入后页面会跳转到 https://trade.damai.cn/multi/confirm?***这样一个页面。 我直接用 charles 抓包,结果如下: 1.png截图框内部分正是最后重定向到的链接。 但是我用 Node 来模拟请求,想得到请求的页面,始终拿不到,我也尝试获取 302 跳转前的页面:

superagent
    .get(url)
    .set('Cookie', cookie)
    .redirects(0)
    .on('error', err => {
      console.log(err.response.text)
    })
    .end(function (err, sres) { // callback
    })

我省略了一些请求头,实际上我都带上了,结果如下: 2.png而且我也获取不到最后重定向页面的代码,一直获取的是商品详情页,也就是这个页面 https://piao.damai.cn/141343.html的代码。 我有两个问题:

  1. 我怎么根据 <www.damai.cn/GotoShopping.aspx?_action=Immediately&proId=12123708&optype=1&companyId=1580&num=1&n=0> 获取最后跳转到的页面的 URL(假设有 cookie 等所有请求头信息)
  2. 怎么根据 <www.damai.cn/GotoShopping.aspx?_action=Immediately&proId=12123708&optype=1&companyId=1580&num=1&n=0> 获取最后跳转到的页面的 HTML 代码?我将所有头部信息全部填完后模拟请求,一直请求到的是商品详情页也就是这个页面 https://piao.damai.cn/141343.html的代码,不知道哪个环节出了问题

我用的 HTTP 库是 superagent,望赐教!


Viewing all articles
Browse latest Browse all 14821

Trending Articles