- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有这个静态函数,它基本上连接到网页,发送发布数据并返回收到的响应(JSON 对象)
我遇到的问题是,无论我设置什么超时,它通常只在尝试 1 秒时给出超时,而超时是 6 秒,这是不应该发生的。
public static String makeRequest(String path, String info) throws Exception
{
HttpParams httpParameters = new BasicHttpParams();
int timeoutConnection = 6000;
HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection);
int timeoutSocket = 6000;
HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);
DefaultHttpClient httpclient = new DefaultHttpClient(httpParameters);
HttpPost httpost = new HttpPost(path);
StringEntity jsonobj = new StringEntity(info);
httpost.setEntity(jsonobj);
httpost.setHeader("Accept", "application/json");
httpost.setHeader("Content-type", "application/json");
ResponseHandler responseHandler = new BasicResponseHandler();
String response = httpclient.execute(httpost, responseHandler);
return response;
现在我已经看到了一些类似的问题,但我找不到可以帮助我的答案。有人说这是因为它不是线程安全的,但是,我不会同时进行多个调用,它都是按顺序进行的。问题甚至在第一次尝试时发生,由于这个原因不应该发生,因为还没有多个连接/httpposts,更不用说来自不同的线程了。
不过最近确实经常发生,有时几天不发生,或者那几天才发生。
我试着查看 AndroidHttpClient,但它似乎不支持 HttpPost,所以这也没有用(或者我对此有误?)
path和info的数据都是正确的,测试过了。我的服务器也没有问题。
有人说它可能是你的网络,但我今天测试了 3 个 wifi 网络。奇怪的是,在我的移动提供商的互联网连接上,它没有或几乎没有发生。
我在一个答案中读到,这可能是因为 ISP 更改了 header 信息。我曾尝试为用户代理使用不同的值,但这也没有用。
我希望有人能提供帮助,对此我将不胜感激,因为这种情况不断发生让我感到非常沮丧。
最佳答案
如果 TCP 在超时期限之前检测到连接拒绝(即传入的 RST),则失败。在这种情况下等待超时是没有意义的,并且可以预料重试只会以同样的方式再次失败。超时是针对没有响应的情况。
关于java - DefaultHttpClient 超时设置为 10 秒但只需要 1 秒就超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10568113/
我尝试在 Android Java 环境中检索对 URL 的 POST 响应: 这是我的代码: try{ DefaultHttpClient
我正在使用 DefaultHttpClient 的 singleton 实例与 PoolingClientConnectionManager 一起执行大量(每秒多次)HTTP 操作以多线程的方式。我的
我有一段使用 DefaultHttpClient 的代码,它发出登录网站的发布请求。 但是随后的请求似乎忘记了我已登录的事实。 如何打开我正在使用的 DefaultHttpClient 的自动 coo
我想将 DefaultHttpClient 转换为单例类 public class HttpClient { private static final String TAG = "&&----HT
我有一个 Apache 提供的 DefaultHttpClient,我创建并执行不同的请求。 问题是与服务器的连接可能会建立相当长的时间,并且我的程序的用户可能想要取消此过程。 是否有任何有效的方法可
我对 DefaultHttpClient 中的超时如何工作感到有点困惑。 我正在使用这段代码: private DefaultHttpClient createHttpClient() {
我在我当前的应用程序中使用 DefaultHttpClient。 我读过这篇文章,其中指出 DefaultHttpClient 已弃用:http://developer.android.com/ref
我想做什么 大家好,我正在尝试创建一个应用程序,我可以在其中查看客户给我的订单。为此,我在我的服务器上创建了一个接口(interface),我可以在该接口(interface)上发送 post/get
我的问题是,如果我没有指定,使用 DefaultHttpClient 发出的请求的默认超时是多少。 如果没有这样的代码 HttpParams my_httpParams = new BasicHttp
我正在尝试使用 Android 的 DefaultHTTPClient 获取页面并使用 Jsoup 解析它。我收到一个非常奇怪的响应,其中 中的所有 HTML和标签被编码成某种东西。
我想将带有两个参数的 POST 请求从 JsonObject 发送到 python API,该 API 响应 True 或 False,但它根本不起作用... 我的代码: // Create a ne
我正在使用 DefaultHttpClient 将数据发送到网络...使用以下代码块发送数据: nameValuePairs.add(new BasicNameValuePair(name, valu
这是我的 AsyncTask 类: public class JSONParser extends AsyncTask { public interface MyCallbackInterfac
我是 servlet 应用程序的新手,正在尝试学习该主题。在途中,我编写了一个名为 FormWebServlet 的 servlet 类,它使用 org.apache.http.impl.client
尝试了几乎所有方法,但没有成功使 DefaultHttpClient() 使用过期的 SSL 证书。有没有人有一些例子或可以提供帮助的东西。 Android SDK 8 最佳答案 您可以使用自定义 T
我遇到了 Android 上 DefaultHttpClient 的超时问题。我正在尝试使用以下代码设置超时: HttpClient client = new DefaultHttpClient();
在我遇到很多抢先式身份验证问题之后,我终于让它工作了。现在下一个问题。我想用它获取一个文件,但我不知道如何获取。我认为文件数据可能在变量响应中,但事实并非如此。任何想法这可能如何工作?我尝试了好几天都
我如何将字符串数据 (JSONObject.toString()) 发送到 url。我想在 util 类中编写一个静态方法来执行此操作。我希望方法签名如下 public static String p
我正在做一个项目,我需要调用我的服务,我的服务将以 JSON 格式返回数据。而且我不需要将这个 JSON 响应序列化到任何 POJO,我只需要将数据作为 String 取回。这个应用程序对性能非常关键
在我的代码中有这个 Log.d("WFlog (executeRequest)", request.toString()) ; httpResponse = clien
我是一名优秀的程序员,十分优秀!