Main.java 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import java.io.BufferedReader;
  2. import java.io.DataOutputStream;
  3. import java.io.InputStreamReader;
  4. import java.io.Reader;
  5. import java.net.HttpURLConnection;
  6. import java.net.URL;
  7. public class Main {
  8. public static void main(String[] args) throws Exception {
  9. String arg = "{\"A\":10, \"B\":20}";
  10. byte[] requestedPayload = arg.getBytes("utf-8");
  11. URL url = new URL("http://vps.colobu.com:9981/");
  12. HttpURLConnection conn = (HttpURLConnection) url.openConnection();
  13. conn.setDoOutput(true);
  14. conn.setInstanceFollowRedirects(false);
  15. conn.setRequestMethod("POST");
  16. conn.setRequestProperty("Content-Type", "application/rpcx");
  17. conn.setRequestProperty("charset", "utf-8");
  18. conn.setRequestProperty("Content-Length", Integer.toString(requestedPayload.length));
  19. // conn.setRequestProperty("X-RPCX-MessageID", "12345678");
  20. // conn.setRequestProperty("X-RPCX-MesssageType", "0");
  21. conn.setRequestProperty("X-RPCX-SerializeType", "1");
  22. conn.setRequestProperty("X-RPCX-ServicePath", "Arith");
  23. conn.setRequestProperty("X-RPCX-ServiceMethod", "Mul");
  24. conn.setUseCaches(false);
  25. try (DataOutputStream wr = new DataOutputStream(conn.getOutputStream())) {
  26. wr.write(requestedPayload);
  27. }
  28. // read reply
  29. Reader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
  30. for (int c; (c = in.read()) >= 0; )
  31. System.out.print((char) c);
  32. }
  33. }