(sorry for my bad english) I have the next code to send data via POST to Server. This code is working in another application correctly. But this does not work now. It's a function that return the response data:
BufferedReader reader = null;
try {
URL url = new URL(path);
HttpURLConnection conecc = (HttpURLConnection) url.openConnection();
conecc.setReadTimeout(5000);
conecc.setConnectTimeout(5000);
conecc.setDoOutput(true);
conecc.setDoInput(true);
conecc.setChunkedStreamingMode(0);
conecc.connect();
Uri.Builder builder = new Uri.Builder()
.appendQueryParameter("name", name)
.appendQueryParameter("birthday", bithday)
.appendQueryParameter("sex", sex);
String query = builder.build().getEncodedQuery();
OutputStream outputstream = conecc.getOutputStream();
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(outputstream, "UTF-8"));
writer.write(query);
outputstream.close();
StringBuilder sbuilder = new StringBuilder();
reader = new BufferedReader(new InputStreamReader(conecc.getInputStream()));
String line;
while((line = reader.readLine()) != null) {
sbuilder.append(line + "\n");
}
//writer.flush();
//writer.close();
return sbuilder.toString();
} catch (Exception e) {
e.printStackTrace();
return null;
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
}
On the server i just have this (PHP):
print_r($_POST)
But i get an empty array. Then connection to server works but data is not sent.
Array()
I have added these lines before conecc.connect(); unsuccessfully:
conecc.setRequestProperty("Connection", "Keep-Alive");
System.setProperty("http.keepAlive", "false");
conecc.setRequestProperty("User-Agent", "Mozilla/5.0 ( compatible ) ");
conecc.setRequestProperty("Accept", "*/*");
conecc.setRequestMethod("POST");