通过HTTP下载文件的问题在Java中获取

时间:2015-07-30 17:58:58

标签: java http-headers apache-commons-httpclient

我有一个可以使用URL访问的应用程序:http://test:10123

此应用程序需要登录并用于生成报告。

因此,如果您在浏览器中访问以下链接,则会使用report_id = 123

下载报告

http://test:10123/servlet/XXXServlet/Report123.csv?reportID=123

我编写了一个主方法,它使用apache httpclient-3.x来使用URL下载文件。但它不起作用。请参阅以下代码:

        String website="http://test"; int port=10123; String resource="servlet/XXXServlet/Report123.csv?reportID=123";
        GetMethod getMethod = null;
        byte[] responseBody = null;
        HttpClientParams params = new HttpClientParams();
        params.setSoTimeout(2 * 60 * 1000);
        HttpClient client = new HttpClient(params);
        client.getHostConfiguration().setProxy("XXXX",8080);
        client.getHostConfiguration().setHost(website, port, "http");
        getMethod = new GetMethod(resource);
        int statusCode=client.executeMethod(getMethod);
        System.out.println(statusCode);
        responseBody = getMethod.getResponseBody();

请帮忙。

1 个答案:

答案 0 :(得分:0)

尝试将String website="http://test";更改为String website="test"; 因为这是馈送到setHost,它只需要主机名。