android httpurlconnection或者httpclient总是超时,服务器正常,但网络正常,浏览器可以上网
2014-10-08 14:24
656 查看
====================问题描述====================
HttpURLConnection conn = (HttpURLConnection) u.openConnection();
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setConnectTimeout(10000);
conn.setRequestMethod("POST");
conn.setRequestProperty("Response-Type", "json");// 添加消息头
conn.connect();
DataOutputStream out = new DataOutputStream(conn.getOutputStream());
StringBuilder data = new StringBuilder("");
for(int i=0;i<keys.length;i++){
if (values[i] != null && !"".equals(values[i])) {
TBLog.info("key:"+keys[i]+" values:"+values[i]);
data.append(keys[i]).append("=").append(URLEncoder.encode(values[i], "UTF-8")).append("&");
}
}
if(data.length()>0){
data = data.deleteCharAt(data.length()-1);
}
TBLog.info("data : "+data.toString());
out.write(data.toString().getBytes());
out.flush();
out.close();
if(conn.getResponseCode()==200){
InputStream is = conn.getInputStream();
return convertStreamToString(is);
}
====================解决方案1====================
额 这是超时? 应该是连不上吧
你在浏览器里 输入 180.186.31.33:8080试试能打开不
====================解决方案2====================
/**
* 连接超时时间
*/
public final static int CONNECT_TIMEOUT = 10000;
/**
* 读取超时时间
*/
public final static int READ_TIMEOUT = 30000;
ConnManagerParams.setMaxTotalConnections(httpParams,
MAX_TOTAL_CONNECTIONS);
// 设置获取连接的最大等待时间
HttpConnectionParams.setConnectionTimeout(httpParams,
CONNECT_TIMEOUT);
HttpConnectionParams.setSoTimeout(httpParams, READ_TIMEOUT);
把这三个参数设置大写试试
HttpURLConnection conn = (HttpURLConnection) u.openConnection();
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setConnectTimeout(10000);
conn.setRequestMethod("POST");
conn.setRequestProperty("Response-Type", "json");// 添加消息头
conn.connect();
DataOutputStream out = new DataOutputStream(conn.getOutputStream());
StringBuilder data = new StringBuilder("");
for(int i=0;i<keys.length;i++){
if (values[i] != null && !"".equals(values[i])) {
TBLog.info("key:"+keys[i]+" values:"+values[i]);
data.append(keys[i]).append("=").append(URLEncoder.encode(values[i], "UTF-8")).append("&");
}
}
if(data.length()>0){
data = data.deleteCharAt(data.length()-1);
}
TBLog.info("data : "+data.toString());
out.write(data.toString().getBytes());
out.flush();
out.close();
if(conn.getResponseCode()==200){
InputStream is = conn.getInputStream();
return convertStreamToString(is);
}
====================解决方案1====================
额 这是超时? 应该是连不上吧
你在浏览器里 输入 180.186.31.33:8080试试能打开不
====================解决方案2====================
/**
* 连接超时时间
*/
public final static int CONNECT_TIMEOUT = 10000;
/**
* 读取超时时间
*/
public final static int READ_TIMEOUT = 30000;
ConnManagerParams.setMaxTotalConnections(httpParams,
MAX_TOTAL_CONNECTIONS);
// 设置获取连接的最大等待时间
HttpConnectionParams.setConnectionTimeout(httpParams,
CONNECT_TIMEOUT);
HttpConnectionParams.setSoTimeout(httpParams, READ_TIMEOUT);
把这三个参数设置大写试试
相关文章推荐
- android httpurlconnection或者httpclient总是超时,服务器正常,但网络正常,浏览器可以上网
- android httpurlconnection或者httpclient总是超时,服务器正常,但网络正常,浏览器可以上网
- Android网络编程 HttpUrlConnection HttpClient AsyncTask
- Android中使用HttpURLConnection和HttpClient实现GET和POST请求访问网络
- Android中提供的HttpURLConnection和HttpClient接口可以用来开发HTTP程序
- Android之网络访问(一)android 中对apache httpclient及httpurlconnection的选择
- 详细讲解Android的网络通信(HttpUrlConnection和HttpClient)
- Android应用开发网络请求 HttpClient和HttpURLConnection的区别
- Android中网络请求—HttpClient、HttpURLConnection
- Android网络连接之HttpURLConnection和HttpClient
- Android网络连接之HttpURLConnection和HttpClient
- Android通过HttpURLConnection和HttpClient接口实现网络编程
- android重新学_网络3——采用HttpURLConnection提交数据到服务器
- Android网络连接之HttpURLConnection和HttpClient
- Android网络编程之URLConnection和HttpClient访问服务器
- Android通过HttpURLConnection和HttpClient接口实现网络编程
- HTTP基础与Android之(安卓与服务器通信)——使用HttpClient和HttpURLConnection
- android重新学_网络3——采用HttpURLConnection提交数据到服务器
- RxJava + httpURLConnectionde 的简单测试demo,可以拿来处理一般的android访问网络的线程问题
- Android网络连接之HttpURLConnection和HttpClient