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

这是一个 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 回答
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 回答