Я использую следующий код для запроса HTTP POST:
try
{
c.setDoOutput(true); // enable POST
c.setDoInput(true); // enable POST
c.setRequestMethod("POST");
c.addRequestProperty("Content-Type", "application/x-www-form-urlencoded, *.*");
c.addRequestProperty("Content-Length", "" + outString.length());
os = new BufferedOutputStream(c.getOutputStream());
os.write(outString.getBytes(), 0, outString.length());
os.flush();
os.close();
outString = null;
os = null;
System.gc();
rc = c.getResponseCode();
if (rc != HttpURLConnection.HTTP_OK)
{
return false;
}
is = new DataInputStream(c.getInputStream());
try
{
inString = is.readLine();
}
catch (NumberFormatException nfe)
{
nfe.printStackTrace();
throw new IOException("upload.php failed");
}
is.close();
Это работает только частично, работает передача данных через os.write (outString.getBytes (), 0, outString.length ()) гладко и данные поступают на сервер. Сервер сам отправляет ответ, но когда приведенный выше код пытается его прочитать, происходит сбой с java .io.IOException. Любая идея, что не так в моем коде?
Спасибо!