Java 通过HttpURLConnection Post方式提交json,并从服务端返回json数据
2017-09-19 11:13
856 查看
这个技术和xml差不过,主要是服务端代码稍微修改,客户端代码修改部分传递参数就可以完成,但在之前需要导入json所需要的jar包。
PostJson.java代码
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
服务端代码test.php
2
3
4
5
6
这里面的json_encode是对字符串进行json编码,json_decode是对字符串进行json解码
返回结果:
{“app_name”:[“全民大讨论”],”app_ip”:[“10.21.243.234”],”app_type”:[“001”],”app_port”:[8080],”app_area”:[“asd”]}
200
连接成功:
{“app_name”:[“全民大讨论”],”app_ip”:[“10.21.243.234”],”app_type”:[“001”],”app_port”:[8080],”app_area”:[“asd”]}{“app_name”:[“全民大讨论”],”app_ip”:[“10.21.243.234”],”app_type”:[“001”],”app_port”:[8080],”app_area”:[“asd”]}
PostJson.java代码
package PostPager; import java.io.InputStream; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; public class PostJson { public static void main(String args[]) { try { JSONObject obj = new JSONObject(); obj.append("app_name", "全民大讨论"); obj.append("app_ip", "10.21.243.234"); obj.append("app_port", 8080); obj.append("app_type", "001"); obj.append("app_area", "asd"); System.out.println(obj); // 创建url资源 URL url = new URL("http://119.29.85.118//test.php"); // 建立http连接 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); // 设置允许输出 conn.setDoOutput(true); conn.setDoInput(true); // 设置不用缓存 conn.setUseCaches(false); // 设置传递方式 conn.setRequestMethod("POST"); // 设置维持长连接 conn.setRequestProperty("Connection", "Keep-Alive"); // 设置文件字符集: conn.setRequestProperty("Charset", "UTF-8"); //转换为字节数组 byte[] data = (obj.toString()).getBytes(); // 设置文件长度 conn.setRequestProperty("Content-Length", String.valueOf(data.length)); // 设置文件类型: conn.setRequestProperty("contentType", "application/json"); // 开始连接请求 conn.connect(); OutputStream out = conn.getOutputStream(); // 写入请求的字符串 out.write((obj.toString()).getBytes()); out.flush(); out.close(); System.out.println(conn.getResponseCode()); // 请求返回的状态 if (conn.getResponseCode() == 200) { System.out.println("连接成功"); // 请求返回的数据 InputStream in = conn.getInputStream(); String a = null; try { byte[] data1 = new byte[in.available()]; in.read(data1); // 转成字符串 a = new String(data1); System.out.println(a); } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } else { System.out.println("no++"); } } catch (Exception e) { } } }1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
服务端代码test.php
<?php $result = file_get_contents('php://input'); echo $result; echo json_decode(json_encode($result)); ?>1
2
3
4
5
6
这里面的json_encode是对字符串进行json编码,json_decode是对字符串进行json解码
返回结果:
{“app_name”:[“全民大讨论”],”app_ip”:[“10.21.243.234”],”app_type”:[“001”],”app_port”:[8080],”app_area”:[“asd”]}
200
连接成功:
{“app_name”:[“全民大讨论”],”app_ip”:[“10.21.243.234”],”app_type”:[“001”],”app_port”:[8080],”app_area”:[“asd”]}{“app_name”:[“全民大讨论”],”app_ip”:[“10.21.243.234”],”app_type”:[“001”],”app_port”:[8080],”app_area”:[“asd”]}
相关文章推荐
- Java 通过HttpURLConnection Post方式提交json,并从服务端返回json数据
- Java 通过HttpURLConnection Post方式提交json,并从服务端返回json数据
- Java 通过HttpURLConnection Post方式提交json,并从服务端返回json数据
- Java 通过HttpURLConnection Post方式提交xml,并从服务端返回数据
- Java 通过HttpURLConnection Post方式提交xml,并从服务端返回数据
- Java 通过HttpClient Post方式提交json,并从服务端返回json数据
- Java 通过httpClient Post方式提交xml,并从服务端返回数据
- HttpURLconnection使用POST方式提交JSON数据给服务器
- HttpURLconnection使用POST方式提交JSON数据给服务器
- 使用HttpURLConnection通过POST方式提交请求数据,并上传文件
- JAVA HttpURLConnection Post方式提交传递参数
- JAVA HttpURLConnection Post方式提交传递参数
- JAVA HttpURLConnection Post方式提交传递参数
- java用HttpURLConnection模拟post提交数据
- CC3200 HTTP Cli通过POST的方式把json数据提交给服务器出现的问题
- Java HttpUrlConnection form-data方式提交数据
- HttpUrlConnection两种请求数据的方式get和post提交数据
- JAVA HttpURLConnection Post方式提交传递参数
- HttpUrlConnection Post提交数据到服务器、并得到服务器返回的数据
- java 通过Ajax前台传参数 并用 HttpURLConnection Post方式访问对外的接口