- 浏览: 569640 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (267)
- 随笔 (4)
- Spring (13)
- Java (61)
- HTTP (3)
- Windows (1)
- CI(Continuous Integration) (3)
- Dozer (1)
- Apache (11)
- DB (7)
- Architecture (41)
- Design Patterns (11)
- Test (5)
- Agile (1)
- ORM (3)
- PMP (2)
- ESB (2)
- Maven (5)
- IDE (1)
- Camel (1)
- Webservice (3)
- MySQL (6)
- CentOS (14)
- Linux (19)
- BI (3)
- RPC (2)
- Cluster (9)
- NoSQL (7)
- Oracle (25)
- Loadbalance (7)
- Web (5)
- tomcat (1)
- freemarker (1)
- 制造 (0)
最新评论
-
panamera:
如果设置了连接需要密码,Dynamic Broker-Clus ...
ActiveMQ 集群配置 -
panamera:
请问你的最后一种模式Broker-C节点是不是应该也要修改持久 ...
ActiveMQ 集群配置 -
maosheng:
longshao_feng 写道楼主使用 文件共享 模式的ma ...
ActiveMQ 集群配置 -
longshao_feng:
楼主使用 文件共享 模式的master-slave,produ ...
ActiveMQ 集群配置 -
tanglanwen:
感触很深,必定谨记!
少走弯路的十条忠告
import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class HttpClientUtil {
public static final Log logger = LogFactory.getLog("httpclient");
public static String httpReader(String url, String code){
logger.info("GetPage:"+url);
HttpClient client = new HttpClient();
GetMethod method = new GetMethod(url);
String result = null;
try {
client.executeMethod(method);
int status = method.getStatusCode();
if (status == HttpStatus.SC_OK) {
result = method.getResponseBodyAsString();
} else {
logger.info("Method failed: " + method.getStatusLine());
}
} catch (HttpException e) {
// 发生致命的异常,可能是协议不对或者返回的内容有问题
logger.info("Please check your provided http address!");
e.printStackTrace();
} catch (IOException e) {
// 发生网络异常
logger.info("发生网络异常!");
e.printStackTrace();
} finally{
// 释放连接
if(method!=null)method.releaseConnection();
method = null;
client = null;
}
return result;
}
public static String httpPost(String url, Map paramMap, String code) {
logger.info("GetPage:"+url);
String content = null;
if (url == null || url.trim().length() == 0 || paramMap == null
|| paramMap.isEmpty())
return null;
HttpClient httpClient = new HttpClient();
//设置header
httpClient.getParams().setParameter(HttpMethodParams.USER_AGENT,"Mozilla/5.0 (X11; U; Linux i686; zh-CN; rv:1.9.1.2) Gecko/20090803 Fedora/3.5.2-2.fc11 Firefox/3.5.2");
PostMethod method = new PostMethod(url);
Iterator it = paramMap.keySet().iterator();
while (it.hasNext()) {
String key = it.next() + "";
Object o = paramMap.get(key);
if (o != null && o instanceof String) {
method.addParameter(new NameValuePair(key, o.toString()));
}
if (o != null && o instanceof String[]) {
String[] s = (String[]) o;
if (s != null)
for (int i = 0; i < s.length; i++) {
method.addParameter(new NameValuePair(key, s[i]));
}
}
}
try {
int statusCode = httpClient.executeMethod(method);
System.out.println("httpClientUtils::statusCode="+statusCode);
logger.info(method.getStatusLine());
content = new String(method.getResponseBody(), code);
} catch (Exception e) {
logger.info("time out");
e.printStackTrace();
} finally {
if(method!=null)method.releaseConnection();
method = null;
httpClient = null;
}
return content;
}
public static String httpPost(String url, Map paramMap) {
//编码:GB2312
return HttpClientUtil.httpPost(url, paramMap, "GB2312");
}
public static void main(String[] args)throws Exception
{
String URL="http://127.0.0.1:8001/app/test";
Map map = new HashMap();
map.put("param1","value1");
map.put("param2","value2");
map.put("param3","value3");
map.put("param4","value4");
String ret = HttpClientUtil.httpPost(URL, map);
System.out.println("ret::"+ret);
}
}
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class HttpClientUtil {
public static final Log logger = LogFactory.getLog("httpclient");
public static String httpReader(String url, String code){
logger.info("GetPage:"+url);
HttpClient client = new HttpClient();
GetMethod method = new GetMethod(url);
String result = null;
try {
client.executeMethod(method);
int status = method.getStatusCode();
if (status == HttpStatus.SC_OK) {
result = method.getResponseBodyAsString();
} else {
logger.info("Method failed: " + method.getStatusLine());
}
} catch (HttpException e) {
// 发生致命的异常,可能是协议不对或者返回的内容有问题
logger.info("Please check your provided http address!");
e.printStackTrace();
} catch (IOException e) {
// 发生网络异常
logger.info("发生网络异常!");
e.printStackTrace();
} finally{
// 释放连接
if(method!=null)method.releaseConnection();
method = null;
client = null;
}
return result;
}
public static String httpPost(String url, Map paramMap, String code) {
logger.info("GetPage:"+url);
String content = null;
if (url == null || url.trim().length() == 0 || paramMap == null
|| paramMap.isEmpty())
return null;
HttpClient httpClient = new HttpClient();
//设置header
httpClient.getParams().setParameter(HttpMethodParams.USER_AGENT,"Mozilla/5.0 (X11; U; Linux i686; zh-CN; rv:1.9.1.2) Gecko/20090803 Fedora/3.5.2-2.fc11 Firefox/3.5.2");
PostMethod method = new PostMethod(url);
Iterator it = paramMap.keySet().iterator();
while (it.hasNext()) {
String key = it.next() + "";
Object o = paramMap.get(key);
if (o != null && o instanceof String) {
method.addParameter(new NameValuePair(key, o.toString()));
}
if (o != null && o instanceof String[]) {
String[] s = (String[]) o;
if (s != null)
for (int i = 0; i < s.length; i++) {
method.addParameter(new NameValuePair(key, s[i]));
}
}
}
try {
int statusCode = httpClient.executeMethod(method);
System.out.println("httpClientUtils::statusCode="+statusCode);
logger.info(method.getStatusLine());
content = new String(method.getResponseBody(), code);
} catch (Exception e) {
logger.info("time out");
e.printStackTrace();
} finally {
if(method!=null)method.releaseConnection();
method = null;
httpClient = null;
}
return content;
}
public static String httpPost(String url, Map paramMap) {
//编码:GB2312
return HttpClientUtil.httpPost(url, paramMap, "GB2312");
}
public static void main(String[] args)throws Exception
{
String URL="http://127.0.0.1:8001/app/test";
Map map = new HashMap();
map.put("param1","value1");
map.put("param2","value2");
map.put("param3","value3");
map.put("param4","value4");
String ret = HttpClientUtil.httpPost(URL, map);
System.out.println("ret::"+ret);
}
}
发表评论
-
java 类的加载 以及 ClassLoader
2020-04-16 09:43 498Class Loader 类加载器: 类加载器负责加载 ... -
Stack 的实现原理深入剖析
2020-04-06 13:26 496Stack 介绍: Stack是栈。 ... -
Vector 的实现原理深入剖析
2020-04-06 13:17 371Vector介绍: Vector 是矢量队列,它是JDK1. ... -
JDK 分析工具
2020-04-05 17:30 399常用分析工具: jps:显示指定系统中所有的HotSpot虚 ... -
二叉树的深度优先遍历和广度优先遍历
2020-03-10 09:33 634概述: 1、深度优先遍历(Depth-First-Sear ... -
Hashtable 的实现原理深入剖析
2020-02-18 20:59 592一、Hashtable的基本方法: 1、定义: HashT ... -
jdk 1.8 新特性
2020-02-17 13:43 4001、default关键字 ... -
Java IO 架构
2019-11-11 16:39 359主要两类: 磁盘I/O 网络I/O 基于字节 ... -
Java 数据结构与算法
2019-04-03 10:25 531程序=数据结构+算法 ... -
Java语言异常(Exception)
2018-10-09 11:40 557异常,是Java中非常常用 ... -
Java并发问题--乐观锁与悲观锁以及乐观锁的一种实现方式-CAS
2018-08-17 09:47 1480首先介绍一些乐观锁与 ... -
Java 高性能编程注意事项
2016-11-17 09:55 6531. 尽量在合适的场合使用单例 使用单例可以减轻加载的负担, ... -
Netty 解析
2017-03-07 13:47 1229Linux网络IO模型: Linux ... -
2016年Java 面试题总结
2016-01-18 13:34 54805多线程、并发及线程的基础问题: 1)Java 中能创建 vo ... -
java 内存模型
2015-12-29 13:44 823JAVA内存模型: Java内存 ... -
JVM 深入剖析
2015-12-29 12:51 1103JVM是JAVA虚拟机(JAVA Virtual Machin ... -
Java 并发编程_Synchronized
2015-12-16 12:42 878硬件的效率和一致性: 由于计算机的运算速度和它的存储和通讯子 ... -
Java 并发编程_Volatile
2015-12-15 13:42 624术语定义: 共享变量:在多个线程之间能够被共享的变量被称为共 ... -
Java 并发编程_ConcurrentLinkedQueue
2015-12-15 13:32 917ConcurrentLinkedQueue 的分析和使用: ... -
Java 并发编程_ConcurrentHashMap
2015-11-10 11:30 841ConcurrentHashMap 的分析和 ...
相关推荐
用java编写了http Post的请求代码,通过发送请求的 URL,获取远程资源的响应结果,入参为json字符串。使用到httpPost,CloseableHttpClient
因为我们是发送POST请求,所以需要设置请求方法为POST: ```java connection.setRequestMethod("POST"); ``` 3. **设置请求属性** 通常,POST请求需要设置Content-Type,表明我们要发送的数据类型: ```...
使用`HttpURLConnection`发送POST请求 在Java中,`HttpURLConnection`类是发送HTTP请求最基础且直接的方式。下面将详细解析如何利用`HttpURLConnection`来构建并发送一个包含JSON数据的POST请求: ```java import...
本资源库提供了一份完整的JAVA客户端发送POST请求的示例代码,可以帮助您快速了解如何使用JAVA客户端发送POST请求,同时也适用于其他HTTP请求类型。 我们的示例代码包括以下主要部分: 创建HTTP连接:使用Java.net...
### Java HttpClient 发送GET请求和带有表单参数的POST请求详解 #### 一、概述 在Java编程中,处理HTTP请求是一项常见的需求,特别是在与Web服务进行交互时。Apache HttpClient库提供了一种强大的方法来执行HTTP...
例如,使用Apache HttpClient发送POST请求的代码如下: ```java import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache....
以下是一个使用HttpClient发送POST请求的例子: ```java CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost httpPost = new HttpPost("https://example.com"); List<NameValuePair> params ...
本文将详细解析如何使用Java实现HTTP和HTTPS的GET与POST请求,并结合提供的类文件名称(HttpsHandler.java、HttpUtil.java、NetUtil.java)探讨可能的实现方式。 首先,`HttpUtil`类通常用于封装HTTP请求的操作。在...
在 Java 中发送 GET 和 POST 请求是非常常见的操作,今天我们将通过使用 Apache HttpClient 库来实现这些操作。 什么是 Apache HttpClient 库? Apache HttpClient 库是 Apache 软件基金会提供的一个开源库,用于...
HttpClient Post提交多文件及多个普通参数,已经封装成工具类。 需传入 要请求的url 普通参数map 例 map.put("param1","张三"); 需要传入的文件流map 其中key为文件名 服务端接收无乱码。
3. **发送HTTPS请求**:现在你可以使用HttpClient发送GET或POST请求了: ```java HttpGet request = new HttpGet("https://your.server.com/path"); HttpResponse response = httpClient.execute(request); int ...
HTTP发送POST请求的工具类
接下来,我们可以使用`HttpURLConnection`或第三方库如Apache HttpClient来发送POST请求。以下是一个使用`HttpURLConnection`的例子: ```java import java.io.OutputStream; import java.net.HttpURLConnection; ...
【JAVA发送HTTP请求,返回HTTP响应内容】 在Java编程中,发送HTTP请求并接收响应是常见的网络通信操作,尤其在Web服务的开发和测试中。本文将详细介绍如何使用Java发送HTTP请求并处理响应内容。 首先,我们需要...
java发送http请求的一个小例子 包含get和post两种请求方式
在IT领域,特别是Web开发与服务交互中,发送POST请求并处理XML格式的数据是一项常见的需求。根据提供的文件信息,我们可以深入解析如何使用Java语言通过Apache HttpClient库来实现这一功能。 ### 发送POST请求并...
这些库可以帮助我们构建和发送POST请求。 2. 设置请求头:为了模拟登录,我们需要设置合适的请求头,比如"Content-Type"(通常为"application/x-www-form-urlencoded"),表示数据是以表单形式提交的。 3. 发送...
在Java编程中,发送HTTP POST请求是常见的网络通信任务,特别是在与远程服务器或API接口进行交互时。Apache HttpClient库提供了一种强大且灵活的方式来实现这一功能。本文将详细讲解如何利用HttpClient工具类发送带...
8. **执行请求并获取响应**:调用`execute()`方法发送POST请求并接收响应。 9. **处理响应内容**:通过响应实体获取输入流,从而读取服务器返回的数据。 10. **关闭资源**:确保所有打开的连接和资源都被正确关闭,...
在本文中,我们将详细介绍如何使用JAVA的HttpClient库来发送POST请求,以便与HTTPS服务器进行交互。首先,我们需要继承DefaultHttpClient类,以便自定义HttpClient的行为。然后,我们需要使用X509TrustManager来忽略...