我有一个可以使用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();
请帮忙。
答案 0 :(得分:0)
尝试将String website="http://test";
更改为String website="test";
因为这是馈送到setHost
,它只需要主机名。