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