jjzjj

DefaultHTTPClient

全部标签

java - Apache HttpClient TCP Keep-Alive(套接字保活)

我的http请求服务器处理时间过长(大约5分钟)。因为连接闲置了5分钟,所以代理服务器关闭了连接。我正在尝试在ApacheDefaultHttpClient中使用TCPKeep-Alive使连接长时间处于Activity状态(不要将TCPKeep-Alive与发送响应后不会关闭连接的HTTPKeep-Alive混淆)。Apachehttp核心具有以下参数SO_KEEPALIVE:http://hc.apache.org/httpcomponents-core-ga/httpcore/apidocs/org/apache/http/params/CoreConnectionPNames.

java - 为什么 DefaultHttpClient 通过半关闭套接字发送数据?

我在Android(2.3.x)上使用DefaultHttpClient和ThreadSafeClientConnManager将HTTP请求发送到我的REST服务器(嵌入式Jetty)。在约200秒的空闲时间后,服务器使用[FIN]关闭TCP连接。Android客户端以[ACK]响应。这应该并且确实使套接字处于半关闭状态(服务器仍在监听,但无法发送数据)。我希望当客户端再次尝试使用该连接时(通过HttpClient.execute),DefaultHttpClient会检测到半关闭状态,关闭套接字客户端(因此发送它的[FIN/ACK]来完成关闭),并为请求打开一个新连接。但是,有问题

android - Android 上 DefaultHttpClient 中连接和套接字超时的默认值是什么?

在Android2.1/2.2上,我使用AndroidSDK中的DefaultHttpClient。Apache在他们的文档中说有2个超时:CoreConnectionPNames.SO_TIMEOUT='http.socket.timeout':以毫秒为单位定义套接字超时(SO_TIMEOUT),即等待数据的超时时间,或者换句话说,最大值两个连续数据包之间的周期不活动)。超时值为零被解释为无限超时。此参数需要java.lang.Integer类型的值。如果不设置该参数,读操作不会超时(无限超时)。CoreConnectionPNames.CONNECTION_TIMEOUT='htt

android - Android 上 DefaultHttpClient 中连接和套接字超时的默认值是什么?

在Android2.1/2.2上,我使用AndroidSDK中的DefaultHttpClient。Apache在他们的文档中说有2个超时:CoreConnectionPNames.SO_TIMEOUT='http.socket.timeout':以毫秒为单位定义套接字超时(SO_TIMEOUT),即等待数据的超时时间,或者换句话说,最大值两个连续数据包之间的周期不活动)。超时值为零被解释为无限超时。此参数需要java.lang.Integer类型的值。如果不设置该参数,读操作不会超时(无限超时)。CoreConnectionPNames.CONNECTION_TIMEOUT='htt

java - AndroidHttpClient 和 DefaultHttpClient

这两者之间有很大区别吗?最好使用哪一个? 最佳答案 基于Android源码:https://github.com/CyanogenMod/android_frameworks_base/blob/gingerbread/core/java/android/net/http/AndroidHttpClient.java#L106AndroidHttpClient设置为进行以下额外设置:关闭过时检查,因为连接可能一直中断。设置ConnectionTimeout和SoTimeout(20或60秒)关闭重定向。为SSL套接字使用sessio

java - AndroidHttpClient 和 DefaultHttpClient

这两者之间有很大区别吗?最好使用哪一个? 最佳答案 基于Android源码:https://github.com/CyanogenMod/android_frameworks_base/blob/gingerbread/core/java/android/net/http/AndroidHttpClient.java#L106AndroidHttpClient设置为进行以下额外设置:关闭过时检查,因为连接可能一直中断。设置ConnectionTimeout和SoTimeout(20或60秒)关闭重定向。为SSL套接字使用sessio

java - 使用 tth DefaultHTTPClient 时捕获 404 和 500 错误

我在Android中使用DefaultHTTPClient来获取页面。我想捕获服务器返回的500和404错误,但我得到的只是一个java.io.IOException。我如何专门捕获这两个错误?这是我的代码:publicStringdoGet(StringstrUrl,ListlstParams)throwsException{IntegerintTry=0;while(intTry 最佳答案 你需要获取statusCodeHttpResponseresResponse=dhcClient.execute(htpGet);Statu

android - 如何在 Android 上的 DefaultHttpClient 中检查缓存

我的Android应用程序需要缓存来自使用DefaultHttpClient的Web服务调用的响应文本。缓存应该在Http响应header中设置的到期时间之前有效。我发现了类似的问题,但他们提示DefaultHttpClient正在缓存他们的响应。有趣的是我需要它但无法工作。或者有建议的解决方案是基于文件的。DoesAndroidkeepstheimagesdownloadedfromHTTPincache?howtodoimagecachinginandroid我编写了一个示例应用程序,它在单击按钮时请求url并打印响应状态和header。DefaultHttpClientclien

Android 忽略 DefaultHttpClient 超时参数

我遇到了Android上DefaultHttpClient的超时问题。我正在尝试使用以下代码设置超时:HttpClientclient=newDefaultHttpClient();HttpParamshttpParameters=client.getParams();HttpConnectionParams.setConnectionTimeout(httpParameters,4000);HttpConnectionParams.setSoTimeout(httpParameters,4000);但是如果设备连接到没有互联网连接的网络,则永远不会触发超时,并且http请求的执行永远

java - 我可以在 Android 中为 DefaultHttpClient 设置 getaddrinfo 超时吗?

在Android应用程序中,我正在尝试测试用户是否具有有效的互联网连接。如果你有兴趣,前面的问题有一些背景DetectinglimitednetworkconnectivityinAndroid?代码基本上是这样的:try{HttpParamsmyParams=newBasicHttpParams();HttpConnectionParams.setConnectionTimeout(myParams,10000);HttpConnectionParams.setSoTimeout(myParams,10000);httpClient=newDefaultHttpClient(myPa