標籤:android blog http io os ar for sp on
============問題描述============
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總是逾時,伺服器正常,但網路正常,瀏覽器可以上網