Web アプリケーションに外部 URL のコンテンツをロードする必要があります。
HttpsUrlConnection と HttpCliente で試しましたが、忘れてしまいましたが、相対 URL が機能しないため問題があります。
私の webapp がで、 のhttp://example1.com
コンテンツを請求しようとすると、たとえばhttp://external.com
の相対 URL がで解決しようとしています。http://external.com
/images/g.jpg
http://example1.com/images/g.jpg
私は絶望的です、私はグーグルを探しますが、何も見つかりません.
下手な英語でごめんなさい。
ありがとうございました!!!:-)
PD:私のコードがあります(コードでは、ヘリオスが相対URLを絶対URLに変更することについて述べていますが、機能しません...)
codigoHtml には相対リンクを含む html コードがありますが、動作しません!!
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
DefaultHttpClient httpclient = new DefaultHttpClient();
httpclient.getParams().setParameter(ClientPNames.DEFAULT_HOST, new HttpHost("host_to_redirect"));
HttpPost httpPost = new HttpPost("host_to_redirect/action.do");
httpPost.addHeader("Location", "host_to_redirect");
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("name", "value"));
nameValuePairs.add(new BasicNameValuePair("name", "value"));
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse httpResponse = httpclient.execute(httpPost);
httpResponse.addHeader("Location", "host_to_redirect");
HttpEntity entity = httpResponse.getEntity();
System.out.println("----------------------------------------");
System.out.println(httpResponse.getStatusLine());
System.out.println("----------------------------------------");
if (entity != null) {
// System.out.println(EntityUtils.toString(entity));
response.setHeader("Location", "https://prepliberty.tirea.es:8065/pliberty");
response.addHeader("Location", "https://prepliberty.tirea.es:8065/pliberty");
String codigoHtml = EntityUtils.toString(entity);
codigoHtml = codigoHtml.replaceAll("plib_script/", "host_to_redirect/plib_script/");
codigoHtml = codigoHtml.replaceAll("plib_css/", "host_to_redirect/plib_css/");
codigoHtml = codigoHtml.replaceAll("plib_images/", "host_to_redirect/plib_images/");
response.getWriter().write(codigoHtml);
}
}