如何从java apache服务器HttpRequestHandler.handle()中关闭套接字以拒绝上载?
我有一个java(android)应用程序,它使用ApacheHTTP框架(android附带)运行HTTP服务器 在我的如何从java apache服务器HttpRequestHandler.handle()中关闭套接字以拒绝上载?,java,android,apache-httpcomponents,Java,Android,Apache Httpcomponents,我有一个java(android)应用程序,它使用ApacheHTTP框架(android附带)运行HTTP服务器 在我的句柄(HttpRequest-req、HttpResponse-resp、HttpContext-ctx)方法中,我执行一些逻辑来决定是否接受PUT请求 如果我决定拒绝上传,我可以在实体上执行consumeContent()(或者甚至执行getContent().close())但在客户端,我仍然看到上传继续 我很想节省带宽并关闭套接字,但我不知道如何从handle()方法内
句柄(HttpRequest-req、HttpResponse-resp、HttpContext-ctx)
方法中,我执行一些逻辑来决定是否接受PUT请求
如果我决定拒绝上传,我可以在实体上执行consumeContent()
(或者甚至执行getContent().close()
)但在客户端,我仍然看到上传继续
我很想节省带宽并关闭套接字,但我不知道如何从handle()方法内部访问套接字。解决此问题的方法是抛出异常,这将导致将HTTP错误消息发送回客户端并关闭服务器端套接字。然后我被迫禁用Apache客户端重试。幸运的是,这可以通过setHttpRequestRetryHandler(新的DefaultHttpRequestRetryHandler(0,false))实现;