2013-09-03 2 views
0

인터넷에서 심도있는 검색을 한 후 프록시 요청을 처리하기에 알맞은 Smiley's HTTP Proxy Servlet을 발견했습니다. 작고 하나의 클래스로 구성되어 있습니다. 제 질문은이 프록시를 활성 프록시로 사용할 수 있습니까? 대상 호스트를 가져 오기 전에 소수 값을 계산하기 위해 코드를 실행해야합니다. 이 서블릿으로는 불가능한 경우 다른 해결책이 있습니까?액티브 (스마트) 프록시 구성

답변

0

스마일의 HTTP 프록시 서블릿은 클래스를 확장하고 수정할 메소드를 무시하기 만하면되므로 쉽게 확장 할 수 있다고 설명합니다.

이 프록시는 사용자 상황에 따라 작동 할 수 있지만 사용 사례에 따라 조금 더 달라질 수 있습니다. 대상 호스트를 검색하기 전에 일부 코드를 실행하려고합니다. 이는 대상 호스트가 사용자 지정 코드를 기반으로 수정된다는 것을 의미하거나 # 2 대상 호스트를 검색하기 전에 사용자 지정 코드를 실행하기 만하면됩니다. . 아래는 각각에 대한 답변입니다 :

1) ProxyServlet.java에서 service() 메소드의 204 행에 언급 된대로 대상 호스트 (예 : targetUriObj)를 수정하려면 소스를 다운로드해야합니다 필요에 따라 직접 수정하십시오. 원본 소스를 편집하거나 service() 메소드를 재정 의하여 필요한 내용을 변경할 수 있습니다.

2) 당신은 단순히 코드를 실행하려면, 내가 지금처럼 ProxyServlet의 확장을 만드는 것이 좋습니다과 service() 메소드를 오버라이드 (override) 할 :

public class ProxyServletExtension extends ProxyServlet { 
    @Override 
    protected void service(HttpServletRequest servletRequest, HttpServletResponse servletResponse) throws ServletException, IOException { 
     // Run your custom code here 

     // Call the parent service() method to finish processing 
     super.service(servletRequest, servletResponse); 
    } 
}