无法登录 OKHTTP3 response.body.string
Can't Log OKHTTP3 response.body.string
好的 - 所以我对此有点困惑。
我设置了 OKHTTP3 POST。当我得到响应时,我一直在尝试将正文放入一个字符串中(这是一个字符串响应)但是有些事情变得不稳定:
try {
Response response = client.newCall(request).execute();
String rep = response.body().string();
if(rep.length() > 0){
Log.i(TAG, "Got Response");
Log.i(TAG, rep);
}
}catch (Exception e){
e.printStackTrace();
}
我收到一条日志,上面写着 "Got Response" 但是(长度为 80)然后它就停止了。它并没有说我的代表字符串为空或空......它只是从不调用第二个日志。
有人知道怎么回事吗?
试试用这个..
OkHttpClient client = new OkHttpClient.Builder().build();
Request request = new Request.Builder()
.url("")
.build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
try {
Log.d("Response",response.body().string());
}
} catch (IOException e) {
e.printStackTrace();
} finally {
response.body().close();
}
}
});
对...所以显然我只需要将获取字符串的部分放入 AsyncTask 中,它就开始工作了。
没有任何错误消息或任何指示这样做的信息,但我回去查看了回调的文档,它提到在另一个线程上消耗正文。
new SendPictureClass().execute(response);
可能应该从那里开始...¯_(ツ)_/¯
感谢大家的帮助!
我也遇到了这个问题,Log无法正常工作
我找到了一个临时解决方案。
我尝试使用 Toast
显示响应,然后我发现响应弹出,但有很多空格(不确定这些字符是否为空格)。
所以我正在使用 Log.i(TAG, rep.trim());
,效果很好。我不知道这个解决方案是否适合这个问题,但它毕竟对我有用。
好的 - 所以我对此有点困惑。
我设置了 OKHTTP3 POST。当我得到响应时,我一直在尝试将正文放入一个字符串中(这是一个字符串响应)但是有些事情变得不稳定:
try {
Response response = client.newCall(request).execute();
String rep = response.body().string();
if(rep.length() > 0){
Log.i(TAG, "Got Response");
Log.i(TAG, rep);
}
}catch (Exception e){
e.printStackTrace();
}
我收到一条日志,上面写着 "Got Response" 但是(长度为 80)然后它就停止了。它并没有说我的代表字符串为空或空......它只是从不调用第二个日志。
有人知道怎么回事吗?
试试用这个..
OkHttpClient client = new OkHttpClient.Builder().build();
Request request = new Request.Builder()
.url("")
.build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
try {
Log.d("Response",response.body().string());
}
} catch (IOException e) {
e.printStackTrace();
} finally {
response.body().close();
}
}
});
对...所以显然我只需要将获取字符串的部分放入 AsyncTask 中,它就开始工作了。
没有任何错误消息或任何指示这样做的信息,但我回去查看了回调的文档,它提到在另一个线程上消耗正文。
new SendPictureClass().execute(response);
可能应该从那里开始...¯_(ツ)_/¯
感谢大家的帮助!
我也遇到了这个问题,Log无法正常工作
我找到了一个临时解决方案。
我尝试使用 Toast
显示响应,然后我发现响应弹出,但有很多空格(不确定这些字符是否为空格)。
所以我正在使用 Log.i(TAG, rep.trim());
,效果很好。我不知道这个解决方案是否适合这个问题,但它毕竟对我有用。