0

嗨,我正在使用 LoopJ lib 从 json 中的服务器获取响应。但问题是有时我得到 org.apache.http.conn.ConnectTimeoutException ,有时它运行良好。我正在使用 GET 方法。但是,当我将 URl 复制并粘贴到我的浏览器时,它运行良好但是在 Android 设备上,我大多无法连接到服务器,这是什么问题。我究竟做错了什么 ?

client.setTimeout(timoutVal);
client.get(
    "http://somewebsiteaddress.com/users.php?task=isUserPresent&email="
        + URLEncoder.encode(username) + "&password="
        + URLEncoder.encode(password) + "&licenseKey="
        + URLEncoder.encode(licKey), null,
    new AsyncHttpResponseHandler() {

        public void onSuccess(String response) {

        loading.cancel();

        Log.v("web response ", response);

        try {
            json = new JSONObject(response);

            if (json.getBoolean("status")) {

            delegate.Validation(
                json.getBoolean("isUserPresent"),

                json.getBoolean("license"), username,
                password, json);

            } else {

            delegate.invalidLogin();
            }

        } catch (JSONException e) {

            e.printStackTrace();
        }

        }

        @Override
        public void onFailure(Throwable arg) {

        Log.v("onFailure", arg + "");

        loading.cancel();

        delegate.InternetErrorDialog();

        super.onFailure(arg);
        }

    });
4

1 回答 1

0

尝试增加您的超时值。原因是客户端将尝试获得响应,直到超时值。一旦超过超时值,就会抛出超时异常。

于 2015-03-05T09:07:28.293 回答