在 shell 中获得 302,但在浏览器中却没有
Getting a 302 in shell but not in browser
当我尝试获取第 430 页的 wget 请求时,我得到了重定向 302。
wget "https://www.zalando.be/kleding/?p=430"
结果
HTTP-verzoek is sent; waiting on answer... 302 Moved Temporarily
Location: /kleding/?p=429 [following...]
--2018-11-10 21:08:57-- https://www.zalando.be/kleding/?p=429
但是,当我访问该站点并按下下一页按钮时,它会转到“https://www.zalando.be/kleding/?p=430”。
我不明白这怎么可能,有人可以为我详细说明吗?
也可以在 shell 中执行此操作吗?
我错了
好像重新加载几次页面,内容都变了。浏览器在转到 www.zalando.be/kleding/?p=430 时也会收到 302 代码这一事实意味着服务器端 "problem" 具有动态内容。我不知道 Zalando 是如何工作的,但我最好的猜测是流行度排序会导致系统关闭。当系统不知道条目的正确数量时,它会重定向到第 429 页(431 也被重定向证明)。
这可能是一个非常临时的重定向,因为我无法重现该问题。
因此似乎通过 wget
或直接在浏览器的地址栏中写入站点的 URL for p 值大于 429 将触发302 重定向.
按下 下一步 按钮时不会发生这种情况,因为这样页面内容是通过 AJAX 加载的。这是单击 下一步 按钮时发出请求的示例:https://www.zalando.be/api/catalog/articles?categories=kleding&limit=84&offset=36036&sort=popularity
我建议调查一些可能触发重定向的条件的分页逻辑,作为超出范围的页面请求保护。
当我尝试获取第 430 页的 wget 请求时,我得到了重定向 302。
wget "https://www.zalando.be/kleding/?p=430"
结果
HTTP-verzoek is sent; waiting on answer... 302 Moved Temporarily
Location: /kleding/?p=429 [following...]
--2018-11-10 21:08:57-- https://www.zalando.be/kleding/?p=429
但是,当我访问该站点并按下下一页按钮时,它会转到“https://www.zalando.be/kleding/?p=430”。
我不明白这怎么可能,有人可以为我详细说明吗?
也可以在 shell 中执行此操作吗?
我错了
好像重新加载几次页面,内容都变了。浏览器在转到 www.zalando.be/kleding/?p=430 时也会收到 302 代码这一事实意味着服务器端 "problem" 具有动态内容。我不知道 Zalando 是如何工作的,但我最好的猜测是流行度排序会导致系统关闭。当系统不知道条目的正确数量时,它会重定向到第 429 页(431 也被重定向证明)。
这可能是一个非常临时的重定向,因为我无法重现该问题。
因此似乎通过 wget
或直接在浏览器的地址栏中写入站点的 URL for p 值大于 429 将触发302 重定向.
按下 下一步 按钮时不会发生这种情况,因为这样页面内容是通过 AJAX 加载的。这是单击 下一步 按钮时发出请求的示例:https://www.zalando.be/api/catalog/articles?categories=kleding&limit=84&offset=36036&sort=popularity
我建议调查一些可能触发重定向的条件的分页逻辑,作为超出范围的页面请求保护。