/**
* HttpURLConnection post方法, 参数放置在body中
*/
public static String postFromServerByHttpClient(String urlString, BaseHttpBody baseBody) {
// 每次访问前判断用户是否是登陆状态
String result = null;
if (baseBody == null)
return null;
try {
URL url = new URL(urlString);
// 打开连接
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(5000);
conn.setRequestMethod("POST");
// 准备数据
String[] paramsValue = baseBody.getBaseParamsValue();
StringBuilder data = new StringBuilder();
for (int i = 0; i < BaseUrls.BASE_BODY_PARAMS.length; i++) {
if (i < BaseUrls.BASE_BODY_PARAMS.length - 1) {
if (null != paramsValue[i]) {
data.append(BaseUrls.BASE_BODY_PARAMS[i] + "=" + URLEncoder.encode(paramsValue[i], CHARSET) + "&");
} else {
data.append(BaseUrls.BASE_BODY_PARAMS[i] + "=" + paramsValue[i] + "&");
}
} else {
data.append(BaseUrls.BASE_BODY_PARAMS[i] + "=" + paramsValue[i]);
}
}
Log.i(TAG, "urlString:" + urlString);
Log.i(TAG, "data:" + data);
conn.setRequestProperty("Content-Length", data.length() + "");
conn.setRequestProperty("Content-Type", CONTENT_TYPE);// 请求头,必须设置
conn.setDoOutput(true);
OutputStream os = conn.getOutputStream();
os.write(data.toString().getBytes());
int code = conn.getResponseCode();
if (code != 200) {
Log.e(TAG, "postFromServerByHttpClient:连接失败: " + code);
return null;
} else {
InputStream is = conn.getInputStream();
result = StreamTools.readInputStream(is);
}
Log.i(TAG, "服务器返回:" + result);
Log.i(TAG, "result.size = " + result.getBytes().length + "bytes");
} catch (UnsupportedEncodingException e) {
Log.e(TAG, e.getMessage() + "");
} catch (IOException e) {
Log.e(TAG, "连接失败" + e.toString());
}
return result;
}
Android HttpURLConnection post请求
最新推荐文章于 2022-03-25 21:20:38 发布