Я работаю над Java-приложением. Мне нужно вызвать метод удаленного api. Предположим, у меня есть эта информация: remote_ip
, remote_port
, remote_method_name
и некоторые key-value
данные для публикации. Мне нужно отправить свои данные на удаленный сервер через протокол TCP. Я испытал Sockets
таким образом, но не работаю:java - do json remote procedure call (RPC) от клиента
Socket socket = new Socket(remote_ip, remote_port);
BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(), "UTF8"));
String params = URLEncoder.encode("key1", "UTF-8")
+ "=" + URLEncoder.encode(value1, "UTF-8");
params += "&" + URLEncoder.encode("key2", "UTF-8")
+ "=" + URLEncoder.encode(value2, "UTF-8");
wr.write("POST " + remote_method_name + " HTTP/1.0\r\n");
wr.write("Content-Length: " + params.length() + "\r\n");
wr.write("Content-Type: application/x-www-form-urlencoded\r\n");
wr.write("\r\n");
wr.write(params);
wr.flush();
Может ли один скажи мне, как я могу вызвать метод апите в правильном пути?
Я хочу сделать это без какой-либо сторонней библиотеки, если это возможно.
Любая помощь будет с благодарностью оценена.
Любая конкретная трассировка стека? Что не работает? –
Не выбрасывает исключение. Просто верните '404 not found'. Я хочу знать правильный способ вызова метода удаленного api. – hamed