package cn.shangyu.gdxzExpert.utils; import static cn.shangyu.gdxzExpert.utils.UIUtils.getContext; import android.app.Activity; import android.content.Context; import android.util.Log; import android.view.Gravity; import android.view.View; import android.widget.TextView; import com.google.gson.Gson; import com.hjq.window.EasyWindow; import com.lidroid.xutils.exception.HttpException; import com.lidroid.xutils.http.ResponseInfo; import com.lidroid.xutils.http.callback.RequestCallBack; import com.lidroid.xutils.http.client.HttpRequest.HttpMethod; import org.json.JSONException; import org.json.JSONObject; import java.io.InputStream; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; import java.util.HashMap; import java.util.Map; import cn.shangyu.gdxzExpert.R; import cn.shangyu.gdxzExpert.bean.TimestampBean; import cn.shangyu.gdxzExpert.http.HttpHelper; import cn.shangyu.gdxzExpert.http.OnCallBackFromNet; import cn.shangyu.gdxzExpert.netease.config.LogoutHelper; /** * @author 作者 wcx * @version 创建时间:2018-7-11 上午11:22:00 * 类说明 */ public class HttpMD5SendInfoUtil { /** * 签到 * */ public static void sendJsonPostParamtoNetSignMD5(final String postUrl,final Map param,Context mContext) { HttpHelper.loadData(HttpMethod.GET, Url.getTimestamp,null, new RequestCallBack() { @Override public void onSuccess(ResponseInfo info) { // SharePrefUtil.saveString(mActivity, // Url.getExpertroll, // info.result); String uuid = SharePrefUtil.getString(getContext(), Constant.uuid, ""); param.put("user_uuid", uuid); TimestampBean bean = GsonTools.fromGsonToBean(info.result, TimestampBean.class); param.put("timestamp", bean.getTimestamp()); param.put("client_type", "A"); param.put("version", UpdateVersionUtils.getVersionName()); new Thread() { public void run() { String encoding = "UTF-8"; Gson gson = new Gson(); String params = gson.toJson(param); byte[] data; try { String sign = SignUtil.getSign(param); data = params.getBytes(encoding); URL url = new URL(postUrl); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); conn.setDoOutput(true); conn.setRequestProperty("Content-Type","application/json"); conn.setRequestProperty("sign",sign); conn.setRequestProperty("Content-Length",String.valueOf(data.length)); conn.setConnectTimeout(5 * 1000); OutputStream outStream = conn.getOutputStream(); outStream.write(data); outStream.flush(); outStream.close(); int ssss=conn.getResponseCode() ; if (conn.getResponseCode() == 200) { InputStream inStream = conn.getInputStream(); String result = new String(StreamTool.readInputStream(inStream), "UTF-8"); String string = new String(result); if (UIUtils.interceptCode38000(getContext(), string)) { return; } JSONObject jsonObject = new JSONObject(string); String optString = jsonObject.optString("code"); String message = jsonObject.optString("message"); if ("200".equals(optString)) { Constant.isRefreshpoint = true;//个人中心界面刷新 ToastUtil.showMessage(message); } } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); // mShowDialog.dismiss(); // closeProgressDialog(); } finally { // if (!top_right_text.isClickable()) { // top_right_text.setClickable(true); // } } } }.start(); // Log.i("TAG", "result = "+info.result); } @Override public void onFailure(HttpException arg0, String arg1) { // ToastUtil.showToast("请求失败,请重试"); } }); } /** * * 无需结果请求,1.指南下载数量 2.增加视频阅读数量 * */ public static void sendJsonPostParamNoResultMD5(final String postUrl,final Map param) { HttpHelper.loadData(HttpMethod.GET, Url.getTimestamp,null, new RequestCallBack() { @Override public void onSuccess(ResponseInfo info) { // SharePrefUtil.saveString(mActivity, // Url.getExpertroll, // info.result); String uuid = SharePrefUtil.getString(getContext(), Constant.uuid, ""); if(StringUtil.isEmpty(uuid)) { uuid= LogoutHelper.addUMTokenuuid; } if(CommonUtil.BigModule()) { param.put("app_type", "1"); } param.put("user_uuid", uuid); TimestampBean bean = GsonTools.fromGsonToBean(info.result, TimestampBean.class); param.put("timestamp", bean.getTimestamp()); param.put("client_type", "A"); param.put("version", UpdateVersionUtils.getVersionName()); new Thread() { public void run() { String encoding = "UTF-8"; Gson gson = new Gson(); String params = gson.toJson(param); byte[] data; try { String sign = SignUtil.getSign(param); LogUtil.i("params = "+params.toString()); data = params.getBytes(encoding); URL url = new URL(postUrl); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); conn.setDoOutput(true); conn.setRequestProperty("Content-Type","application/json"); conn.setRequestProperty("sign",sign); conn.setRequestProperty("Content-Length",String.valueOf(data.length)); conn.setConnectTimeout(5 * 1000); OutputStream outStream = conn.getOutputStream(); outStream.write(data); outStream.flush(); outStream.close(); int ssss=conn.getResponseCode() ; if (ssss == 200) { InputStream inStream = conn.getInputStream(); String result = new String(StreamTool.readInputStream(inStream), "UTF-8"); String string = new String(result); if (UIUtils.interceptCode38000(getContext(), string)) { return; } LogUtil.i("result = "+result); JSONObject jsonObject = new JSONObject(string); String optString = jsonObject.optString("code"); String message = jsonObject.optString("message"); if ("200".equals(optString)) { LogUtil.e("请求成功"); } }else { LogUtil.e("Code = "+ssss); } } catch (Exception e) { LogUtil.e("提交失败,请重试 = "+e.getMessage()); // ToastUtil.showMessage("提交失败,请重试"); // TODO Auto-generated catch block e.printStackTrace(); // mShowDialog.dismiss(); // closeProgressDialog(); } finally { // if (!top_right_text.isClickable()) { // top_right_text.setClickable(true); // } } } }.start(); // Log.i("TAG", "result = "+info.result); } @Override public void onFailure(HttpException arg0, String arg1) { // ToastUtil.showToast("请求失败,请重试"); } }); } /** * 获取token */ public static void sendJsonPostParamTokenMD5s(final OnCallBackFromNet callBack) { HttpHelper.loadData(HttpMethod.GET, Url.getTimestamp,null, new RequestCallBack() { @Override public void onSuccess(ResponseInfo info) { Map param=new HashMap<>(); String uuid = SharePrefUtil.getString(getContext(), Constant.uuid, ""); if(StringUtil.isEmpty(uuid)) { uuid= LogoutHelper.addUMTokenuuid; } if(CommonUtil.BigModule()) { param.put("app_type", "1"); } param.put("user_uuid", uuid); TimestampBean bean = GsonTools.fromGsonToBean(info.result, TimestampBean.class); param.put("timestamp", bean.getTimestamp()); param.put("client_type", "A"); param.put("version", UpdateVersionUtils.getVersionName()); new Thread() { public void run() { String encoding = "UTF-8"; Gson gson = new Gson(); String params = gson.toJson(param); byte[] data; try { String sign = SignUtil.getSign(param); LogUtil.i("params = "+params.toString()); data = params.getBytes(encoding); URL url = new URL(Url.getRealyWorldToken); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); conn.setDoOutput(true); conn.setRequestProperty("Content-Type","application/json"); conn.setRequestProperty("sign",sign); conn.setRequestProperty("Content-Length",String.valueOf(data.length)); conn.setConnectTimeout(5 * 1000); OutputStream outStream = conn.getOutputStream(); outStream.write(data); outStream.flush(); outStream.close(); int ssss=conn.getResponseCode() ; if (ssss == 200) { InputStream inStream = conn.getInputStream(); String result = new String(StreamTool.readInputStream(inStream), "UTF-8"); String string = new String(result); if (UIUtils.interceptCode38000(getContext(), string)) { return; } LogUtil.i("result = "+result); JSONObject jsonObject = new JSONObject(string); String optString = jsonObject.optString("code"); String message = jsonObject.optString("message"); // Log.d("okhttp","result = "+result); Log.d("okhttp","getRealyWorldToken "+result); if ("200".equals(optString)) { LogUtil.e("请求成功"); callBack.onCallbackFromThread(string); } else { callBack.onCallbackFromThread(string); } }else { LogUtil.e("Code = "+ssss); } } catch (Exception e) { LogUtil.e("提交失败,请重试 = "+e.getMessage()); // TODO Auto-generated catch block e.printStackTrace(); } } }.start(); } @Override public void onFailure(HttpException arg0, String arg1) { // ToastUtil.showToast("请求失败,请重试"); } }); } public static void sendHttp(final String postUrl, Map params, final OnCallBackFromNet callBack) { HttpHelper.loadData(HttpMethod.GET, Url.getTimestamp,null, new RequestCallBack() { @Override public void onSuccess(ResponseInfo info) { Map param=new HashMap<>(); if(params != null){ param.putAll(params); } String uuid = SharePrefUtil.getString(getContext(), Constant.uuid, ""); if(StringUtil.isEmpty(uuid)) { uuid= LogoutHelper.addUMTokenuuid; } param.put("user_uuid", uuid); TimestampBean bean = GsonTools.fromGsonToBean(info.result, TimestampBean.class); param.put("timestamp", bean.getTimestamp()); param.put("client_type", "A"); param.put("version", UpdateVersionUtils.getVersionName()); new Thread() { public void run() { String encoding = "UTF-8"; Gson gson = new Gson(); String params = gson.toJson(param); byte[] data; try { String sign = SignUtil.getSign(param); LogUtil.i("params = "+params.toString()); data = params.getBytes(encoding); URL url = new URL(postUrl); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); conn.setDoOutput(true); conn.setRequestProperty("Content-Type","application/json"); conn.setRequestProperty("sign",sign); conn.setRequestProperty("Content-Length",String.valueOf(data.length)); conn.setConnectTimeout(5 * 1000); OutputStream outStream = conn.getOutputStream(); outStream.write(data); outStream.flush(); outStream.close(); int ssss=conn.getResponseCode() ; if (ssss == 200) { InputStream inStream = conn.getInputStream(); String result = new String(StreamTool.readInputStream(inStream), "UTF-8"); String string = new String(result); if (UIUtils.interceptCode38000(getContext(), string)) { return; } LogUtil.i("result = "+result); JSONObject jsonObject = new JSONObject(string); String optString = jsonObject.optString("code"); String message = jsonObject.optString("message"); // Log.d("okhttp","result = "+result); Log.d("okhttp","getRealyWorldToken "+result); if ("200".equals(optString)) { LogUtil.e("请求成功"); callBack.onCallbackFromThread(string); } else{ callBack.onCallbackFromThread(string); } }else { LogUtil.e("Code = "+ssss); } } catch (Exception e) { LogUtil.e("提交失败,请重试 = "+e.getMessage()); // TODO Auto-generated catch block e.printStackTrace(); } } }.start(); } @Override public void onFailure(HttpException arg0, String arg1) { // ToastUtil.showToast("请求失败,请重试"); } }); } public static void sendJsonPostParamTokenMD5(Context context,final OnCallBackFromNet callBack){ EasyWindow.with((Activity) context).setGravity(Gravity.CENTER) .setContentView(R.layout.float_cent_dialogqs).setBackgroundDimAmount(0.5f) .setText(R.id.tv_infotitle, "温馨提示") .setText(R.id.tv_tishi, "查询失败,请点击重试再次查询") .setVisibility(R.id.r_b, View.VISIBLE) .setText(android.R.id.message, "确定") .setOutsideTouchable(false) .setOnClickListener(android.R.id.message, new EasyWindow.OnClickListener() { @Override public void onClick(EasyWindow window, TextView view) { window.cancel(); sendJsonPostParamTokenMD5s(callBack); } }) .setOnClickListener(R.id.btn_cancel, new EasyWindow.OnClickListener() { @Override public void onClick(EasyWindow window, TextView view) { window.cancel(); } }).show(); } public static int hasrealtoken(String s) { try { JSONObject jsonObject=new JSONObject(s); if("200".equals(jsonObject.optString("code"))) { return 1; } else if( "30007".equals(jsonObject.optString("code"))||"30012".equals(jsonObject.optString("code"))) { SharePrefUtil.saveString(getContext(),"x_access_token",""); return 0; } else if( "30014".equals(jsonObject.optString("code"))||"30020".equals(jsonObject.optString("code"))) { SharePrefUtil.saveString(getContext(),"x_access_token",""); return -1; } else { return -2; } } catch (JSONException e) { e.printStackTrace(); } return 1; } }