`
lzkyo
  • 浏览: 466257 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

HttpConnection通信

 
阅读更多
/**
	 * 以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上传文件

    在Android开发中,HTTPConnection是Java的标准库提供的一种网络通信方式,可以用于实现文件的上传。这个过程涉及到了网络编程、文件操作以及多线程等关键知识点。下面将详细讲解如何在Android应用中使用...

    Java移动通信程序设计.rar_java 手机_手机 java_移动通信

    【Java移动通信程序设计】是针对Java在手机平台上的应用开发的一个学习资源,主要关注Java在移动通信领域的应用,特别是J2ME(Java Micro Edition)和MIDP(Mobile Information Device Profile)技术。这个压缩包...

    客户端与服务器端通信示例代码(基于HttpURlConnection实现)

    本例演示最简单的android客户端和服务器端通信,客户端使用android4.0以上版本,服务器端为dynamic web project工程,使用时将client代码中的ip地址改为自己电脑的ipv4地址,同时保证手机和电脑处于同一网络下(内网...

    探索J2ME:用GCF通信

    `HttpConnection`处理与Web服务器的交互,使开发者能够忽略底层的通信细节,如端口设置等。 HTTP协议是互联网上最常用的通信协议,用于传输Web内容。在J2ME应用中,`HttpConnection`类支持三种主要的HTTP请求:GET...

    j2me http通信demo

    首先,J2ME中的HTTP通信主要通过`javax.microedition.io.Connector`类和`HttpConnection`接口来实现。`HttpConnection`提供了对HTTP协议的支持,可以用于发起HTTP GET和POST请求。以下是一个简单的GET请求示例: ``...

    java-compcation.rar_J2ME 源码_j2me_手机移动通信_移动通信

    可能还涵盖了如何使用J2ME的网络类,如`HttpConnection`和`StreamConnection`,来实现数据的无线传输,比如下载网页或上传用户数据。 源码中的"网页源码"可能指的是使用WML(Wireless Markup Language)或者XHTML ...

    serlet和j2me 通信程序

    ### Serlet 和 J2ME 通信程序知识点解析 #### 一、概述 在现代软件开发领域,特别是移动应用与Web服务交互方面,了解不同技术之间的通信机制是非常重要的。本篇文章将详细探讨“Serlet(应为Servlet)和J2ME通信...

    Java移动通信程序设计(J2ME MIDP)范例

    6. **网络编程**:了解如何使用HttpConnection和StreamConnection发送HTTP请求,获取和发送数据,实现离线和在线应用功能。 7. **推送通知和蓝牙通信**:MIDP还支持PushRegistry,允许接收服务器端的推送消息,以及...

    Java移动通信程序设计-J2ME MIDP

    开发者可以使用HttpConnection和StreamConnection进行HTTP请求或TCP/IP通信,实现数据的发送和接收。 4. **文件系统访问**:虽然资源有限,但MIDP提供了一定程度的本地文件系统访问能力,使得MIDlets能够存储和读取...

    j2me网络编程大全

    在J2ME中,通过`javax.microedition.io.HttpConnection`类可以轻松实现HTTP通信。 ##### 2.1 HttpConnection类的基本使用 - **创建HttpConnection对象**:通过调用`Connector.open()`方法,传入URL字符串来创建`...

    ch4.rar_j2me 网络

    HttpConnection httpConn = (HttpConnection) connection; httpConn.setRequestMethod(HttpConnection.GET); ``` 3. 发送请求:设置完请求参数后,调用`httpConn.setRequestMethod()`发送请求。 4. 读取响应:一旦...

    用J2ME与ASP建立数据库连接.rar_http in j2me_j2me_j2me 3d_j2me asp

    1. **创建HttpConnection**:在J2ME应用中,首先需要创建一个HttpConnection对象,指定服务器的URL。这可以通过Connector类的open方法完成,例如`HttpConnection conn = (HttpConnection) Connector.open(...

    在无线J2ME设备上实现超文本传输协议

    GCF通过定义一组接口,让设备制造商可以选择实现特定的连接类型,如socket连接或基于数据报的通信,同时保证基本的HttpConnection接口在所有MIDP设备上的可用性。 总的来说,通过J2ME实现HTTP请求,开发者可以构建...

    Java手机程序设计入门13

    HttpConnection conn = (HttpConnection) Connector.open(url); // 获取并处理响应数据... } } ``` #### 四、总结 本章节介绍了J2ME MIDP环境下的网络编程基础,重点讲解了GCF框架及其提供的各种连接方式。...

    J2ME HTTPJ2ME HTTPJ2ME HTTP

    HttpConnection conn = (HttpConnection) Connector.open(url); ``` 接着,可以设置HTTP方法(GET、POST等),请求头和请求体,然后执行请求: ```java conn.setRequestMethod(HttpConnection.GET); OutputStream ...

    j2me 关于网络连接的代码

    HttpConnection httpConn = (HttpConnection) conn; httpConn.setRequestMethod(HttpConnection.GET); ``` 若`SoapTest.java`涉及的是SOAP通信,那么我们通常需要发送POST请求,并且可能包含SOAP头和SOAP主体。设置...

    建立HTTP连接请求-易语言

    TCP是一种面向连接的、可靠的传输协议,通过三次握手过程来确保两端的通信可靠性。在易语言中,可以使用“创建套接字”、“连接”等命令来实现TCP连接。 3. **HTTP请求构建**:在TCP连接建立后,客户端需要构造HTTP...

    HTTP上传和下载C++封装类支持GET、POST多种方式

    在IT领域,网络通信是不可或缺的一部分,而HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议。本文将详细讲解如何使用C++封装HTTP的上传和下载功能,包括支持POST和GET两种请求方法,以及处理文本和二...

Global site tag (gtag.js) - Google Analytics