【问题标题】:Getting HTTP response code in Java在 Java 中获取 HTTP 响应代码
【发布时间】:2012-06-26 14:20:38
【问题描述】:

我需要在 java 中找到 URL 的 HTTP 响应代码。我知道这可以使用 URL 和 HTTPURLConnection API 来完成,并且已经解决了之前的问题,例如 thisthis

我需要在大约 2000 个链接上执行此操作,因此速度是最需要的属性,其中我已经使用 crawler4j 抓取了 150-250 个页面并且不知道从该库获取代码的方法(由于我将不得不在这些链接上再次与另一个库建立连接以找到响应代码)。

【问题讨论】:

  • 您是否尝试过编写自己的代码?如果是这样,包括你所拥有的。如果没有,是什么阻止您这样做?
  • 回答您的问题我尝试自己编写代码。当然我会和你分享。以及阻止这样做的事情: 1. 我是 java 新手,所以我不太了解它的库。 2. 我不太了解如何找到答案。我的意思是我尝试使用谷歌,以前的问题,与其他人讨论,如果我找不到我会问像你这样的人。(也许你可以告诉我如何在你遇到的问题中找到解决方案,我的意思是你可以给你的榜样,你在这种情况下做了什么,我可以从中吸取教训。)
  • 从您的评论中听起来好像您已经采取了我自己会采取的所有步骤。如果您在问题中包含此信息,这只会有所帮助,以便我们知道从哪里开始回答。如果您已经有代码,那么您可能已经快到那里了,并且稍作改动就可以解决问题 - 如果您发布该代码,我们可以告诉您您在哪里犯了错误。而且,如果我们知道您是 Java 新手,我们可能会更详细地介绍我们在为更有经验的 Java 程序员回答问题时会忽略的概念。这并不全部适用于这种情况,但当您问其他问题时可能会适用。

标签: java html response


【解决方案1】:

在 Crawler4J 中,WebCrawler 类有一个方法 handlePageStatusCode,这正是您要查找的内容,如果您已经找到它,您也会找到。覆盖它并快乐。

【讨论】:

    【解决方案2】:

    第一个链接背后的答案包含您需要的一切: How to get HTTP response code for a URL in Java?

        URL url = new URL("http://google.com");
        HttpURLConnection connection = (HttpURLConnection)url.openConnection();
        connection.setRequestMethod("GET");
        connection.connect();
    
        int code = connection.getResponseCode();
    

    响应码是服务器返回的HTTP码。

    【讨论】:

    • 感谢您的回复,正如我所提到的,我已经浏览了这些链接。我想要的是比这个东西快得多(可能我之前没有明确提到过),如果有办法从 crawler4j 获取它。
    • 是的,你提到你经历过它们,但你没有写下你从它们那里得到了什么。
    • 那么,还有什么比这更快的吗?在这种情况下,如果我为“google.com”之类的主机建立了连接,那么我不必再次为同一域中的文件建立连接,例如“google.com/xyz.jpg”?
    • 您正在寻找的是 HTTP 持久连接功能。顺便说一句:你写的不是你想要达到的,很难帮助你。
    猜你喜欢
    • 2011-09-22
    • 1970-01-01
    • 2019-06-06
    • 2018-02-27
    • 1970-01-01
    • 2019-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多