asynchttpclient使用怎么设置像httpclient一样的请求头

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&Android封装数据请求AsyncHttpClient 和 Volley - 推酷
Android封装数据请求AsyncHttpClient 和 Volley
将&AsyncHttpClient 和 Volley 的jar导入的libs目录下面,
导入遇见的问题,导入后到时没有对应的类,,解决方法,在你导入的包下面右击点击add to Library。。就可以了。是不是很菜啊。我菜我快乐。。
1 NetRequest 封装的数据请求,,跟加载图片
2 NetUtil 配置请求数据。。
3 macro 存放的是宏。。
4 HomepageGross 跟 HomepageRollAndData是数据model,
5 RequestResultModel 请求数据结果
6 RequestResultUtil &处理请求的数据
1 NetRequest 类
* Created by liyongqiang on 15/6/11.
android.content.C
8 import android.graphics.B
9 import android.support.v4.graphics.BitmapC
10 import android.util.LruC
12 import com.android.volley.RequestQ
13 import com.android.volley.toolbox.ImageL
14 import com.android.volley.toolbox.ImageLoader.ImageC
15 import com.android.volley.toolbox.V
16 import com.loopj.android.http.AsyncHttpC
17 import com.loopj.android.http.AsyncHttpR
18 import com.loopj.android.http.AsyncHttpResponseH
19 import com.loopj.android.http.JsonHttpResponseH
20 import com.loopj.android.http.RequestP
21 import com.loopj.android.http.ResponseHandlerI
24 import org.apache.http.client.utils.URLEncodedU
26 public class NetRequest {
private static NetRequest netRequest = null;
// 图片加载
/** 上下文 */
/** 图片请求队列 */
private RequestQueue imageRequestQ;
/** 图片ImageLoader */
private ImageLoader imageL
/** 图片缓存LRU */
private ImageCache imageC
/** LRU缓存的数量。为了防止溢出,一般不要超过60 */
final LruCache&String,Bitmap& lruCache = new LruCache&String, Bitmap&(20);
// 网路请求
private AsyncHttpC
/* 构造函数 */
// 图片加载构造函数
private NetRequest(Context context){
this.content =
this.imageRequestQ = Volley.newRequestQueue(this.content);
this.imageCache = new ImageCache() {
public Bitmap getBitmap(String s) {
return lruCache.get(s);
public void putBitmap(String s, Bitmap bitmap) {
lruCache.put(s,bitmap);
this.imageLoader = new ImageLoader(imageRequestQ, imageCache);
// 网路请求构造函数
NetRequest(Context context, String request){
this.client = new AsyncHttpClient();
this.client.setTimeout(11000);
this.content =
/** 单例模式 */
// 图片单例
public static NetRequest sharedNetRequestWithImage(Context context){
if (netRequest == null){
synchronized (NetRequest.class){
if(netRequest == null){
netRequest = new NetRequest(context);
return netR
// 数据请求单例
public static NetRequest shareNetRequestWithRequest(Context context){
if (netRequest == null){
synchronized (NetRequest.class){
if(netRequest == null){
netRequest = new NetRequest(context,&request&);
return netR
* get 请求
public void get_request_async(String urlStr,AsyncHttpResponseHandler res){
this.client.get(this.context,urlStr, res);
public void get_request_json(String urlStr,JsonHttpResponseHandler res){
this.client.get(this.context, urlStr,res);
* post 请求
public void post_request_async(String urlStr,RequestParams params,AsyncHttpResponseHandler res){
this.client.post(this.context, urlStr, params, res);
public void post_request_json(String urlStr, RequestParams params,JsonHttpResponseHandler res){
this.client.post(this.context, urlStr,params, res);
/** get set*/
public ImageLoader getImageLoader() {
return imageL
NetUtil 类
* Created by liyongqiang on 15/6/11.
public class NetUtil {
public interface Request_call_back {
* 请求返回的结果
public void request_back_result(RequestResultModel model);
/** 防止工具类被实例化 */
public void NetUtil(){
throw new AssertionError(&不能实例化对象,数据请求NetUtil&);
* 图片加载
public static ImageContainer loafImage(Context content, String imageUrl,ImageView imageV,final int defaultImageResId, final int errorImageResId){
NetRequest netRequest = NetRequest.sharedNetRequestWithImage(content);
return netRequest.getImageLoader().get(imageUrl,ImageLoader.getImageListener(imageV, defaultImageResId, errorImageResId));
public static void get_request_async(String requestTag,Context context, String urlStr){
NetRequest netRequest = NetRequest.shareNetRequestWithRequest(context);
netRequest.get_request_async(urlStr, new AsyncHttpResponseHandler() {
public void onStart() {
System.out.println(&开始&);
public void onSuccess(int statusCode, Header[] headers, byte[] bytes) {
if (statusCode == 200) {
System.out.println(&成功& + statusCode + bytes);
public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) {
System.out.println(&失败&);
public void onFinish() {
System.out.println(&结束&);
public static void get_request_json(final String requestTag,Context context,String urlStr){
NetRequest netRequest = NetRequest.shareNetRequestWithRequest(context);
netRequest.get_request_json(urlStr, new JsonHttpResponseHandler() {
public void onStart() {
System.out.println(&开始&);
public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
System.out.println(&成功& + statusCode + &数据& + response);
public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) {
System.out.println(&失败&);
public void onFinish() {
System.out.println(&结束&);
* post请求
public static void
post_request_Async(String RequestTag, Context context, String urlStr, RequestParams params){
NetRequest netRequest = NetRequest.shareNetRequestWithRequest(context);
netRequest.post_request_async(urlStr, params, new AsyncHttpResponseHandler() {
public void onStart() {
System.out.println(&开始&);
public void onSuccess(int statusCode, Header[] headers, byte[] bytes) {
if (statusCode == 200) {
System.out.println(&成功& + statusCode + bytes);
public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) {
System.out.println(i + &失败& + throwable);
public void onFinish() {
System.out.println(&结束&);
public static void post_request_Json(final String requestTag, final Context context, String urlStr, final RequestParams params, final Request_call_back request_call_back){
NetRequest netRequest = NetRequest.shareNetRequestWithRequest(context);
netRequest.post_request_json(urlStr, params, new JsonHttpResponseHandler() {
public void onStart() {
request_call_back.request_back_result(RequestResultUtil.request_handle_result(null, requestTag, DataRequestMacro.kResultStart));
public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
System.out.println(&statusCode&+statusCode);
if(statusCode == 200){
request_call_back.request_back_result(RequestResultUtil.request_handle_result(response, requestTag, DataRequestMacro.kResultSucceess));
request_call_back.request_back_result(RequestResultUtil.request_handle_result(null, requestTag, DataRequestMacro.kResultFail));
public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) {
request_call_back.request_back_result(RequestResultUtil.request_handle_result(null, requestTag, DataRequestMacro.kResultFail));
public void onFinish() {
request_call_back.request_back_result(RequestResultUtil.request_handle_result(null, requestTag, DataRequestMacro.kResultFinish));
* 处理链接
public static RequestParams params_route_data(Map routeMap,Map dataMap){
RequestParams requestParams = new RequestParams();
requestParams.put(&power&,DataRequestMacro.kPowerStr);
if (routeMap != null){
JSONObject routeObj = new JSONObject(routeMap);
requestParams.put(&route&,routeObj);
if (dataMap != null){
JSONObject dataObj = new JSONObject(dataMap);
requestParams.put(&data&, dataObj);
return requestP
RequestResultModel 请求的结果
* Created by liyongqiang on 15/6/16.
public class RequestResultModel {
public int resultC
public String requestT
RequestResultUtil
* Created by liyongqiang on 15/6/16.
public class RequestResultUtil {
public RequestResultUtil(){
throw new AssertionError(&不能实例化对象&);
public static RequestResultModel request_handle_result(JSONObject response, String reqeuestTag,int statusCode) {
if (reqeuestTag.equals(DataRequestMacro.kTagHomePageRoll)){
return homepageRollModel(response,reqeuestTag,statusCode);
} return null;
* 首页轮播数据model处理
private static RequestResultModel homepageRollModel(JSONObject response, String requestTag,int statusCode){
RequestResultModel model = new RequestResultModel();
model.requestTag = requestT
model.resultCode = statusC
if (statusCode == DataRequestMacro.kResultSucceess){
JSONObject resMap =
JSONArray srollList = null;
JSONObject statisticsMap = null;
String stutas = null;
HomepageGross gross = new HomepageGross();
ArrayList list = new ArrayList();
HashMap map = new HashMap();
srollList = (JSONArray)resMap.get(&scroll&);
statisticsMap = (JSONObject)resMap.get(&statistics&);
stutas = (String)resMap.get(&status&);
gross.clinic = (String)statisticsMap.get(&clinic&);
gross.doctor = (String)statisticsMap.get(&doctor&);
gross.groupon = (String)statisticsMap.get(&groupon&);
gross.goods = (String)statisticsMap.get(&goods&);
} catch (JSONException e) {
e.printStackTrace();
for (int i=0;i&srollList.length();i++){
JSONObject scrollMap = null;
HomepageRollAndData rollAndData = new HomepageRollAndData();
scrollMap = (JSONObject)srollList.get(i);
rollAndData.src = (String)scrollMap.get(&src&);
rollAndData.href = (String)scrollMap.get(&href&);
}catch (JSONException e){
list.add(rollAndData);
map.put(&status&, stutas);
map.put(&scroll&, list);
map.put(&statistics&,gross);
model.data =
* 有页面社区
public static RequestResultModel homepageComModel(JSONObject response, String requestTag,int statusCode){
return null;
感觉封装完简单了很多,有没有。
1 开始请求
Map routeDict =new HashMap();
routeDict.put(DataRequestMacro.kFunction,DataRequestMacro.kHomepageRoll);
routeDict.put(DataRequestMacro.kCHomepageIndex,DataRequestMacro.kClass);
JSONObject routeStr = new JSONObject(routeDict);
Map dataDict = new HashMap();
dataDict.put(DataRequestMacro.kHomepageCity, &北京&);
JSONObject
dataStr = new JSONObject(dataDict);
NetUtil.post_request_Json(DataRequestMacro.kTagHomePageRoll, this, DataRequestMacro.kRequestUrlstr, NetUtil.params_route_data(routeDict, dataDict), this);
13 请求完数据回调。。。。
14 @Override
public void request_back_result(RequestResultModel model){
System.out.println(&回调~~~~~~~~~~~~~~~~~~&+model.requestTag+model.resultCode);
开发IOS的刚开发Android 有什么不对的,你有什么更好的call me。一同进步。。谢谢
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致AsyncHttpClient 的流程! - 推酷
AsyncHttpClient 的流程!
使用中的标记!这种模式看起来真的很棒!以后多多使用哈!
String url = &http://10.6.210.164:8080/TestWeb/TestImageUpload&;
AsyncHttpClient client = new AsyncHttpClient();
RequestParams params = new RequestParams();
params.put(&image&, &true&);
client.post(url, params, new AsyncHttpResponseHandler(){
//下面的错误标识经历顺序17个
//测试正确的 分别用00标识
/** 正确第十五个 */
public void onSuccess(String arg0) {
super.onSuccess(arg0); //0015
TestUtils.logI(arg0);
/** 正确 第十四个 */
public void onSuccess(int statusCode, String content) {
super.onSuccess(statusCode, content); //0014
/** 错误 第五个 */
protected void sendFailureMessage(Throwable e, //5
String responseBody) {
super.sendFailureMessage(e, responseBody);
protected void sendFailureMessage(Throwable e,
byte[] responseBody) {
super.sendFailureMessage(e, responseBody);
/** 首先经过
protected void sendStartMessage() { //1
super.sendStartMessage(); //001
/** 第九个 */
protected void sendFinishMessage() {
super.sendFinishMessage(); //9
/** 错误 第十二个 */
protected void handleFailureMessage(Throwable e,
String responseBody) {
super.handleFailureMessage(e, responseBody); //12
/** 第四个,第十个,第十六个 */
protected void handleMessage(Message msg) { //4
super.handleMessage(msg); //10 //16 //004
/** 正确 第十二个 */
protected void handleSuccessMessage(int arg0, String arg1) {
super.handleSuccessMessage(arg0, arg1);
/** 第六个 */
public void onStart() { //6
super.onStart(); //006
/** 第十七个*/
public void onFinish() {
super.onFinish(); //17 //0017
/** 错误第十四个 */
public void onFailure(Throwable error) {
super.onFailure(error); //14
/** 第三个 ,第八个,第十三个 */
protected void sendMessage(Message msg) { //3
super.sendMessage(msg); //8
//008 //0013
/** 第二个 ,第七个, 第十一个*/
protected Message obtainMessage(int responseMessage,
Object response) { //2
return super.obtainMessage(responseMessage, response); //7
//11 //002 //007 //0011
/** 正确第五个 */
protected void sendSuccessMessage(int arg0, String arg1) {
super.sendSuccessMessage(arg0, arg1); //005
/** 错误第十五个 */
public void onFailure(Throwable error, String content) {
super.onFailure(error, content);
TestUtils.logE(error.toString());
TestUtils.logE(content); //15
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&

我要回帖

更多关于 asynchttpclient post 的文章

 

随机推荐