【发布时间】:2015-03-22 19:10:03
【问题描述】:
我正在使用nkzawa's Socket.IO-client.java 开发一个 Android 客户端,但不知道如何通过套接字使用请求正文中的数据发出 POST 或 PUT 请求。
我已经成功地执行了一个 GET 请求,它是这样完成的:
...
JSONObject obj = new JSONObject();
obj.put("url", "/list/subscribe/");
socket.emit("get", obj);
...
我尝试将“get”与“put”和“post”交换,并尝试将“data”和“body”添加到 JSONObject,但没有成功。收到的请求正文在服务器上保持为空。
制作post request with data in Sails.js 很容易,而这正是我想用Java 客户端做的。这可能吗?
【问题讨论】:
-
有什么理由不想使用 Android 的 HttpURLConnection (developer.android.com/reference/java/net/HttpURLConnection.html)?它支持所有常用的 HTTP 方法,包括 POST 和 PUT。
-
原因是我想让请求通过套接字,我认为HttpURLConnection不可能,但也许我错了?
-
GET、POST 和 PUT 请求是 HTTP 协议的一部分。出于某种原因(github.com/balderdashy/sails.io.js/blob/master/…),Sails 似乎正试图在 Socket.IO 之上模拟这一点。我觉得很奇怪!
-
@gregnr 是的,当你这样说时,通过 Socket.IO(或 WebSockets)发送 HTTP 请求听起来有点奇怪。虽然,我在最初的帖子中写的 get 请求用于为请求套接字订阅事件。如果不通过套接字发送 HTTP 请求,我不知道如何做到这一点。
标签: java android socket.io sails.js