最近在研究大麦的购票流程,中间有个 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 抓包,结果如下:
截图框内部分正是最后重定向到的链接。
但是我用 Node 来模拟请求,想得到请求的页面,始终拿不到,我也尝试获取 302 跳转前的页面:
superagent
.get(url)
.set('Cookie', cookie)
.redirects(0)
.on('error', err => {
console.log(err.response.text)
})
.end(function (err, sres) { // callback
})
我省略了一些请求头,实际上我都带上了,结果如下:
而且我也获取不到最后重定向页面的代码,一直获取的是商品详情页,也就是这个页面 https://piao.damai.cn/141343.html的代码。
我有两个问题:
- 我怎么根据 <www.damai.cn/GotoShopping.aspx?_action=Immediately&proId=12123708&optype=1&companyId=1580&num=1&n=0> 获取最后跳转到的页面的 URL(假设有 cookie 等所有请求头信息)
- 怎么根据 <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,望赐教!