android 如何用httpclient发请求和利用httphead头信息给服务器

来源:互联网 发布:windows xp msdn 下载 编辑:程序博客网 时间:2024/05/01 09:01
// 公共post类
public String HttpClientPost(String path, String str,String port, Context ctx)
throws Exception {
HttpClient httpClient = new DefaultHttpClient();

HttpPost request = new HttpPost(path);

// 设置请求实体

//得到键值对进行保存数

List<NameValuePair> parameters = new ArrayList<NameValuePair>();据
NameValuePair nvp = new BasicNameValuePair("MsgId", port);
NameValuePair nvp1 = new BasicNameValuePair("MsgBody", str);
parameters.add(nvp);
parameters.add(nvp1);
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(parameters,
"UTF-8");
request.setEntity(entity);

//设置http头信息
request.setHeader("Version", mDataVersion);
request.setHeader("Token", mLoginToken);
int statusCode = 0;
HttpResponse response = httpClient.execute(request);
statusCode = response.getStatusLine().getStatusCode();
if (statusCode == HttpStatus.SC_OK) {

responseJson = EntityUtils.toString(response.getEntity());

Header[] head = response.getAllHeaders();
Header h = response.getLastHeader("SyncFlag");
Header headers[] = response.getAllHeaders();

int i = 0;
String st = "";
Httphead hp = new Httphead();
while (i < headers.length) {
SharedPreferences remdpassword = ctx.getSharedPreferences(
"httphead", Activity.MODE_PRIVATE);

SharedPreferences.Editor edit = remdpassword.edit();

SharedPreferences remdname = ctx.getSharedPreferences(
"UserInfomation", Activity.MODE_PRIVATE);
final int muserId = remdname.getInt("muserId", 0);
Gson gs = new Gson();

if (headers[i].getName().equalsIgnoreCase("ErrorCode")) {
hp.setSyncFlag(headers[i].getValue());
edit.putString("ErrorCode", headers[i].getValue());
Log.i("i", "ErrorCode" + headers[i].getValue());

}

if (headers[i].getName().equalsIgnoreCase("Version")) {
Log.i("i", "DataVersion" + headers[i].getValue());
if (responseJson != null) {
try {
dv = new DBMgeVersion(ctx);
Versioninfo vi = new Versioninfo();
vi.setUserid(muserId);
vi.setVersion(headers[i].getValue());
int num = dv.updateVersion(vi);
if (num == 0) {
dv.addVersion(vi);
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}

}
edit.commit();
i++;

}
if (responseJson != null) {
responseJson = responseJson.replaceAll("&quot;", "\"");
}

return responseJson;
}
return null;
}
0 0