近程调用的阐明
浏览器解析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(); } }}