2017-05-24 3 views
-1

apache httpclient 4.5.3을 사용하여 POST 요청을 다른 다른 웹 페이지 (예 : example.com)에 제출합니다. 사용자 지정 응답 처리기를 사용하여 응답을 받고 있습니다. 응답 페이지가 다음과 같이 처리된다 :apache HTTPClient에서 상대 URL을 처리하는 방법

HttpClient httpclient = HttpClientBuilder.create().setRedirectStrategy(new LaxRedirectStrategy()).setDefaultCookieStore(cookieStore).build(); 
HttpPost httpget = new HttpPost("http://www.example.com/post.php"); 
... 
    String responseBody = httpclient.execute(httpget, responseHandler, context); 
    PrintWriter out = response.getWriter(); 
    out.println(responseBody); 
    out.close(); 

페이지를 렌더링 할 때 문제가이 있다는 명백한 이유로 HTTP-404의 결과 (/scripts/test.css 같은) HTML 페이지의 상대적인 URI 스크립트는 내 바람둥이에 존재하지 않습니다.

이 문제를 어떻게 처리합니까?

// SB

답변

0

아파치 HTTP 클라이언트는 HTTP 클라이언트가 내 및 HTML 페이지 참조 자동 자원을 처리하지 않습니다이다. 이러한 참조 된 리소스는 별도로 가져와야합니다. 당신의 설명에서

, 캐싱, 살아 보관 쿠키처럼 아파치 HTTP 클라이언트 그냥 HTTP 프로토콜을 처리 간소화 (그리고 확장의)

...

은 당신의 외부의 (부분)를 제공하려고 같은 소리 내 자신의 바람둥이에서 웹 사이트. 법적 문제가 없다고 가정 해 봅시다.

당신은 다른 옵션이 있습니다

  • 사용 IFrame을 외부 콘텐츠를 포함.
  • 구문 분석 만 절대 URL을 포함하는 외부 HTML 페이지를 재 작성 및 재 작성 HTML 페이지를
  • 절편을 상대적 요청과 외부 호스트에서 그들을 가져 HTML 페이지 예와 유사한 그들을 치료하고되도록 콘텐츠를 제공
  • 그들이 당신의 바람둥이에 접대 된 것처럼 보입니다.