org.apache.commons.httpclient.HttpClient的使用
来源:互联网 发布:淘宝设置满减 编辑:程序博客网 时间:2024/04/29 20:37
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 (GA) (2015-09-11)
需要使用的jar包
使用步骤,思路
1, 创建Http客户端对象
2, 设置请求的url,连接的地址
3, 设置请求的方式(Get/Post),请求内容的类型,接收内容的类型,字符编码
4, 设置请求参数(请求内容)
5, 按请求的方式执行请求,返回Http状态码
6, 获得响应内容
7, 释放连接
2, 设置请求的url,连接的地址
3, 设置请求的方式(Get/Post),请求内容的类型,接收内容的类型,字符编码
4, 设置请求参数(请求内容)
5, 按请求的方式执行请求,返回Http状态码
6, 获得响应内容
7, 释放连接
- package com.httpclient1;
- import java.util.HashMap;
- import java.util.Map;
- import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler;
- import org.apache.commons.httpclient.HttpClient;
- import org.apache.commons.httpclient.NameValuePair;
- import org.apache.commons.httpclient.URI;
- import org.apache.commons.httpclient.methods.PostMethod;
- import org.apache.commons.httpclient.params.HttpMethodParams;
- import com.google.gson.Gson;
- /**
- * 用commons-httpclient-3.1 框架, 模拟客户端请求
- * @since 2016-4-11
- * @version 1.0
- */
- public class Client {
- public static void main(String[] args) {
- String serviceUrl = "http://localhost:8080/MbtForSpring/test/demo/serviceOne.do";
- Map<String, Object> parames = new HashMap<String, Object>();
- Gson gson = new Gson();
- String json = null;
- try {
- parames.put("AppKey", "132152");
- parames.put("Ticket", "57077c8537");
- json = gson.toJson(parames);
- System.out.println("json:" + json);
- String str = doPost(serviceUrl, json);
- System.out.println(str);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- /**
- *
- * @param strUrl
- * @param postString
- * @return
- * String
- */
- @SuppressWarnings("deprecation")
- public static String doPost(String strUrl, String postString) {
- String receive = null;
- // 请求发布在本地 Tomcat上服务
- PostMethod method = new PostMethod(strUrl);
- // PostMethod method = new PostMethod();
- try {
- HttpClient client = new HttpClient();
- // client.getHostConfiguration().setHost(new HttpHost());
- //请求 网络上的服务, 用这种方式请求本地,返回一个Html页面
- // client.getHostConfiguration().setHost(new URI(strUrl));
- method.setRequestHeader("Content-type", "application/json; charset=UTF-8");
- method.setRequestHeader("Accept", "application/json; charset=UTF-8");
- // 设置为默认的重试策略
- method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler());
- // 4, 设置请求参数(请求内容)
- /* NameValuePair pair1 = new NameValuePair("key", "value");
- NameValuePair pair2 = new NameValuePair("key", "value");
- method.setRequestBody(new NameValuePair[]{pair1, pair2} );*/
- method.setRequestBody(postString);
- int rspCode = client.executeMethod(method);
- //
- System.out.println("rspCode:" + rspCode);
- receive = method.getResponseBodyAsString();
- System.out.println("receive:" + receive);
- return receive;
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- method.releaseConnection();
- }
- return receive;
- }
- }
阅读全文
0 0
- org.apache.commons.httpclient.HttpClient的使用
- org.apache.commons.httpclient.HttpClient的使用
- 使用org.apache.commons.httpclient
- 什么是httpclient?& Httpclient使用前提----下载org.apache.commons.httpclient,导入Httpclient的jar包
- org.apache.commons.httpclient.HttpClient请求
- org.apache.commons.httpclient.HttpClient;解析xml
- org.apache.commons.httpclient.HttpClient 学习
- HTTPClient调用---org.apache.commons.httpclient
- org.apache.http.client.HttpClient和org.apache.commons.httpclient.HttpClient的区别
- android org.apache.commons.httpclient 调试
- org.apache.commons.httpclient.HttpClient请求乱码问题
- org.apache.commons.httpclient.HttpClient 设置数据接收超时
- org.apache.commons.httpclient.HttpClient 与 org.apache.http.client.HttpClient 区别
- org.apache.commons.httpclient.HttpClient 与 org.apache.http.client.HttpClient 区别
- org.apache.axis2.deployment.DeploymentException: org/apache/commons/httpclient/HttpException
- 使用Apache commons-httpclient获取上传文件的进度
- Apache Commons - HttpClient POST
- commons-httpclient.jar的使用
- css3 让绝对定位元素水平居中的方法
- 搭建远程Git仓库
- CSS之两栏固定布局(二)
- 【JFinal】JFinal中的文件改动后jetty服务器重启动的实现
- Android手机H264软编码参数优化
- org.apache.commons.httpclient.HttpClient的使用
- volatile关键字作用
- 谈谈java中CyclicBarrier的用法
- sqlite中一些常用的命令及解释
- 导航栏滚动到顶部时固定在顶部
- HP LaserJet Pro P1606dn 激光打印机
- Linux 通过crontab 分割tomcat日志
- APP内打开另一个APP(URL Scheme与openURL)【iOS开发】
- Git使用总结