本文共 1298 字,大约阅读时间需要 4 分钟。
在Android应用中使用OkHttp时,正确设置User-Agent至关重要。以下是解决问题的详细步骤:
选择合适的获取方法:
使用try-catch结构:
private static String getUserAgent() { String userAgent = ""; try { userAgent = WebSettings.getDefaultUserAgent(context); } catch (Exception e) { userAgent = System.getProperty("http.agent"); } // 处理字符转义 return convertToEscapedUnicode(userAgent);} private static String convertToEscapedUnicode(String input) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < input.length(); i++) { char c = input.charAt(i); if (c <= '\u001f' || c >= '\u007f') { sb.append(String.format("\\u%04x", (int) c)); } else { sb.append(c); } } return sb.toString();} Request request = new Request.Builder() .url(url) .removeHeader("User-Agent") .addHeader("User-Agent", getUserAgent()) .build(); 在不同设备上测试:
检查请求头:
通过以上步骤,可以有效地获取和设置符合要求的User-Agent,避免OkHttp异常,并确保应用在不同设备上都能正常运行。
转载地址:http://rpdfz.baihongyu.com/