前段时间做项目时,通过http请求为了让服务端识别请求的客服端是唯一的,要求在http请求的头部添加Cookie,并以mac地址作为唯一标识
添加Cookie的Http请求,这里以GET请求为例
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(url);
//在http请求头部添加Cookie标识
httpGet.setHeader("Cookie",
"MobileID000001="+ToolUtil.getGateWay(MovieBarApplication.getContext()));
HttpResponse httpResponse;
try {
httpResponse = httpClient.execute(httpGet);
InputStream is = httpResponse.getEntity().getContent();
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(is, "GBK"));
String result = "";
String line = "";
while (null != (line = bufferedReader.readLine()))
{
result += line;
}
return result;
} catch (ClientProtocolException e) {
e.printStackTrace();
Log.i("Http Exception", "MalformedURLException: " + e.getMessage());
return null;
} catch (IOException e) {
e.printStackTrace();
Log.i("Http Exception", "IOException: " + e.getMessage());
return null;
}
其中的ToolUtil.getGateWay(MovieBarApplication.getContext())是为了获取mac地址
/**
* 获取默认网关
*
* @param context
* @return
*/
public static String getGateWay(Context context) {
WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
WifiInfo info = wifi.getConnectionInfo();
return info.getMacAddress();
}