私のアプリケーションでは、以下のコードを使用してサーバーに値を送信しています。
public String sendHttpRequest(String params) {
// TODO Auto-generated method stub
URL url;
String result = new String();
try {
url = new URL(AUTHENTICATION_SERVER_ADDRESS+params);
System.out.println("url :"+url.toString());
HttpURLConnection connection;
connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
/*PrintWriter out = new PrintWriter(connection.getOutputStream());
out.println(params);
out.close();*/
BufferedReader in = new BufferedReader(new InputStreamReader(
connection.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null) {
System.out.println("inputLine :"+inputLine);
result = result.concat(inputLine);
}
in.close();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
if (result.length() == 0) {
result = HTTP_REQUEST_FAILED;
}
System.out.println("Result :"+result);
return result;
}
params = ?username=*&email=a@a.com&action=signUpUser&number=** * &password= &port=21241
このメソッドでは、すべての値がサーバーに追加されています。
しかし、以下の方法で同じことをすると、すべての値が更新されません。
public String sendHttpRequest(String params) {
// TODO Auto-generated method stub
URL url;
String result = new String();
try {
url = new URL(AUTHENTICATION_SERVER_ADDRESS);
System.out.println("url :"+url.toString());
HttpURLConnection connection;
connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
PrintWriter out = new PrintWriter(connection.getOutputStream());
out.println(params);
out.close();
BufferedReader in = new BufferedReader(new InputStreamReader(
connection.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null) {
System.out.println("inputLine :"+inputLine);
result = result.concat(inputLine);
}
in.close();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
if (result.length() == 0) {
result = HTTP_REQUEST_FAILED;
}
System.out.println("Result :"+result);
return result;
}
なぜそうなのですか?私は何か間違ったことをしていますか?