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