乐趣区

关于微服务:微服务框架简述

近程调用的阐明

浏览器解析 ajax 发动跨域申请. 程序尽管能够正确的调用, 然而浏览器能够监控用户的所有的参数及返回值. 在一些特定的条件下该操作不平安.(例如: 支付宝领取操作)
个别应用跨域的申请都是用来获取其余服务器的数据(查问操作), 如果遇到了 POST 须要提交的参数应该应用更加平安的申请形式实现.

HttpClient 介绍

HTTP 协定可能是当初 Internet 上应用得最多、最重要的协定了,越来越多的 Java 应用程序须要间接通过 HTTP 协定来拜访网络资源。尽管在 JDK 的 java net 包中曾经提供了拜访 HTTP 协定的基本功能,然而对于大部分应用程序来说,JDK 库自身提供的性能还不够丰盛和灵便。HttpClient 是 Apache Jakarta Common 下的子项目, 用来提供高效的、最新的、功能丰富的反对 HTTP 协定的客户端编程工具包,并且它反对 HTTP 协定最新的版本和倡议。HttpClient 曾经利用在很多的我的项目中,比方 Apache Jakarta 上很驰名的另外两个开源我的项目 Cactus 和 HTMLUnit 都应用了 HttpClient。当初 HttpClient 最新版本为 HttpClient 4.5 .6(2015-09-11)

以上是百度的概念

总结来说就是:HttpClient 是用来提供高效的、最新的、功能丰富的反对 HTTP 协定的客户端编程工具包

HttpClient 入门案例

导入 jar 包

<!-- 增加 httpClient jar 包 -->
<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
</dependency>

入门案例

public class TestHttpClient {
    /**
     * 步骤:
     *  1. 实例化 httpClient 工具 API
     *  2. 定义申请 url 地址  任意网络地址....
     *  3. 定义申请的类型  get/post/put/delete
     *  4. 发动申请, 获取响应的后果
     *  5. 判断响应的状态码信息.  200 404 500 406 400....
     *  6. 动静解析返回值执行后续操作.
     */
    @Test
    public void test01(){HttpClient httpClient = HttpClients.createDefault();
        String url = "https://www.baidu.com/";
        HttpGet get = new HttpGet(url);
        try {HttpResponse httpResponse = httpClient.execute(get);
            // 判断状态码是否正确
            int statusCode = httpResponse.getStatusLine().getStatusCode();
            if(statusCode == 200){
                // 示意申请正确
                HttpEntity httpEntity = httpResponse.getEntity(); // 获取服务器的全副响应信息(json/html/xml/xxxx)
                String result = EntityUtils.toString(httpEntity,"UTF-8");
                // 获取之后能够执行业务解决......
                System.out.println(result);
            }
        } catch (IOException e) {e.printStackTrace();
        }
    }
}
退出移动版