您好我正在使用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);
}
});
答案 0 :(得分:0)
尝试增加超时值。 原因是客户端将尝试获取响应,直到超时值。 一旦超过超时值,它将抛出超时异常。