農農  

1.HTTP与HTTPS区别

HTTP协议默认采用80端口 

HTTPS协议默认采用443     

HTTPS相较于HTTP协议更安全一些,采用SSL+安全证书,但是效率低

 

2.使用代码格式模拟HTTP请求(HTTPClient)

2.1 使用HttpClient模拟get请求

//get请求
    public static void getRequest() throws IOException {
        //创建一个默认链接
        CloseableHttpClient client= HttpClients.createDefault();
        //创建一个请求
        HttpGet httpGet=new HttpGet("https://www.baidu.com");
        //执行请求获取响应的结果
        CloseableHttpResponse response=client.execute(httpGet);
        //获取响应的状态码
        System.out.println("服务器返回的状态码:"+response.getStatusLine().getStatusCode());
        //服务器正常响应
        if(response.getStatusLine().getStatusCode()==200){
            //获取响应的结果
            System.out.println(EntityUtils.toString(response.getEntity(),"UTF-8"));

        }
        //关闭结果对象
        response.close();
        //关闭连接
        client.close();
    }

 

 

2.2 运行结果

 

 、

 

2.3 模拟post请求

编写一个servlet

@WebServlet("/HttpClientServlet")
public class HttpClientServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //获取数据
        String username = req.getParameter("username");
        System.out.println("接收的数据:"+username);
        resp.setContentType("text/html;charset=utf-8");
        resp.getWriter().write("服务器接收到数据啦~");
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doPost(req,resp);
    }
}

 

 

2.4 post请求

//模拟post请求
    public static void postRequest()throws IOException{
        //创建连接
        CloseableHttpClient client=HttpClients.createDefault();
        //创建请求
        HttpPost post=new HttpPost("http://localhost:8080/HttpClientServlet");
        //创建参数队列
        List<NameValuePair> pairs=new ArrayList<>();
        pairs.add(new BasicNameValuePair("username","张三"));
        //创建请求体,封装参数
        UrlEncodedFormEntity entity=new UrlEncodedFormEntity(pairs,"UTF-8");
        //将请求体交给当前请求
        post.setEntity(entity);

        //发送请求
        CloseableHttpResponse response=client.execute(post);
        System.out.println("接收到的结果为:"+EntityUtils.toString(response.getEntity(),"UTF-8"));
        //关闭资源
        response.close();
        client.close();

    }
}

 

2.5 运行结果

 

 

 

 

 

posted on 2020-02-05 15:21  Baekhyunne  阅读(192)  评论(0编辑  收藏  举报