osc安卓版如何保持session的?

发布于 2021-11-19 15:07:30 字数 962 浏览 893 评论 5

@红薯 你好,想跟你请教个问题:

HttClent官网上说,用同一个HttpClient向服务器端发送请求可以自动保持session,你们每次创建新的httpClient是如何保持session的呢?这么做有什么优点?

	private static HttpClient getHttpClient() {        
        HttpClient httpClient = new HttpClient();
		// 设置 HttpClient 接收 Cookie,用与浏览器一样的策略
		httpClient.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY);
        // 设置 默认的超时重试处理策略
		httpClient.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler());
		// 设置 连接超时时间
		httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(TIMEOUT_CONNECTION);
		// 设置 读数据超时时间 
		httpClient.getHttpConnectionManager().getParams().setSoTimeout(TIMEOUT_SOCKET);
		// 设置 字符集
		httpClient.getParams().setContentCharset(UTF_8);
		return httpClient;
	}	

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

冷默言语 2021-11-24 21:54:36

学习

天涯离梦残月幽梦 2021-11-24 20:11:34

非常感谢,使用这种方式有什么好处呢?

无声静候 2021-11-24 17:44:05

这只是一个服务器端验证用户是否登录的一个策略而已,也没什么好处,而session在客户端上使用不太现实。

葬花如无物 2021-11-24 10:34:56

回复
最近在学习REST,如果App的后台提供RESTful的API,是否可以解决这个问题呢?

梅窗月明清似水 2021-11-23 00:00:28
private static GetMethod getHttpGet(String url, String cookie, String userAgent) {
	GetMethod httpGet = new GetMethod(url);
	// 设置 请求超时时间
	httpGet.getParams().setSoTimeout(TIMEOUT_SOCKET);
	httpGet.setRequestHeader("Host", URLs.HOST);
	httpGet.setRequestHeader("Connection","Keep-Alive");
	httpGet.setRequestHeader("Cookie", cookie);
 	httpGet.setRequestHeader("User-Agent", userAgent);
	return httpGet;
}

private static PostMethod getHttpPost(String url, String cookie, String userAgent) {
	PostMethod httpPost = new PostMethod(url);
	// 设置 请求超时时间
	httpPost.getParams().setSoTimeout(TIMEOUT_SOCKET);
	httpPost.setRequestHeader("Host", URLs.HOST);
	httpPost.setRequestHeader("Connection","Keep-Alive");
	httpPost.setRequestHeader("Cookie", cookie);
 	httpPost.setRequestHeader("User-Agent", userAgent);
	return httpPost;
}

客户端没有使用保持session的策略,而是用的cookie,每次请求都是带上cookie的。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文