レポートを開くための URL が 1 つある asp.net アプリケーションがあり、apache http クライアントを使用してこのレポートをエクスポートしようとしています。
DefaultHttpClient httpclient = new DefaultHttpClient();
try {
/* POST login */
HttpPost httpost = new HttpPost("http://localhost:80");
List <NameValuePair> nvps = new ArrayList <NameValuePair>();
nvps.add(new BasicNameValuePair("login", "e"));
nvps.add(new BasicNameValuePair("pw", "password"));
httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
HttpResponse response = httpclient.execute(httpost);
HttpEntity entity = response.getEntity();
System.out.println("Login form get: " + response.getStatusLine());
EntityUtils.consume(entity);
/* get content*/
HttpGet httpget = new HttpGet("http://localhost:80/Report);
System.out.println("executing request " + httpget.getURI());
// Create a response handler
ResponseHandler<String> responseHandler = new BasicResponseHandler();
String responseBody = httpclient.execute(httpget, responseHandler);
System.out.println("----------------------------------------");
System.out.println(responseBody);
System.out.println("----------------------------------------");
} finally {
// When HttpClient instance is no longer needed,
// shut down the connection manager to ensure
// immediate deallocation of all system resources
httpclient.getConnectionManager().shutdown();
}
}
localhost:80/Report がレポート ページであり、レポートを csv にエクスポートするボタンが 1 つあるとします。これを行うには、レポート セッションとコントロール ID が必要です。いくつかの調査の後、 csv へのエクスポートをクリックすると、この get メソッドが取得されます。 =OnlyHtmlInline&Format=CSV"
- レポート セッションとコントロール ID を取得する方法
- レポートをエクスポートするには?私はすでに同じセッションとコントロールID内でHttpGetをgetメソッドに変更していますが、まだ機能していません..
私はこれを正しくやっていますか?私はApache httpclientのまったく新しいので..