实现HttpServlet HttpURLConnect获取页面

1.模拟浏览器获取http://www.51job.com的流

2.将获取的流用resp.writ() 写入到resp中

3.浏览器输入localhost:8080将会看到51job的界面。

public class ServletDem extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

}

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
/*

        System.out.println(req.getContextPath());
        System.out.println(req.getHeaderNames());
        System.out.println(req.getHeader("Accept"));
      //  System.out.println(req.getHeader(req.getQueryString()));
        System.out.println("req.getRemoteHost()"+req.getRemoteHost());
        System.out.println("端口号"+req.getRemotePort());
        System.out.println("URI"+req.getRequestURI());
        */
        Date date = new Date();
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        resp.setCharacterEncoding("Unicode");
        String s0 = new String(req.getRequestURL());

        if(!s0.equals("http://detectportal.firefox.com/success.txt")){
            System.out.println(df.format(date)+":get");
            System.out.println(s0);
        }

        //获取51job html页面
        HttpURLConnection hr = null;
        URL url = new URL("https://ai.baidu.com/");
        hr = (HttpURLConnection) url.openConnection();
        hr.setRequestProperty("accept", "*/*");
        hr.setRequestProperty("connection", "Keep-Alive");
        hr.setRequestProperty("user-agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36");

        hr.connect();
        InputStream is = hr.getInputStream();
        StringBuilder sb = new StringBuilder();
        byte[] b =is.readAllBytes();

        hr.disconnect();
        is.close();

        ServletOutputStream sos = resp.getOutputStream();
        sos.write(b);
        
    }


}
View Code

猜你喜欢

转载自www.cnblogs.com/wangge01/p/9501367.html
今日推荐