2014-04-27 4 views
0

클라이언트가 금지 된 페이지에 액세스하려고 시도 할 때 클라이언트에 HTTP 403 응답을 표시하려면 어떻게해야합니까? 아래 코드는 있지만 클라이언트 브라우저에는 아무 것도 표시하지 않습니다. 사소한 오류 일지 모르지만 나는 이것에 익숙하지 않으므로 아무 것도 도움이되지 않습니다.자바 프록시 서버에서 HTTP 응답 생성

      // If webpage is not allowed, then redirect user to a blocked 
      // URL page 
      if (!checkHost(fin, requestSplit[3].split("\r")[0])) { 
       System.out.println("DON'T SHOW"); 

       OutputStream to_client = clientSocket.getOutputStream(); 
       PrintStream ps = new PrintStream(to_client); 
       ps.print("HTTP/1.1 403 Forbidden\r\n"); 
       ps.print("Connection: close\r\n"); 
       ps.print("\r\n"); 
       ps.close(); 
+1

무엇이 문제입니까? 유효한 HTTP 403 응답 만 보내주십시오. 신택스는 사소한 것이며 예제가 풍부하다. – EJP

+0

질문이 업데이트되었습니다. 감사합니다 – user3579484

+0

당신의 편집은 여전히 ​​잘못되었습니다. 라인 터미네이터로 다시 시도하십시오. – EJP

답변

0
  1. 당신은 종료해야 PrintStream, HTTP에서 Socket.
  2. 라인 터미네이터, \r\n으로 정의하지하지 어떤 println() 플랫폼에 종속 된, 않습니다.
  3. 404 응답에 Content-type, Date 또는 Accept-Ranges 헤더를 설정할 필요가 없습니다.
  4. incomingOS은 출력 스트림에 끔찍한 이름입니다.

편집 내용이 위의 (2)를 준수하지 않습니다.

관련 문제