基于Apache公司的httpclient和httpservice的使用
先看httpservice对请求处理的RequestHandler方法

@Deprecatedpublic interface HttpRequestHandler {    void handle(HttpRequest var1, HttpResponse var2, HttpContext var3) throws HttpException, IOException;}

想要httpservice对client端的请求作出处理,则需要实现上边的接口,重写方法
如下

    @Override    public void handle(HttpRequest httpRequest, HttpResponse httpResponse, HttpContext httpContext) throws HttpException, IOException {        BasicHttpEntityEnclosingRequest httpPost = (BasicHttpEntityEnclosingRequest) httpRequest;        InputStream is = httpPost.getEntity().getContent();

HttpRequest 只有一个getRequestLine方法,不能像response一样getEntity啊,这让服务端咋解析嘛。所以就进源码一通乱点,找到了这里用的BasicHttpEntityEnclosingRequest这个类
查看源码如下

public class BasicHttpEntityEnclosingRequest extends BasicHttpRequest implements HttpEntityEnclosingRequest {...}public class BasicHttpRequest extends AbstractHttpMessage implements HttpRequest {...}

最最重要的是,这个BasicHttpEntityEnclosingRequest 有getEntity方法

    public HttpEntity getEntity() {        throw new RuntimeException("Stub!");    }    public void setEntity(HttpEntity entity) {        throw new RuntimeException("Stub!");    }

所以把 HttpService把HttpClient传来的Post请求通过向下转型成BasicHttpEntityEnclosingRequest ,再调用getEntity,即可得到Post的请求流内容
我是在用客户端Post文件流给服务器时用到了该方法,完毕~

更多相关文章

  1. Android的消息框处理方法
  2. Android解压及打包system.img
  3. android 蓝牙开发 蓝牙 bluetoothsocket connect 经常出错 解决
  4. Android(安卓)Input流程
  5. Android(安卓)高通平台camera hal层调试方法和命令
  6. android 遍历assets下的文件
  7. android改变字体的颜色的三种方法
  8. Android(安卓)Studio加载字体
  9. android 屏幕分辨率获取,等比缩放,屏幕横竖屏设置,屏幕截取

随机推荐

  1. Android(安卓)App 多语言切换
  2. (4.2.14)【android开源工具】常用网址
  3. Android(安卓)volley框架加载网络图片
  4. android:程序中安装APK方法
  5. android 如何从sqlite读取数据到spinner
  6. Android(安卓)Http 异步请求
  7. Android(安卓)LayoutInflater用法
  8. android 处理图片工具
  9. Android日志服务 记录日志
  10. Android(安卓)常见问题收集 (持续更新)