認証と JSONObject Request も渡す必要があるプライベート Web サービスが 1 つあります。認証は完璧で、応答も問題ありませんが、応答として、特定の Web サービス実装ページの HTML ページ ソース コードを取得しています。
私が送信した JSONObject リクエストに問題はありますか。
以下のコードを参照してください。
public JSONObject getJSONFromUrl(String url) { try{ DefaultHttpClient httpClient=new DefaultHttpClient();
HttpPost httppost=new HttpPost(url);
httppost.setHeader("Authorization", "Basic "+Base64.encodeToString("abc:xyz".getBytes(), Base64.NO_WRAP));
//Posting request on htt
httppost.setHeader( "Content-Type", "application/json" );
httppost.setHeader("Accept","application/json");
JSONObject jsonPara = new JSONObject();
jsonPara.put("password", "abc");
jsonPara.put("username", "abc");
JSONObject jsonobj=new JSONObject();
jsonobj.put("request", "syncdata/get_country");
jsonobj.put("para",jsonPara);
Log.i("jason Object", jsonobj.toString());
StringEntity se2 = new StringEntity(jsonobj.toString());
se2.setContentEncoding("UTF-8");
se2.setContentType("application/json");
httppost.setEntity(se2);
HttpResponse httpResponse=httpClient.execute(httppost);
HttpEntity httpEntity=httpResponse.getEntity();
is=httpEntity.getContent();
}
catch(UnsupportedEncodingException ae)
{
ae.printStackTrace();
}
catch(ClientProtocolException ae)
{
ae.printStackTrace();
}
catch(IOException ae)
{
ae.printStackTrace();
}
catch(JSONException e)
{
e.printStackTrace();
}
try
{
BufferedReader reader=new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
StringBuilder sb=new StringBuilder();
String line=null;
while((line= reader.readLine()) != null)
{
sb.append(line + "\n");
}
is.close();
json =sb.toString();
}
catch(Exception ae)
{
ae.printStackTrace();
}
try
{
jObj=new JSONObject(json);
}
catch(JSONException e)
{
e.printStackTrace();
}
return jObj;
}
また、取得している応答が JSON またはその他の形式 (デバッグ以外) であることを確認するにはどうすればよいですか。また、実際に取得する必要がある正しい応答を取得しています。