我是靠谱客的博主 彩色云朵,最近开发中收集的这篇文章主要介绍java webclient jar_【commons-httpclient】Java中HttpClient工具访问Web请求,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

注意jar包是:

7043d9c9dc5cc34f13e77d3515cada1a.png

HttpClient工具使用

HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。

为什么要使用HttpClient工具:

原生态的Socket基于传输层,现在我们要访问的WebService是基于HTTP的属于应用层,所以我们的Socket通信要借助HttpClient发HTTP请求,这样格式才能匹配

HttpClient使用步骤如下:

创建 HttpClient 的实例

创建某种连接方法的实例,在这里是 GetMethod。在 GetMethod 的构造函数中传入待连接的地址

配置要传输的参数,和消息头信息

调用第一步中创建好的实例的 execute 方法来执行第二步中创建好的 method 实例

通过response读取字符串

释放连接。无论执行方法是否成功,都必须释放连接

jar包:

2QY0gGSAT64UWH+hw7uikm1PV60DoGv4IKEgA9udJhPUKSPj6jt8aIljQMPXZAg8MEFAJgHzk8AAPNAWQAA5vkfbZ3TCkOdc6gAAAAASUVORK5CYII=

1。第一种使用方式:

Get方式:

public static void getMethod() throwsException {//创建get对象,类似get请求

GetMethod getMethod = new GetMethod( "http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx/getMobileCodeInfo?mobileCode=18373551982&userID=");//发送get请求

int code =http.executeMethod(getMethod);

System.out.println("返回的消息码为:" +code);

System.out.println("返回的消息为:" +getMethod.getResponseBodyAsString());

getMethod.releaseConnection();

}

POST方式:

public static void postMethod() throwsException {//创建post请求,类似Post请求

PostMethod postMethod = new PostMethod( "http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx/getMobileCodeInfo");//设置请求的正文内容

postMethod.setRequestBody("mobileCode=18373551982&userID=");//设置传送信息的格式

postMethod.setRequestHeader("Content-Type","application/x-www-form-urlencoded");//发送post请求

int code =http.executeMethod(postMethod);

System.out.println("返回消息码为:" +code);

System.out.println("返回的消息为:" +postMethod.getResponseBodyAsString());

postMethod.releaseConnection();

}

2.第二种使用方式

/**HttpClient访问网络的实现步骤:

*  1. 准备一个请求客户端:浏览器

*  2. 准备请求方式: GET 、POST

*  3. 设置要传递的参数

*  4.执行请求

*  5. 获取结果

*/

get方式:(不用设置参数)

packagews_a;importjava.io.IOException;importorg.apache.commons.httpclient.HttpClient;importorg.apache.commons.httpclient.HttpException;importorg.apache.commons.httpclient.methods.GetMethod;importorg.junit.Test;public classHttpClientTest {

@Testpublic void testGet() throwsHttpException, Exception{

HttpClient client= newHttpClient();

GetMethod getMethod= new GetMethod("http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx/getMobileCodeInfo?mobileCode="+"13110410513"+

"&userID="+"");//4.执行请求 ,结果码

int code=client.executeMethod(getMethod);//5. 获取结果

String result=getMethod.getResponseBodyAsString();

System.out.println("get请求的结果:"+result);

}

}

get请求的结果:<?xml version="1.0" encoding="utf-8"?>

13110410513:陕西 西安 陕西联通GSM卡

Post方法:

@Testpublic void post() throwsException{

HttpClient client=newHttpClient();

PostMethod postMethod=new PostMethod("http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx/getMobileCodeInfo");//3.设置请求参数

postMethod.setParameter("mobileCode", "13834786998");

postMethod.setParameter("userID", "");//4.执行请求 ,结果码

int code=client.executeMethod(postMethod);//5. 获取结果

String result=postMethod.getResponseBodyAsString();

System.out.println("Post请求的结果:"+result);

}

Post请求的结果:<?xml version="1.0" encoding="utf-8"?>

13834786998:山西 长治 山西移动全球通卡

如果返回的中文乱码,我们可以设置编码:

//防止中文乱码

postMethod.getParams().setContentCharset("utf-8");

maven地址:

commons-httpclient

commons-httpclient

3.1

最后

以上就是彩色云朵为你收集整理的java webclient jar_【commons-httpclient】Java中HttpClient工具访问Web请求的全部内容,希望文章能够帮你解决java webclient jar_【commons-httpclient】Java中HttpClient工具访问Web请求所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部