proxysvr.java

来自「java核心技术源代码」· Java 代码 · 共 64 行

JAVA
64
字号
/**
   version 1.00 1999-08-27
   author Cay Horstmann
*/

import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;

/**
   A very simple proxy servlet. The URL request parameter 
   specifies the resource to get. The servlet gets the 
   requested information and returns it to the caller.
*/
public class ProxySvr extends HttpServlet
{  
   public void doGet(HttpServletRequest request,
      HttpServletResponse response)
      throws ServletException, IOException
   {  
      String query = null;

      response.setContentType("text/html");
      PrintWriter out = response.getWriter();

      query = request.getParameter("URL");
      if (query == null)
      {  
         response.sendError(HttpServletResponse.SC_BAD_REQUEST,
            "Missing URL parameter");
         return;
      }

      try
      {  
         query = URLDecoder.decode(query);
      }
      catch(Exception exception)
      {  
         response.sendError(HttpServletResponse.SC_BAD_REQUEST,
            "URL decode error " + exception);
          return;
      }

      try
      {  
         URL url = new URL(query);
         BufferedReader in = new BufferedReader(new
            InputStreamReader(url.openStream()));

         String line;
         while ((line = in.readLine()) != null)
            out.println(line);
         out.flush();
      }
      catch(IOException exception)
      {  
         response.sendError(HttpServletResponse.SC_NOT_FOUND,
            "Exception: " + exception);
      }
   }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?