`
zheyiw
  • 浏览: 1019908 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java http post json

    博客分类:
  • JAVA
阅读更多


import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;

public class Copy_2_of_PostDemo {

	final static String url = "";
	final static String params = "{\"id\":\"12345\"}";

	/**
	 * 发送HttpPost请求
	 * 
	 * @param strURL
	 *            服务地址
	 * @param params
	 *            json字符串,例如: "{ \"id\":\"12345\" }" ;其中属性名必须带双引号<br/>
	 * @return 成功:返回json字符串<br/>
	 */
	public static String post(String strURL, String params) {
		System.out.println(strURL);
		System.out.println(params);
		try {
			URL url = new URL(strURL);// 创建连接
			HttpURLConnection connection = (HttpURLConnection) url
					.openConnection();
			connection.setDoOutput(true);
			connection.setDoInput(true);
			connection.setUseCaches(false);
			connection.setInstanceFollowRedirects(true);
			connection.setRequestMethod("POST"); // 设置请求方式
			connection.setRequestProperty("Accept", "application/json"); // 设置接收数据的格式
			connection.setRequestProperty("Content-Type", "application/json"); // 设置发送数据的格式
			connection.connect();
			OutputStreamWriter out = new OutputStreamWriter(
					connection.getOutputStream(), "UTF-8"); // utf-8编码
			out.append(params);
			out.flush();
			out.close();
			// 读取响应
			int length = (int) connection.getContentLength();// 获取长度
			InputStream is = connection.getInputStream();
			if (length != -1) {
				byte[] data = new byte[length];
				byte[] temp = new byte[512];
				int readLen = 0;
				int destPos = 0;
				while ((readLen = is.read(temp)) > 0) {
					System.arraycopy(temp, 0, data, destPos, readLen);
					destPos += readLen;
				}
				String result = new String(data, "UTF-8"); // utf-8编码
				System.out.println(result);
				return result;
			}
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return "error"; // 自定义错误信息
	}

	public static void main(String[] args) {
		post(url, params);
	}

}




备注

httpUrlConnection.setDoOutput(true);以后就可以使用conn.getOutputStream().write()
httpUrlConnection.setDoInput(true);以后就可以使用conn.getInputStream().read();

get请求用不到conn.getOutputStream(),因为参数直接追加在地址后面,因此默认是false。
post请求(比如:文件上传)需要往服务区传输大量的数据,这些数据是放在http的body里面的,因此需要在建立连接以后,往服务端写数据。

因为总是使用conn.getInputStream()获取服务端的响应,因此默认值是true。
分享到:
评论
1 楼 liuxinpeng 2014-05-10  

相关推荐

    java代码发送JSON格式的httpPOST请求

    ### Java代码发送JSON格式的HTTP POST请求:深入解析与实现 在现代的Web开发中,JSON(JavaScript Object Notation)已成为数据交换的标准格式之一,因其轻量级、易读性及跨平台兼容性而受到广泛青睐。对于Java...

    Java Http请求传json数据乱码问题的解决

    在Java代码中,当通过HTTP请求传输包含中文的JSON数据时,前端通常会使用JavaScript的`JSON.stringify`函数将JSON对象转换为字符串,并通过GET或POST请求传递给后端。在JavaScript中,字符串默认使用UTF-8编码,因此...

    java 通过发送json,post请求,返回json数据的方法

    java 通过发送json,post请求,返回json数据的方法 java 通过发送json,post请求,返回json数据的方法

    HttpPost_json.java java http-post json格式客户端请求代码

    java http-post json格式客户端请求代码

    Java中使用Json

    总的来说,Java中的JSON处理涉及了数据的序列化、反序列化、JSON对象的操作以及与HTTP交互等多个方面。正确理解和熟练使用这些工具和概念对于Java开发者来说至关重要,因为JSON已经成为现代Web开发中的标准数据交换...

    java发送JSON格式的http通讯的post请求

    在Java编程中,发送HTTP POST请求来传递JSON数据是常见的任务,特别是在Web服务和API交互中。HTTP POST请求用于向服务器提交数据,而JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和...

    java调用json参数的webservice

    在探讨Java调用带有JSON参数的WebService之前,我们首先需要了解几个关键的技术概念:Java、JSON以及WebService。 Java是一种广泛使用的编程语言,它具有面向对象、跨平台、多线程以及健壮性等特点。Java在企业级...

    使用java请求json接口数据

    标题"使用java请求json接口数据"指出我们要使用Java发送HTTP请求到一个提供JSON数据的接口。这通常涉及到HTTP的GET或POST方法。GET用于从服务器获取数据,而POST用于向服务器发送数据。在Java中,我们可以使用`java...

    安卓http post json

    在安卓开发中,进行HTTP POST请求并发送JSON数据是一项常见且重要的任务,尤其是在与服务器进行交互、提交数据或获取响应时。以下是从给定的文件信息中提炼出的关键知识点: ### 安卓HTTP POST JSON方法详解 #### ...

    java发送http/https请求(get/post)Demo,亲测可用

    以上就是Java中发送HTTP/HTTPS GET和POST请求的基本概念,以及处理JSON数据的方法。在实际应用中,还需要考虑错误处理、性能优化和其他安全因素。如果需要更复杂的功能,建议使用成熟的HTTP客户端库。

    java实现http请求以及解析json与java对象转换 项目源代码实例

    在Java编程中,HTTP请求和JSON处理是两个非常重要的概念,广泛应用于Web服务的开发、数据交换和API接口调用。本项目实例提供了完整的源代码,帮助开发者理解并实践这两个主题。 首先,让我们深入理解HTTP请求。HTTP...

    Okhttp框架post json封装

    OkhttpUtils.postJson("http://your-api-url.com", "{\"key\":\"value\"}", new Callback() { @Override public void onFailure(Call call, IOException e) { // 处理请求失败的情况 } @Override public void...

    Java Servlet编写Json自定义数据接口

    本教程将专注于使用Servlet来编写JSON自定义数据接口,这是一种将Java对象转换为JSON格式,并通过HTTP服务提供数据的方法。 首先,理解JSON(JavaScript Object Notation)的基础知识至关重要。JSON是一种轻量级的...

    java发送http请求报文json

    下面将详细介绍如何使用 Java 发送一个包含 JSON 数据的 HTTP POST 请求。 #### 代码解析 该示例代码展示了如何通过 Java 发送一个 HTTP POST 请求,并在请求体中携带 JSON 数据。 1. **导入必要的类库**: ```...

    java模拟post请求发送json的例子

    在Java编程中,有时我们需要模拟HTTP POST请求向服务器发送数据,特别是当数据格式为JSON时。下面我们将详细探讨两种常见的实现方式,即使用`HttpURLConnection`和`HttpClient`。 **方法一:使用HttpURLConnection...

    java http post client server

    在Java编程环境中,HTTP POST客户端和服务器的交互是网络编程中的常见任务,广泛应用于Web服务、API调用等场景。本篇文章将详细讲解如何使用Java实现HTTP POST客户端和服务器,并探讨相关知识点。 首先,让我们从...

    java对象转Json AjaxJson数据交换 需要用到的所有包

    在Java开发中,将对象转换为JSON(JavaScript Object Notation)格式是常见的需求,尤其是在前后端数据交互中。JSON作为一种轻量级的数据交换格式,因其易于人阅读和编写,同时也容易让机器解析和生成,因此在Web...

    HttpPost请求和JSON解析

    在IT行业中,网络请求是应用程序与服务器间交互的基础,而`HttpPost`请求和`JSON`解析则是其中不可或缺的两个重要环节。本篇文章将详细介绍这两个概念,以及如何在实践中进行操作,特别适合初学者进行学习。 首先,...

    java中main方法发送httpPost请求

    首先,Java中发送HTTP POST请求通常会用到`HttpURLConnection`类或者第三方库如Apache HttpClient或OkHttp。下面我们将主要使用`HttpURLConnection`来演示,因为它内置在JDK中,无需额外引入依赖。 1. **创建HTTP...

Global site tag (gtag.js) - Google Analytics