HTTPポストメソッドでパラメータを設定してサーバーからデータを取得しようとしています(ここで述べたように)
パラメータがURLに直接設定されている場合はうまく機能しますが、setEntity(new UrlEncodedFormEntity(nameValuePairs))
サーバーを使用してパラメータを設定しようとすると、空白の回答が返されます(変数を定義していないなど)。これが私のdoInBackground()
コードです:
String inMsg = "";
String url = "xxx";
HttpClient client = new DefaultHttpClient();
DataOutputStream dataOutputStream = null;
BufferedReader input = null;
HttpPost post = new HttpPost(url);
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("retrieve", "test"));
try {
post.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = client.execute(post);
HttpEntity entity = response.getEntity();
if (isCancelled())
{
publishProgress(CANCELLED);
return (null);
}
input = new BufferedReader( new InputStreamReader (entity.getContent(), "iso-8859-1"), 8);
StringBuilder inptemp = new StringBuilder();
while ((inMsg = input.readLine()) != null)
{
inptemp.append(inMsg + "\n");
}
publishProgress(SUCCESS);
if (isCancelled())
{
publishProgress(CANCELLED);
return (null);
}
inMsg = "";
inMsg = inptemp.toString();
Log.w("params", "msg: "+inMsg);
Log.w("params", url);
JSONArray jArray = new JSONArray(inMsg);
for(int i=0;i<jArray.length();i++){
JSONObject json_data = jArray.getJSONObject(i);
Log.w("log_tag","id: "+json_data.getInt("Id")
);
//Get an output to the screen
//return String += "\n\t" + jArray.getJSONObject(i);
}
助言がありますか ?