2012-04-14 6 views
3

기본적으로 들어오는 요청을 다른 호스트의 동일한 URL 경로로 프록시하는 서블릿을 작성해야합니다. 다음은 Apache Commons Http Client 4.1.3을 사용했을 때의 예입니다.HttpClient.execute()에서 프록시 서블릿이 멈춤

서블릿이 처음 제대로 호출 될 때 제대로 작동합니다. 그러나 처음으로 서블릿은 클라이언트 .execute (get) 행에 있습니다.

"HttpClient execute hang"에 대한 많은 Google 히트가 있으며 대부분은 ThreadSafeClientConnManager의 인스턴스를 사용하는 것이 좋습니다. 그것을 시도했다, 슬프게도 도움이되지 않았다.

나는 몇 시간 동안이 문제에 대해 인터넷 검색을했으나 아직 해결할 수있는 방법을 찾지 못했습니다. 나는 진지하게 내가 여기서 잘못하고있는 것에 대해 어떤 조언도 감사 할 것이다.

+0

org.apache.http에서 디버그 로깅을 사용 설정하려고 했습니까? 그게 내 첫 걸음 일세. – Alex

+0

비슷한 읽을 거리 : http://stackoverflow.com/questions/4694419/multiple-post-with-httpclient-4-0-3-hanging-randomly – Paul

답변

0

나는 어려운 일을하는 것이 좋습니다. 리디렉션을 수행하는 필터을 작성하십시오.

또는 포트에서 수신 대기하고 단지 바이트를 앞뒤로 복사하는 TCP 서버 일 수도 있습니다. CONNECT 명령을 구현하지 않는 한 프록시에서 HTTP 프로토콜을 전혀 사용할 필요가 없습니다.이 경우 HTTP 프로토콜 만 이해하면되고 응답은 필요한 유일한 HTTP 응답입니다 알기. 다른 모든 것은 바이트입니다.