で基本認証を使用して本文でJSON
受け入れるURLへの簡単な投稿を実装しようとしています。JSON
ANDROID
試してみましHttpUrlConnection
たが、取得"unauthorized"
してデータがサーバーに送信されます。
私が試したもう1つの方法はを使用することHttpClient
ですが、今は別の問題が発生します。認証は完全に機能しますが、データはサーバーに送信されません...
念のために言っておきますが、私は単純なJavaプロジェクト(Android環境ではない)で小さなテストをセットアップしました。
POST
これは私がサーバーに使用しているコードです:
DefaultHttpClient httpClient = new DefaultHttpClient();
ResponseHandler<String> resonseHandler = new BasicResponseHandler();
HttpPost postMethod = new HttpPost("http://localhost/api/v1/purchase/");
postMethod.setEntity(new StringEntity("{\"amount_adult\" : 1, \"object_id\" : 13}"));
postMethod.setHeader( "Content-Type", "application/json");
String authorizationString = "Basic " + Base64.encodeToString(("travelbuddy" + ":" + "travelbuddy").getBytes(), Base64.DEFAULT); //this line is diffe
postMethod.setHeader("Authorization", authorizationString);
String response = httpClient.execute(postMethod,resonseHandler);
System.out.println("response :" + response);
Javaプロジェクトのコードは完璧に機能します。
Androidでまったく同じコードを試してみるとinternal server error
、サーバーから取得します。これは、JSONデータが受信されていないことを意味します。
これがJAVAで機能しているのに、Androidでは機能していない理由がよくわかりません。
私が達成したい効果は、次のコマンドです。
curl --dump-header - -H "Content-Type: application/json" -X
POST --data '{"amount_adult":1, "object_id":13}'
--user travelbuddy:travelbuddy http://localhost/api/v1/purchase/