JavaバックグラウンドPostリクエスト送信、データ転送フォーマットJSON
16265 ワード
原文アドレス:JavaバックグラウンドでPostリクエストを送信、データ転送フォーマットJSON
コードは次のとおりです.
テスト受信
使用するjarパッケージ:
commons-beanutils-1.8.3.jar
commons-codec-1.4.jar
commons-collections-3.2.1.jar
commons-lang-2.5.jar
commons-lang3-3.1.jar
commons-logging-1.1.1.jar
ezmorph-1.0.6.jar
httpclient-4.1.2.jar
httpcore-4.1-alpha1.jar
json-lib-2.4-jdk15.jar
morph-1.1.1.jar
morph-sandbox-1.1.1.jar
転載は本文の住所を明記してください:JavaバックグラウンドはPost要求を発送して、データの伝送フォーマットJSON
コードは次のとおりです.
1 package com.test;
2
3 import java.io.BufferedReader;
4 import java.io.InputStream;
5 import java.io.InputStreamReader;
6
7 import net.sf.json.JSONObject;
8
9 import org.apache.http.HttpResponse;
10 import org.apache.http.HttpStatus;
11 import org.apache.http.client.HttpClient;
12 import org.apache.http.client.methods.HttpPost;
13 import org.apache.http.entity.StringEntity;
14 import org.apache.http.impl.client.DefaultHttpClient;
15 import org.apache.http.message.BasicHeader;
16 import org.apache.http.protocol.HTTP;
17
18 public abstract class TestSend {
19
20 public static String URL = "http://115.28.191.62/web/control";
21
22 public static void main(String[] args) {
23
24 JSONObject jsobj1 = new JSONObject();
25 JSONObject jsobj2 = new JSONObject();
26 jsobj2.put("deviceID", "112");
27 jsobj2.put("channel", "channel");
28 jsobj2.put("state", "0");
29 jsobj1.put("item", jsobj2);
30 jsobj1.put("requestCommand", "control");
31
32 post(jsobj1);
33
34 }
35
36 public static String post(JSONObject json) {
37
38 HttpClient client = new DefaultHttpClient();
39 HttpPost post = new HttpPost(URL);
40
41 post.setHeader("Content-Type", "application/json");
42 post.addHeader("Authorization", "Basic YWRtaW46");
43 String result = "";
44
45 try {
46
47 StringEntity s = new StringEntity(json.toString(), "utf-8");
48 s.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,
49 "application/json"));
50 post.setEntity(s);
51
52 //
53 HttpResponse httpResponse = client.execute(post);
54
55 //
56 InputStream inStream = httpResponse.getEntity().getContent();
57 BufferedReader reader = new BufferedReader(new InputStreamReader(
58 inStream, "utf-8"));
59 StringBuilder strber = new StringBuilder();
60 String line = null;
61 while ((line = reader.readLine()) != null)
62 strber.append(line + "
");
63 inStream.close();
64
65 result = strber.toString();
66 System.out.println(result);
67
68 if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
69
70 System.out.println(" , ");
71
72 } else {
73
74 System.out.println(" ");
75
76 }
77
78
79 } catch (Exception e) {
80 System.out.println(" ");
81 throw new RuntimeException(e);
82 }
83
84 return result;
85 }
86
87 }
テスト受信
1 @ page language="java" import="java.util.*,java.io.*" pageEncoding="UTF-8"%>
2
3
4 System.out.println("conenction server success!");
5
6 System.out.println(request.getMethod());
7
8 //
9 InputStreamReader reader=new InputStreamReader(request.getInputStream(),"UTF-8");
10 char [] buff=new char[1024];
11 int length=0;
12 while((length=reader.read(buff))!=-1){
13
14 String x=new String(buff,0,length);
15
16 System.out.println(x);
17 }
18
19
20 //
21 out.println("{'responseCommand':'0','requestCommand':'control'}");
22
23 %>
使用するjarパッケージ:
commons-beanutils-1.8.3.jar
commons-codec-1.4.jar
commons-collections-3.2.1.jar
commons-lang-2.5.jar
commons-lang3-3.1.jar
commons-logging-1.1.1.jar
ezmorph-1.0.6.jar
httpclient-4.1.2.jar
httpcore-4.1-alpha1.jar
json-lib-2.4-jdk15.jar
morph-1.1.1.jar
morph-sandbox-1.1.1.jar
転載は本文の住所を明記してください:JavaバックグラウンドはPost要求を発送して、データの伝送フォーマットJSON