0

大家好,我在下载管理器项目中工作。

我正在测试一些链接并且工作正常,但是我发现了一个问题

下面这两个链接来自 emupardise,我将使用它来说明我的观点。

如果我使用此代码:

     String GameLink = "http://www.emuparadise.me/roms/get-download.php?gid=43269&token=2f91d51fcd8b90cec75193ffd592f07c&mirror_available=true";
//    String GameLink = "http://www.emuparadise.me/roms/get-download.php?gid=43270&token=a6f395885bea3bbef73d972804d2cbdb&mirror_available=true";


             try {


URL url = new URL(GameLink);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestProperty("Host" ,"www.emuparadise.me");
con.setRequestProperty("Accept" ,"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
con.setRequestProperty("Accept-Encoding" ,"gzip, deflate");
con.setRequestProperty("Referer" ,"www.emuparadise.me");
con.setRequestProperty("Connection" ,"keep-alive");



   System.out.println("Server answer :"+ con.getResponseCode());

con.connect();
InputStream is = con.getInputStream();
System.out.println(con.getURL().toString()+"\n");

is.close();

        } catch (IOException ex) {
            Logger.getLogger(Question.class.getName()).log(Level.SEVERE, null, ex);
        }

首先我得到:

“服务器答案:200”(如我所愿),但是使用第二个链接我得到:

“服务器答案:-1”,然后我收到错误:java.io.IOException: Invalid Http response

我已经检查了两个页面中的标题,它们是相同的,除了两个链接都可以在 Internet 下载管理器中使用之外,任何人都可以为我提供解决方案吗?

非常感谢你花时间陪伴

4

1 回答 1

1

根据该方法的javadocgetResponseCode()

“如果无法从响应中识别出任何代码(即响应不是有效的 HTTP),则返回 -1。”

这很可能是服务器端的问题。服务器可能不是用正确的 HTTP 响应来响应您的请求,而是发送垃圾......或者只是关闭连接。或者它可能是这样做的中间人;即代理或反向代理。


您可能应该尝试使用数据包监视器或其他东西来确定服务器响应中的实际内容。或者只是将其报告给站点维护人员。

于 2013-11-05T22:57:07.847 回答