【发布时间】:2018-02-17 02:06:15
【问题描述】:
我向安全服务器发出 POST 请求,这需要很长时间。我想让它更快。有机会做吗?它看起来像这样:
private class GetTokenTask extends AsyncTask<Void, Void, String> {
private final String LOG_TAG = MainActivity.class.getSimpleName();
private Call mCallToServer;
private String mAccessToken;
private OkHttpClient mHttpClient;
private JSONObject mResponseJSON;
private Response mResponseFromServer;
@Override
protected String doInBackground(Void... params) {
mHttpClient = new OkHttpClient();
mCallToServer = mHttpClient.newCall(requestToOAuth());
try {
mResponseFromServer = mCallToServer.execute();
mResponseJSON = new JSONObject(mResponseFromServer.body().string());
mAccessToken = mResponseJSON.getString(getString(R.string.access_token_key));
Log.i(LOG_TAG, mAccessToken);
Log.i(LOG_TAG, JWTUtils.decoded(mAccessToken));
} catch (Exception e) {
e.printStackTrace();
}
return mAccessToken;
}
@Override
protected void onPostExecute(String token) {
super.onPostExecute(token);
}
}
也许是另一个图书馆或类似的东西?
【问题讨论】:
-
你无法真正控制这类事情,因为它可能有很多根本原因:你的网络很慢,服务器同时有很多请求要处理或者请求真的需要一些时间才能完成。最好的机会是从 Postman(或类似的东西)那里尝试一下,看看接收响应所需的时间是否相同。如果为 true,则您实际上无能为力,但如果不是,您应该在发送请求时查看您还做了什么。
标签: android post android-asynctask okhttp