/**
* 以URL方式发送数据
*
* @param urlStr
* 发送地址
* @param contentStr
* 发送内容
* @param charset
* 发送字符集
* @param sResult
* 返回数据Buffer
* @return boolean 发送是否成功
*/
public boolean sendStrOfPost(String urlStr, String contentStr, String charset, StringBuffer sResult) {
boolean bResult = false;
String charsetName = charset;
URL url = null;
HttpURLConnection httpConnection = null;
InputStream httpIS = null;
java.io.BufferedReader http_reader = null;
try {
url = new URL(urlStr);
httpConnection = (HttpURLConnection) url.openConnection();
// 设置连接主机超时(单位:毫秒)
httpConnection.setConnectTimeout(Util.getInstance().getIntFromProperties("c1.timeout.httpconn"));
// 设置从主机读取数据超时(单位:毫秒)
httpConnection.setReadTimeout(Util.getInstance().getIntFromProperties("c1.timeout.httpread"));
httpConnection.setRequestMethod("POST"); // POST方式提交数据
httpConnection.setDoOutput(true);
httpConnection.setRequestProperty("Content-Length", String.valueOf(contentStr.getBytes().length));
PrintWriter out = null;
out = new PrintWriter(new OutputStreamWriter(httpConnection.getOutputStream(), charsetName));// 此处改动
// 发送请求
out.print(contentStr);
out.flush();
out.close();
int responseCode = httpConnection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
// 发送正常
bResult = true;
// 读取数据
httpIS = httpConnection.getInputStream();
http_reader = new java.io.BufferedReader(new java.io.InputStreamReader(httpIS, charsetName));
String line = null;
while ((line = http_reader.readLine()) != null) {
if (sResult.length() > 0) {
sResult.append("\n");
}
sResult.append(line);
}
logger.info("[URL][response][success]" + sResult);
} else {
logger.info("[URL][response][failure][code : " + responseCode + " ]");
}
} catch (IOException e) {
logger.error("[HttpUtil]sendStrOfPost error", e);
}
finally {
try {
if (http_reader != null)
http_reader.close();
if (httpIS != null)
httpIS.close();
if (httpConnection != null)
httpConnection.disconnect();
} catch (IOException e) {
logger.error("[HttpUtil]finally error", e);
}
}
return bResult;
}
分享到:
相关推荐
在Android开发中,HTTPConnection是Java的标准库提供的一种网络通信方式,可以用于实现文件的上传。这个过程涉及到了网络编程、文件操作以及多线程等关键知识点。下面将详细讲解如何在Android应用中使用...
【Java移动通信程序设计】是针对Java在手机平台上的应用开发的一个学习资源,主要关注Java在移动通信领域的应用,特别是J2ME(Java Micro Edition)和MIDP(Mobile Information Device Profile)技术。这个压缩包...
本例演示最简单的android客户端和服务器端通信,客户端使用android4.0以上版本,服务器端为dynamic web project工程,使用时将client代码中的ip地址改为自己电脑的ipv4地址,同时保证手机和电脑处于同一网络下(内网...
`HttpConnection`处理与Web服务器的交互,使开发者能够忽略底层的通信细节,如端口设置等。 HTTP协议是互联网上最常用的通信协议,用于传输Web内容。在J2ME应用中,`HttpConnection`类支持三种主要的HTTP请求:GET...
首先,J2ME中的HTTP通信主要通过`javax.microedition.io.Connector`类和`HttpConnection`接口来实现。`HttpConnection`提供了对HTTP协议的支持,可以用于发起HTTP GET和POST请求。以下是一个简单的GET请求示例: ``...
可能还涵盖了如何使用J2ME的网络类,如`HttpConnection`和`StreamConnection`,来实现数据的无线传输,比如下载网页或上传用户数据。 源码中的"网页源码"可能指的是使用WML(Wireless Markup Language)或者XHTML ...
### Serlet 和 J2ME 通信程序知识点解析 #### 一、概述 在现代软件开发领域,特别是移动应用与Web服务交互方面,了解不同技术之间的通信机制是非常重要的。本篇文章将详细探讨“Serlet(应为Servlet)和J2ME通信...
6. **网络编程**:了解如何使用HttpConnection和StreamConnection发送HTTP请求,获取和发送数据,实现离线和在线应用功能。 7. **推送通知和蓝牙通信**:MIDP还支持PushRegistry,允许接收服务器端的推送消息,以及...
开发者可以使用HttpConnection和StreamConnection进行HTTP请求或TCP/IP通信,实现数据的发送和接收。 4. **文件系统访问**:虽然资源有限,但MIDP提供了一定程度的本地文件系统访问能力,使得MIDlets能够存储和读取...
在J2ME中,通过`javax.microedition.io.HttpConnection`类可以轻松实现HTTP通信。 ##### 2.1 HttpConnection类的基本使用 - **创建HttpConnection对象**:通过调用`Connector.open()`方法,传入URL字符串来创建`...
HttpConnection httpConn = (HttpConnection) connection; httpConn.setRequestMethod(HttpConnection.GET); ``` 3. 发送请求:设置完请求参数后,调用`httpConn.setRequestMethod()`发送请求。 4. 读取响应:一旦...
1. **创建HttpConnection**:在J2ME应用中,首先需要创建一个HttpConnection对象,指定服务器的URL。这可以通过Connector类的open方法完成,例如`HttpConnection conn = (HttpConnection) Connector.open(...
GCF通过定义一组接口,让设备制造商可以选择实现特定的连接类型,如socket连接或基于数据报的通信,同时保证基本的HttpConnection接口在所有MIDP设备上的可用性。 总的来说,通过J2ME实现HTTP请求,开发者可以构建...
HttpConnection conn = (HttpConnection) Connector.open(url); // 获取并处理响应数据... } } ``` #### 四、总结 本章节介绍了J2ME MIDP环境下的网络编程基础,重点讲解了GCF框架及其提供的各种连接方式。...
HttpConnection conn = (HttpConnection) Connector.open(url); ``` 接着,可以设置HTTP方法(GET、POST等),请求头和请求体,然后执行请求: ```java conn.setRequestMethod(HttpConnection.GET); OutputStream ...
HttpConnection httpConn = (HttpConnection) conn; httpConn.setRequestMethod(HttpConnection.GET); ``` 若`SoapTest.java`涉及的是SOAP通信,那么我们通常需要发送POST请求,并且可能包含SOAP头和SOAP主体。设置...
TCP是一种面向连接的、可靠的传输协议,通过三次握手过程来确保两端的通信可靠性。在易语言中,可以使用“创建套接字”、“连接”等命令来实现TCP连接。 3. **HTTP请求构建**:在TCP连接建立后,客户端需要构造HTTP...
在IT领域,网络通信是不可或缺的一部分,而HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议。本文将详细讲解如何使用C++封装HTTP的上传和下载功能,包括支持POST和GET两种请求方法,以及处理文本和二...