android下asynchttp库对于session的支持
默认asynchttp库不支持session,需要用户配置下cookie来处理,直接贴支持session的代码
package example.com.sessiontest; import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button; import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.AsyncHttpResponseHandler;
import com.loopj.android.http.PersistentCookieStore; import cz.msebera.android.httpclient.Header;
import cz.msebera.android.httpclient.client.CookieStore;
import cz.msebera.android.httpclient.client.protocol.ClientContext;
import cz.msebera.android.httpclient.cookie.Cookie;
import cz.msebera.android.httpclient.protocol.HttpContext; public class MainActivity extends AppCompatActivity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); Button testButton = (Button)findViewById(R.id.button);
testButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) { AsyncHttpClient client = new AsyncHttpClient(); HttpContext httpContext = client.getHttpContext();
CookieStore cookies = (CookieStore) httpContext.getAttribute(ClientContext.COOKIE_STORE);//获取AsyncHttpClient中的CookieStore
if(cookies!=null){
for(Cookie c:cookies.getCookies()){
System.out.println("main before ~~" + c.getName() + c.getValue());
}
}else{
System.out.println("main before~~" + "cookies is null");
}
PersistentCookieStore myCookieStore = new PersistentCookieStore(MainActivity.this);
client.setCookieStore(myCookieStore);
httpContext = client.getHttpContext();
cookies = (CookieStore) httpContext.getAttribute(ClientContext.COOKIE_STORE);
if(cookies!=null){
for(Cookie c:cookies.getCookies()){
System.out.println("main after ~~" + c.getName() + c.getValue());
}
}else{
System.out.println("main after~~" + "cookies is null");
} client.get("http://192.168.0.150:8080/test", new AsyncHttpResponseHandler() { @Override
public void onStart() {
// called before request is started
} @Override
public void onSuccess(int statusCode, Header[] headers, byte[] response) {
String responseString = new String(response);
System.out.println(responseString);
} @Override
public void onFailure(int statusCode, Header[] headers, byte[] errorResponse, Throwable e) {
// called when response HTTP status is "4XX" (eg. 401, 403, 404)
} @Override
public void onRetry(int retryNo) {
// called when request is retried
}
});
}
});
}
}
android下asynchttp库对于session的支持的更多相关文章
- Android下查看共享库依赖项
Android下查看共享库依赖项 [时间:2017-02] [状态:Open] [关键词:android,共享库依赖项,so,ndk,objdump,readelf] 起因 近期在处理Android下 ...
- 解决 Android 中出现依赖多个版本支持库的问题
在 app 的 build.gradle 中引入依赖时发现如下错误: All com.android.support libraries must use the exact same version ...
- Mac OS X10.10_xcode6.1_ios8.1环境下,编译lame静态库libmp3lame.a,支持arm64 armv7s x86_64 i386 armv7指令集
近期升级了系统到Mac OS X 10.10 而且更新了XCode6.1和iOS 8.1 之前app用到的libmp3lame.a静态库.也要支持64位的模拟器(x86_64)和64位的真机(arm6 ...
- go 工具链目前[不支持编译 windows 下的动态链接库][1],不过[支持静态链接库][2]
go 工具链目前[不支持编译 windows 下的动态链接库][1],不过[支持静态链接库][2].想要产生dll,可以这样 workaround ,参考 golang [issuse#11058][ ...
- [转]Android下怎么使用LDD查看依赖库
Android下没有ldd可以使用,在进行ndk开发的时候,检查库的依赖项特别麻烦.有两个解决方案: 1.将linux的的ldd移植过去.因为android也是基于linux的,所以将ldd移植过去是 ...
- 【失败经验分享】android下使用支持opencl的cv::dft()
1.使用了UMat,但是并未使用GPU计算 cv::dft()函数的定义是: void cv::dft( InputArray _src0, OutputArray _dst, int flags, ...
- Android 第三方开源库收集整理(转)
原文地址:http://blog.csdn.net/caoyouxing/article/details/42418591 Android开源库 自己一直很喜欢Android开发,就如博客签名一样, ...
- 45.Android 第三方开源库收集整理(转)
原文地址:http://blog.csdn.net/caoyouxing/article/details/42418591 Android开源库 自己一直很喜欢Android开发,就如博客签名一样, ...
- Android进阶笔记02:Android 网络请求库的比较及实战(二)
一.Volley 既然在android2.2之后不建议使用HttpClient,那么有没有一个库是android2.2及以下版本使用HttpClient,而android2.3及以上版本 ...
随机推荐
- 硬盘缓存的最佳方案,DiskLruCache完全解析
收藏自:http://blog.csdn.net/guolin_blog/article/details/28863651
- CPU的频率、外频、倍频与超频
如,现有一CPU:Intel Core 2 Duo E8400,其频率是3.0GHz: CPU的外频指的是CPU与外部组件进行数据传输/运算时的速度,倍频则是CPU内部用来加速工作性能的一个倍数,两者 ...
- Spring 框架获取 datasource对象的方法
1,使用org.springframework.jdbc.datasource.DriverManagerDataSource 2.使用org.apache.commons.dbcp.BasicDa ...
- 带同时滚动小色条的banner轮播图jq
<div class="baoliao tongcheng"> <p class="headline1">同城<font>活 ...
- Spring+SpringMVC+Mybatis+ehcache
http://www.tuicool.com/articles/myeANv http://www.mamicode.com/info-detail-1151624.html
- c 函数及指针学习 7
1.结构的存储分配 1 2 printf("%d \n",sizeof(char)); printf("%d \n",sizeof(int)); int 类型为 ...
- leetcode 94 Binary Tree Inorder Traversal ----- java
Given a binary tree, return the inorder traversal of its nodes' values. For example:Given binary tre ...
- JS中的自定义属性
<div id="div1" a="a" data-bbb="bbb">div</div> <script&g ...
- java的nio之:java的nio系列教程之Scatter/Gather
一:Java NIO的scatter/gather应用概念 ===>Java NIO开始支持scatter/gather,scatter/gather用于描述从Channel(译者注:Chann ...
- Java 控制反转和依赖注入模式【翻译】【整理】
Inversion of Control Containers and the Dependency Injection pattern --Martin Fowler 本文内容 Component ...