【发布时间】:2018-05-14 20:18:09
【问题描述】:
我正在尝试将 Android 连接到 Node.js,我有一个在端口 3000 中运行到我的本地主机的服务器,当我尝试使用邮递员从 POST 方法中获取过去的数据时,它工作得很好,但是当我对 Android 做同样的事情时whit class HttpUrlConnection 这是结果。
这是来自 Node.js 的代码
router.post('/', (req, res)=>{
console.log(req.query);
res.send({
mensaje: 'I am from usuario routes'
});
});
这是来自安卓
URL obj = new URL("http://192.168.1.107:3000/");
JSONObject jsonObject = new JSONObject();
jsonObject.put("image", "imagen");
String data = jsonObject.toString();
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setDoOutput(true);
//con.setDoInput(true);
con.setRequestMethod("POST");
con.setConnectTimeout(5000);
con.setFixedLengthStreamingMode(data.getBytes().length);
con.setRequestProperty("Content-Type", "application/json; charset=utf-8");
con.connect();
OutputStream out = new BufferedOutputStream(con.getOutputStream());
BufferedWriter wrt = new BufferedWriter(new OutputStreamWriter(out, "UTF-8"));
wrt.append(data);
wrt.flush();
wrt.close();
out.close();
con.disconnect();
【问题讨论】:
-
您是否尝试过使用
con.setDoInput(true)? -
可以,但是问题是服务器什么都没有收到,只收到请求不收到数据。
标签: android node.js post httpurlconnection