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。java http post json
分享到:
相关推荐
### Java代码发送JSON格式的HTTP POST请求:深入解析与实现 在现代的Web开发中,JSON(JavaScript Object Notation)已成为数据交换的标准格式之一,因其轻量级、易读性及跨平台兼容性而受到广泛青睐。对于Java...
在Java代码中,当通过HTTP请求传输包含中文的JSON数据时,前端通常会使用JavaScript的`JSON.stringify`函数将JSON对象转换为字符串,并通过GET或POST请求传递给后端。在JavaScript中,字符串默认使用UTF-8编码,因此...
java 通过发送json,post请求,返回json数据的方法 java 通过发送json,post请求,返回json数据的方法
java http-post json格式客户端请求代码
总的来说,Java中的JSON处理涉及了数据的序列化、反序列化、JSON对象的操作以及与HTTP交互等多个方面。正确理解和熟练使用这些工具和概念对于Java开发者来说至关重要,因为JSON已经成为现代Web开发中的标准数据交换...
在Java编程中,发送HTTP POST请求来传递JSON数据是常见的任务,特别是在Web服务和API交互中。HTTP POST请求用于向服务器提交数据,而JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和...
在探讨Java调用带有JSON参数的WebService之前,我们首先需要了解几个关键的技术概念:Java、JSON以及WebService。 Java是一种广泛使用的编程语言,它具有面向对象、跨平台、多线程以及健壮性等特点。Java在企业级...
标题"使用java请求json接口数据"指出我们要使用Java发送HTTP请求到一个提供JSON数据的接口。这通常涉及到HTTP的GET或POST方法。GET用于从服务器获取数据,而POST用于向服务器发送数据。在Java中,我们可以使用`java...
在安卓开发中,进行HTTP POST请求并发送JSON数据是一项常见且重要的任务,尤其是在与服务器进行交互、提交数据或获取响应时。以下是从给定的文件信息中提炼出的关键知识点: ### 安卓HTTP POST JSON方法详解 #### ...
以上就是Java中发送HTTP/HTTPS GET和POST请求的基本概念,以及处理JSON数据的方法。在实际应用中,还需要考虑错误处理、性能优化和其他安全因素。如果需要更复杂的功能,建议使用成熟的HTTP客户端库。
在Java编程中,HTTP请求和JSON处理是两个非常重要的概念,广泛应用于Web服务的开发、数据交换和API接口调用。本项目实例提供了完整的源代码,帮助开发者理解并实践这两个主题。 首先,让我们深入理解HTTP请求。HTTP...
OkhttpUtils.postJson("http://your-api-url.com", "{\"key\":\"value\"}", new Callback() { @Override public void onFailure(Call call, IOException e) { // 处理请求失败的情况 } @Override public void...
本教程将专注于使用Servlet来编写JSON自定义数据接口,这是一种将Java对象转换为JSON格式,并通过HTTP服务提供数据的方法。 首先,理解JSON(JavaScript Object Notation)的基础知识至关重要。JSON是一种轻量级的...
下面将详细介绍如何使用 Java 发送一个包含 JSON 数据的 HTTP POST 请求。 #### 代码解析 该示例代码展示了如何通过 Java 发送一个 HTTP POST 请求,并在请求体中携带 JSON 数据。 1. **导入必要的类库**: ```...
在Java编程中,有时我们需要模拟HTTP POST请求向服务器发送数据,特别是当数据格式为JSON时。下面我们将详细探讨两种常见的实现方式,即使用`HttpURLConnection`和`HttpClient`。 **方法一:使用HttpURLConnection...
在Java编程环境中,HTTP POST客户端和服务器的交互是网络编程中的常见任务,广泛应用于Web服务、API调用等场景。本篇文章将详细讲解如何使用Java实现HTTP POST客户端和服务器,并探讨相关知识点。 首先,让我们从...
在Java开发中,将对象转换为JSON(JavaScript Object Notation)格式是常见的需求,尤其是在前后端数据交互中。JSON作为一种轻量级的数据交换格式,因其易于人阅读和编写,同时也容易让机器解析和生成,因此在Web...
在IT行业中,网络请求是应用程序与服务器间交互的基础,而`HttpPost`请求和`JSON`解析则是其中不可或缺的两个重要环节。本篇文章将详细介绍这两个概念,以及如何在实践中进行操作,特别适合初学者进行学习。 首先,...
首先,Java中发送HTTP POST请求通常会用到`HttpURLConnection`类或者第三方库如Apache HttpClient或OkHttp。下面我们将主要使用`HttpURLConnection`来演示,因为它内置在JDK中,无需额外引入依赖。 1. **创建HTTP...