【发布时间】:2022-01-13 13:27:01
【问题描述】:
我正在使用 Java,我想向一个 URL 发送一个请求,然后获取我被重定向到的 URL。
如果它包括使用 HttpClient 和 Requests,我想要解决方案,因为我过去已经使用过。
【问题讨论】:
-
那么你尝试了什么?重定向通常是 301 或 302 响应以及新位置,您是否尝试阅读? (您可能需要告诉客户端不要自动跟随重定向)
-
请给我们一些代码,你试过什么。
-
@Thomas 我没试过,你能告诉我我能做些什么来试试吗?我应该只向该 URL 发送请求吗?然后它将如何告诉我它已被重定向到哪个 url?
-
再次阅读我的评论,我已经添加了一些关于如何检测重定向的提示(可能需要一些额外的研究,但它应该让你开始)。基本上首先确保重定向甚至发生,即一个指标是如果你在浏览器中运行它,url会发生变化。如果它只是一个内部代理/转发,您将不知道是否存在内部重定向。
-
“那么让跟随重定向打开不是更好吗?” - 取决于,如果你想要你被重定向到的页面,那么是的。但是如果你想要这个 url,你需要停下来检查结果。在大多数情况下,您会获得带有新 url 的 301、302 或 303 状态(客户端/浏览器可能会自动跟随),或者您实际上会获得包含重定向标头、一些 javascript 等的 HTML 页面 - 这可能不是由 http 客户端直接评估,您可能必须自己进行解析。
标签: java multithreading url proxy