java.io.IOException:无效的Http响应

问题描述 投票:4回答:3

现在您要说的是这样的问题,我想指出的是,我看了其中大多数问题,没有任何运气。我也是这里的第一个计时器,所以要保持温柔。

我现在在当前程序中有这种烦恼:

基本上,我的程序的这一部分使用搜索引擎来查找种子文件。

public static ArrayList<String> search(String args) throws IOException {        
    args = args.replace(":", "");

    ArrayList<String> list = new ArrayList<String>();
    URL url = new URL("http://pirateproxy.net/search/" + args + "/");
    URLConnection con = url.openConnection();
    BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream())); <---- THIS
}

public static void main(String[] args) {
    try {
        search("The Hobbit: The Desolation of Smaug");
    } catch (IOException e) {
        e.printStackTrace();
    }
}

错误:

java.io.IOException: Invalid Http response
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at service.ServiceDownloader.search(ServiceDownloader.java:20)
at service.ServiceDownloader.main(ServiceDownloader.java:45)

现在最有趣的部分是,这部电影(“霍比特人:史矛革之战”)只错了,其他每部电影都表现完美。我不明白请帮忙。 (我还从搜索方法中删除了所有不必要的代码)

如果我在这里没有提供足够的信息,请询问我更多信息。

java httpresponse httpurlconnection ioexception
3个回答
4
投票

您应该对字符串The Hobbit: The Desolation of Smaug进行URL编码,因为那里有特殊字符。例如:空格。


1
投票

我怀疑它绊倒在冒号(:)而不是空间上。还有其他带有冒号的标题吗?


0
投票

代替串联字符串并不必要地创建临时字符串而失败,因为未对url进行编码,您可以使用内置的UriBuilder来生成有效的URL

© www.soinside.com 2019 - 2024. All rights reserved.