0
conn = (HttpURLConnection) connectURL.openConnection();
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setUseCaches(false);
conn.setRequestMethod("POST");
conn.connect();
int code = conn.getResponseCode();

正常に接続を確立しました。インターネット経由で情報を渡そうとしています。ブラウザ経由でURLを開くと、次のような応答が返されます

{"status":"0","responseCode":"1001","response":"Wrong Settings."}

正しいステータスの場合は 1 として返されます。

ステータスのみを取得できる方法はありますか.次の方法を試してみましたが、ブラウザを介して手動で確認しているときに、ステータスコードに関係なくコード(以下はコードスニペット)を-1として取得するたびに.

4

3 に答える 3

0

以下のコードを追加して、接続から応答文字列を取得できます。

  OutputStream connectionOutput = null;
connectionOutput=connection.getOutputStream();
            connectionOutput.write(requestJson.toString().getBytes());
            connectionOutput.flush();
            connectionOutput.close();

            inputStream = new BufferedInputStream(connection.getInputStream());

            ByteArrayOutputStream dataCache = new ByteArrayOutputStream();

            // Fully read data
            byte[] buff = new byte[1024];
            int len;
            while ((len = inputStream.read(buff)) >= 0) {
                dataCache.write(buff, 0, len);
            }

            // Close streams
            dataCache.close();

以下のようなjsonのレスポンス文字列を取得します。

String jsonString = new String(dataCache.toByteArray()).trim();
JSONObject mJsonobject=new JSONObject(jsonString);

このmJsonobjectオブジェクトからキーを解析できるようになりました。

于 2012-07-25T09:28:17.073 に答える
0

これは JSON テキストです。JSON ライブラリを使用する必要があります。

于 2012-07-25T09:15:46.097 に答える
0
int code = conn.getResponseCode();

このメソッドは http ステータス コードを返します。http ステータス コードについては、を参照してください。

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

取得する応答コードは、実際にはサーバーから返された応答文字列です。これを読むには:

 try {
     InputStream in = new BufferedInputStream(conn.getInputStream());

     readStream(in);//method to read characters from stream.
    finally {
     urlConnection.disconnect();
   }
 }
于 2012-07-25T09:20:55.330 に答える