发送httpPost请求时,内存溢出。求大神指教。
本人写的一个发送http请求的类,Android端在使用时new UrlEncodedFormEntity(nvps, "UTF-8"));这句内存溢出outofmemory。
使用场景是这样的:Android端相当于是有个表单,会同时提交很多张图片,每张图片都是处理成很长的字符串之后,放在List<NameValuePair> nvps里面作为参数提交给服务端。tomcat的maxPostSize也设置为了0(无限制)。
代码如下,求大神指点。
public static String httpRequest(String url, List<NameValuePair> nvps) {
String respCode = null;
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
try {
httpPost.setEntity(new UrlEncodedFormEntity(nvps, "UTF-8"));
HttpResponse resp = httpclient.execute(httpPost);
HttpEntity entity = resp.getEntity();
if (resp.getStatusLine().getStatusCode() == 200) {
respCode = EntityUtils.toString(entity);
} else {
respCode = "1000";
}
} catch (Exception e) {
respCode = "1000";
e.printStackTrace();
} finally {
httpPost.releaseConnection();
}
return respCode;
}
虽然问题是出在Android端,但是代码是复制的java服务端的(管理员手下留情勿删帖啊^_^)。java写的web提交表单啥的也都是用的这段代码,目前还未出现这样的问题。不过还未测试图片过多的情况。不知道是这个方法有问题,还是Android端用的时候出了问题。恳请大神指点迷津,不胜感激!
使用场景是这样的:Android端相当于是有个表单,会同时提交很多张图片,每张图片都是处理成很长的字符串之后,放在List<NameValuePair> nvps里面作为参数提交给服务端。tomcat的maxPostSize也设置为了0(无限制)。
代码如下,求大神指点。
public static String httpRequest(String url, List<NameValuePair> nvps) {
String respCode = null;
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
try {
httpPost.setEntity(new UrlEncodedFormEntity(nvps, "UTF-8"));
HttpResponse resp = httpclient.execute(httpPost);
HttpEntity entity = resp.getEntity();
if (resp.getStatusLine().getStatusCode() == 200) {
respCode = EntityUtils.toString(entity);
} else {
respCode = "1000";
}
} catch (Exception e) {
respCode = "1000";
e.printStackTrace();
} finally {
httpPost.releaseConnection();
}
return respCode;
}
虽然问题是出在Android端,但是代码是复制的java服务端的(管理员手下留情勿删帖啊^_^)。java写的web提交表单啥的也都是用的这段代码,目前还未出现这样的问题。不过还未测试图片过多的情况。不知道是这个方法有问题,还是Android端用的时候出了问题。恳请大神指点迷津,不胜感激!
...全文
相关推荐
java发送httpPost请求实现
用java编写了http Post的请求代码,通过发送请求的 URL,获取远程资源的响应结果,入参为json字符串。使用到httpPost,CloseableHttpClient
C#发送HttpPost请求来调用WebService的方法
在C#编程中,发送HttpPost请求来调用WebService是一种常见的数据交互方式,特别是在需要与远程服务进行异步通信或者处理复杂数据时。
java代码发送JSON格式的httpPOST请求
使用`HttpURLConnection`发送POST请求在Java中,`HttpURLConnection`类是发送HTTP请求最基础且直接的方式。
httppost请求实例
总结来说,"httppost请求实例"的压缩包提供了一个Java实现HttpPost请求的实例,可以帮助开发者学习和理解如何在Java中发送HTTP POST请求,以及如何处理响应。
C#发送HttpPost请求调用WebService
本文主要介绍了如何使用C#发送HttpPost请求来调用WebService,包括三种调用Webservice的方式:通过浏览器直接访问URL、HTML表单提交以及C#代码实现HttpPost请求。


