3
如何通过okHttp重用http保持连接?Java okHttp重用保持连接
我的代码示例:
public class MainWithOkHttp {
static OkHttpClient _client = new OkHttpClient();
public static void main(String[] args) {
...
query1();
...
// in this request
Request _request = new Request.Builder()
.url("...")
.addHeader("connection", "keep-alive")
.addHeader("cookie", _cookie)
.post(postParams)
.build();
// in this request my previous session is closed, why?
// my previous session = session created in query1 method
Response _response = _client.newCall(_request).execute();
...
}
...
private static void query1() {
...
Request request = new Request.Builder()
.url("...")
.addHeader("connection", "keep-alive")
.addHeader("cookie", _cookie)
.get()
.build();
Response _response = _client.newCall(request).execute();
...
}
...
}
于是,我打电话query1()
方法。在此方法中打开连接,创建服务器端的会话并接收sessionId的cookie。
但是,当我对服务器执行另一个查询时 - 我以前的连接未使用,服务器上的会话已关闭。在服务器中的会话生命时间不小,所以问题不在生活中。 PS:我从服务器获取验证码并识别验证码,然后使用验证码对服务器执行查询。但是,服务器端的验证码不被识别,因为会话已经关闭,验证码存储在会话中。
任何工作? –
我在android中面临同样的问题。你有没有找到解决方案? –
不幸的是没有。 – Vusal