package com.yang.easyhttp.utils; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.util.List; import java.util.Map; import okhttp3.Headers; import okhttp3.Request; /** * Created by yangy on 2017/3/14. */ public class EasyHttpUtils { public static Request.Builder appendHeaders(Map<String, String> headers) { Request.Builder requestBuilder = new Request.Builder(); if (headers == null || headers.size() == 0) { return requestBuilder; } Headers.Builder headerBuilder = new Headers.Builder(); for (Map.Entry<String, String> entry : headers.entrySet()) { // String headerValue = URLEncoder.encode(entry.getValue(), "UTF-8"); headerBuilder.add(entry.getKey(), entry.getValue()); } requestBuilder.headers(headerBuilder.build()); return requestBuilder; } public static String createUrlFromParams(String url, Map<String, String> params) { if (params == null || params.size() == 0) { return url; } try { StringBuilder sb = new StringBuilder(); sb.append(url); if (url.indexOf('&') > 0 || url.indexOf('?') > 0) { sb.append("&"); } else { sb.append("?"); } for (Map.Entry<String, String> urlParam : params.entrySet()) { //对参数进行 utf-8 编码,防止头信息传中文 String urlValue = URLEncoder.encode(urlParam.getValue(), "UTF-8"); sb.append(urlParam.getKey()) .append("=") .append(urlValue) .append("&"); } sb.deleteCharAt(sb.length() - 1); return sb.toString(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return url; } }