私はこのコードを持っている:Jsonオブジェクトをbase64として送信するHttpURLConnection。どうして?
URL url = new URL("http://httpbin.org/post");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("Accept", "application/json");
conn.setDoOutput(true);
conn.setDoInput(true);
String jSonString = JSONUtils.toJSONString(request);
byte[] outputInBytes = jSonString.getBytes();
OutputStream os = conn.getOutputStream();
os.write(outputInBytes);
os.close();
私はそれをしたい、何がJSONとしてrequest
オブジェクトを送信することです。問題は、JSONがBase64でエンコードして送信していることです。私はjSonString
を印刷し、それは正しいJSONですが、httbinからミラーリングされた応答を印刷すると、JSONがBase64でエンコードされて送信されていることがわかります。デコードすると、正しいJSONオブジェクト文字列になりますが、エンコードされたものを送信したくありません。誰がなぜこれが起こっているのか知っていますか?
私はこれを再現できません。 'jSonString'が正しいJSONであると言うなら、あなたのコードの中にbase64は何も生成されません。応答を返すときにhttpbinサービスがそれを実行している必要があります。 –