我正在開發一個java應用程序。我需要調用遠程API方法。假設我有這個信息:remote_ip
,remote_port
,remote_method_name
和一些key-value
要發佈的數據。我需要通過TCP協議將我的數據發佈到遠程服務器。我用這種方式測試Sockets
,但不工作:java - 從客戶端執行json遠程過程調用(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();
可以在任何一個告訴我,我怎麼能叫API方法以正確的方式?
如果可能,我想在沒有任何第三方庫的情況下執行此操作。
任何幫助將不勝感激。
任何特定的堆棧跟蹤?什麼不起作用? –
不會引發任何異常。只需返回'404找不到'。我想知道調用遠程API方法的正確方法。 – hamed