|
@ -53,7 +53,9 @@ public class NetworkDebugLogger { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
Log.e(TAG, " URL:"); |
|
|
Log.e(TAG, " URL:"); |
|
|
Log.e(TAG, url); |
|
|
|
|
|
|
|
|
// 将POST请求的data参数转换为GET请求参数格式并拼接在URL后面 |
|
|
|
|
|
String finalUrl = appendPostDataToUrl(url, requestData, request); |
|
|
|
|
|
Log.e(TAG, finalUrl); |
|
|
|
|
|
|
|
|
// 打印响应信息 |
|
|
// 打印响应信息 |
|
|
Log.e(TAG, " 服务端返回:"); |
|
|
Log.e(TAG, " 服务端返回:"); |
|
@ -305,4 +307,58 @@ public class NetworkDebugLogger { |
|
|
// 这里可以动态控制调试开关 |
|
|
// 这里可以动态控制调试开关 |
|
|
// 实际项目中可以通过配置文件或BuildConfig控制 |
|
|
// 实际项目中可以通过配置文件或BuildConfig控制 |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 将POST请求的data参数转换为GET请求参数格式并拼接在URL后面 |
|
|
|
|
|
* @param originalUrl 原始URL |
|
|
|
|
|
* @param requestData 请求数据 |
|
|
|
|
|
* @param request 请求对象 |
|
|
|
|
|
* @return 拼接参数后的URL |
|
|
|
|
|
*/ |
|
|
|
|
|
private static String appendPostDataToUrl(String originalUrl, String requestData, Request request) { |
|
|
|
|
|
try { |
|
|
|
|
|
// 如果是GET请求或者没有请求数据,直接返回原URL |
|
|
|
|
|
if ("GET".equals(request.method()) || requestData == null || requestData.isEmpty() || "{}".equals(requestData)) { |
|
|
|
|
|
return originalUrl; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 解析JSON格式的请求数据 |
|
|
|
|
|
if (requestData.startsWith("{") && requestData.endsWith("}")) { |
|
|
|
|
|
StringBuilder urlBuilder = new StringBuilder(originalUrl); |
|
|
|
|
|
boolean hasQuery = originalUrl.contains("?"); |
|
|
|
|
|
|
|
|
|
|
|
// 移除JSON的花括号 |
|
|
|
|
|
String jsonContent = requestData.substring(1, requestData.length() - 1); |
|
|
|
|
|
|
|
|
|
|
|
// 解析键值对 |
|
|
|
|
|
String[] pairs = jsonContent.split(","); |
|
|
|
|
|
for (String pair : pairs) { |
|
|
|
|
|
String[] keyValue = pair.split(":"); |
|
|
|
|
|
if (keyValue.length == 2) { |
|
|
|
|
|
String key = keyValue[0].trim().replaceAll("\"", ""); |
|
|
|
|
|
String value = keyValue[1].trim().replaceAll("\"", ""); |
|
|
|
|
|
|
|
|
|
|
|
// 添加分隔符 |
|
|
|
|
|
if (hasQuery) { |
|
|
|
|
|
urlBuilder.append("&"); |
|
|
|
|
|
} else { |
|
|
|
|
|
urlBuilder.append("?"); |
|
|
|
|
|
hasQuery = true; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 添加键值对 |
|
|
|
|
|
urlBuilder.append(key).append("=").append(value); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return urlBuilder.toString(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 如果不是标准JSON格式,返回原URL |
|
|
|
|
|
return originalUrl; |
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
|
Log.e(TAG, "拼接URL参数失败: " + e.getMessage()); |
|
|
|
|
|
return originalUrl; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
} |
|
|
} |