java - 如何确保来自 URL 的输入不是来自重定向页面

标签 java url redirect

我有以下几行代码,用于从给定 URL 收集源代码:

URL url = new URL(websiteAddress);
URLConnection connection = url.openConnection();  // throws an IOException
connection.setConnectTimeout(timeoutInMilliseconds);
bufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream()));

String line;
while ((line = bufferedReader.readLine()) != null) {
    outputString += line;
}

但是,我遇到的问题是 Wi-Fi 热点经常将您重定向到必须单击“我同意”的页面。如果您在单击该复选框之前运行此代码,那么它会从热点登录页面而不是预期页面收集源代码。

我想做的是有某种方法来检查是否到达了预期的页面。我希望在创建 InputStreamReader 后调用 connection.getURL() 能够向我显示到达的实际网页,但没有那么幸运。如何确定目标 URL 是否已重定向?

最佳答案

一种方法是在您的 web 页面中查找任何特定元素,如果它不存在,那么您就知道您可能位于其他页面(可能重定向到某个登录页面)。

关于java - 如何确保来自 URL 的输入不是来自重定向页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18729070/

相关文章:

java - 如何使用 Files.walk 获取文件夹名称和文件名

java - 为什么 Java 的 URL 类不能识别某些协议(protocol)?

android - Uri.builder 与基于字符串的 url 构造

java - Apache HttpClient : how to get redirect locations when using Fluent API?

PHP session 变量没有转移到我的登录页面,但 session ID 是

security - 为什么 Gmail 中的链接会重定向?

java - 使用 JNI 实现 Swing 透明度

java - 简易计算器不打印答案?

java - 从 support-v4 更改为 appcompat-v7 时出现 NulledPointer 异常

url - W3C 验证器说 'feed does not validate' 'url must be a full URL' ... 有什么问题吗?