YYPOST群发软件 发表于 6 天前

AIWROK软件常用OKHTTP方法小结汇集

<h2 id="3705b324" style="margin-top: 21px; margin-bottom: 5px; font-size: 24px; font-family: &quot;Microsoft YaHei&quot;, Tahoma, Helvetica, SimSun, sans-serif; line-height: 32px;"><span class="ne-text">1. 模块概述</span></h2><p id="ue82cb177" class="ne-p" style="font-family: &quot;Lucida Grande&quot;, Geneva, Verdana, Arial; font-size: 12px; min-height: 24px;"><span class="ne-text">OKHTTP工具模块是一个用于在ES5系统安卓JavaScript引擎Rhino环境下发送HTTP请求的工具集。它提供了多种HTTP请求方法,包括GET请求、JSON请求、表单POST请求、文件上传和下载等。每个方法都包含了参数校验、请求构建、响应处理以及异常捕获等逻辑,以确保请求的稳定性和可靠性。</span></p><h2 id="e201951c" style="margin-top: 21px; margin-bottom: 5px; font-size: 24px; font-family: &quot;Microsoft YaHei&quot;, Tahoma, Helvetica, SimSun, sans-serif; line-height: 32px;"><span class="ne-text">2. 主要功能</span></h2><h3 id="3a5e34ed" style="margin-top: 16px; margin-bottom: 5px; font-size: 1em; font-family: &quot;Microsoft YaHei&quot;, Tahoma, Helvetica, SimSun, sans-serif; line-height: 28px;"><span class="ne-text">2.1 GET请求</span></h3><ul class="ne-ul" style="margin-left: 14px; padding-left: 23px; font-family: &quot;Microsoft YaHei&quot;, Tahoma, Helvetica, SimSun, sans-serif;"><li id="udf1a6960" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">功能</span><span class="ne-text">:发送HTTP GET请求到指定URL,并返回响应内容。</span></li><li id="u6759e9b2" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">参数</span><span class="ne-text">:</span></li></ul><ul class="ne-list-wrap" style="margin-left: 14px; padding-left: 23px; font-family: &quot;Microsoft YaHei&quot;, Tahoma, Helvetica, SimSun, sans-serif; list-style: none;"><ul ne-level="1" class="ne-ul" style="margin-left: 14px; padding-left: 23px; list-style-position: initial; list-style-image: initial;"><li id="ue0fa5e7f" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">url</span></code><span class="ne-text">:请求地址。</span></li><li id="u37b02409" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">key</span></code><span class="ne-text">:请求头参数名(可选)。</span></li><li id="u2c901b7d" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">value</span></code><span class="ne-text">:请求头参数值(可选)。</span></li><li id="uc2bb78f1" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">code</span></code><span class="ne-text">:请求编码,默认为'UTF-8'(可选)。</span></li></ul></ul><ul class="ne-ul" style="margin-left: 14px; padding-left: 23px; font-family: &quot;Microsoft YaHei&quot;, Tahoma, Helvetica, SimSun, sans-serif;"><li id="u166ecfc9" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">返回值</span><span class="ne-text">:响应内容或null(错误时)。</span></li></ul><h3 id="37f3b52a" style="margin-top: 16px; margin-bottom: 5px; font-size: 1em; font-family: &quot;Microsoft YaHei&quot;, Tahoma, Helvetica, SimSun, sans-serif; line-height: 28px;"><span class="ne-text">2.2 JSON请求</span></h3><ul class="ne-ul" style="margin-left: 14px; padding-left: 23px; font-family: &quot;Microsoft YaHei&quot;, Tahoma, Helvetica, SimSun, sans-serif;"><li id="u562c934a" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">功能</span><span class="ne-text">:发送JSON格式的POST请求到指定URL,并返回响应内容。</span></li><li id="u0bed9d7a" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">参数</span><span class="ne-text">:</span></li></ul><ul class="ne-list-wrap" style="margin-left: 14px; padding-left: 23px; font-family: &quot;Microsoft YaHei&quot;, Tahoma, Helvetica, SimSun, sans-serif; list-style: none;"><ul ne-level="1" class="ne-ul" style="margin-left: 14px; padding-left: 23px; list-style-position: initial; list-style-image: initial;"><li id="u72b1309b" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">url</span></code><span class="ne-text">:请求地址。</span></li><li id="ue191030c" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">data</span></code><span class="ne-text">:JSON格式的请求数据。</span></li><li id="u444b33d5" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">key</span></code><span class="ne-text">:请求头参数名(可选)。</span></li><li id="ue4921f69" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">value</span></code><span class="ne-text">:请求头参数值(可选)。</span></li><li id="u3365f092" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">code</span></code><span class="ne-text">:请求编码,默认为'UTF-8'(可选)。</span></li></ul></ul><ul class="ne-ul" style="margin-left: 14px; padding-left: 23px; font-family: &quot;Microsoft YaHei&quot;, Tahoma, Helvetica, SimSun, sans-serif;"><li id="ud0c2f8c7" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">返回值</span><span class="ne-text">:响应内容或null(错误时)。</span></li></ul><h3 id="3c5731b0" style="margin-top: 16px; margin-bottom: 5px; font-size: 1em; font-family: &quot;Microsoft YaHei&quot;, Tahoma, Helvetica, SimSun, sans-serif; line-height: 28px;"><span class="ne-text">2.3 表单POST请求</span></h3><ul class="ne-ul" style="margin-left: 14px; padding-left: 23px; font-family: &quot;Microsoft YaHei&quot;, Tahoma, Helvetica, SimSun, sans-serif;"><li id="ue24c7cf2" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">功能</span><span class="ne-text">:发送表单数据的POST请求到指定URL,并返回响应内容。</span></li><li id="u2e6835ae" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">参数</span><span class="ne-text">:</span></li></ul><ul class="ne-list-wrap" style="margin-left: 14px; padding-left: 23px; font-family: &quot;Microsoft YaHei&quot;, Tahoma, Helvetica, SimSun, sans-serif; list-style: none;"><ul ne-level="1" class="ne-ul" style="margin-left: 14px; padding-left: 23px; list-style-position: initial; list-style-image: initial;"><li id="u38cb10da" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">url</span></code><span class="ne-text">:请求地址。</span></li><li id="u46b3bcb4" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">map</span></code><span class="ne-text">:表单数据,可以是字符串或对象。</span></li><li id="uc3ff5f51" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">key</span></code><span class="ne-text">:请求头参数名(可选)。</span></li><li id="ub3e822ff" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">value</span></code><span class="ne-text">:请求头参数值(可选)。</span></li><li id="u6848c05a" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">code</span></code><span class="ne-text">:请求编码,默认为'UTF-8'(可选)。</span></li></ul></ul><ul class="ne-ul" style="margin-left: 14px; padding-left: 23px; font-family: &quot;Microsoft YaHei&quot;, Tahoma, Helvetica, SimSun, sans-serif;"><li id="u8f7b7609" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">返回值</span><span class="ne-text">:响应内容或null(错误时)。</span></li></ul><h3 id="39f57281" style="margin-top: 16px; margin-bottom: 5px; font-size: 1em; font-family: &quot;Microsoft YaHei&quot;, Tahoma, Helvetica, SimSun, sans-serif; line-height: 28px;"><span class="ne-text">2.4 文件上传</span></h3><ul class="ne-ul" style="margin-left: 14px; padding-left: 23px; font-family: &quot;Microsoft YaHei&quot;, Tahoma, Helvetica, SimSun, sans-serif;"><li id="u62a08b42" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">功能</span><span class="ne-text">:上传文件到指定服务器,并返回响应内容。</span></li><li id="u11e307b3" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">参数</span><span class="ne-text">:</span></li></ul><ul class="ne-list-wrap" style="margin-left: 14px; padding-left: 23px; font-family: &quot;Microsoft YaHei&quot;, Tahoma, Helvetica, SimSun, sans-serif; list-style: none;"><ul ne-level="1" class="ne-ul" style="margin-left: 14px; padding-left: 23px; list-style-position: initial; list-style-image: initial;"><li id="ufc2783c8" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">url</span></code><span class="ne-text">:请求地址。</span></li><li id="ue046ce85" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">parameter</span></code><span class="ne-text">:文件参数名。</span></li><li id="ufe0506af" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">path</span></code><span class="ne-text">:文件路径。</span></li><li id="u71a41886" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">map</span></code><span class="ne-text">:附加表单数据,可以是字符串或对象(可选)。</span></li><li id="uaec3d4c3" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">key</span></code><span class="ne-text">:请求头参数名(可选)。</span></li><li id="u82f5bda7" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">value</span></code><span class="ne-text">:请求头参数值(可选)。</span></li><li id="uaea23808" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">code</span></code><span class="ne-text">:请求编码,默认为'UTF-8'(可选)。</span></li></ul></ul><ul class="ne-ul" style="margin-left: 14px; padding-left: 23px; font-family: &quot;Microsoft YaHei&quot;, Tahoma, Helvetica, SimSun, sans-serif;"><li id="u4bc89e38" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">返回值</span><span class="ne-text">:响应内容或null(错误时)。</span></li></ul><h3 id="e737173a" style="margin-top: 16px; margin-bottom: 5px; font-size: 1em; font-family: &quot;Microsoft YaHei&quot;, Tahoma, Helvetica, SimSun, sans-serif; line-height: 28px;"><span class="ne-text">2.5 文件下载</span></h3><ul class="ne-ul" style="margin-left: 14px; padding-left: 23px; font-family: &quot;Microsoft YaHei&quot;, Tahoma, Helvetica, SimSun, sans-serif;"><li id="u58224b0a" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">功能</span><span class="ne-text">:从指定URL下载文件到本地,并返回保存路径。</span></li><li id="u3d35dd36" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">参数</span><span class="ne-text">:</span></li></ul><ul class="ne-list-wrap" style="margin-left: 14px; padding-left: 23px; font-family: &quot;Microsoft YaHei&quot;, Tahoma, Helvetica, SimSun, sans-serif; list-style: none;"><ul ne-level="1" class="ne-ul" style="margin-left: 14px; padding-left: 23px; list-style-position: initial; list-style-image: initial;"><li id="u4ff460b0" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">url</span></code><span class="ne-text">:文件URL地址。</span></li><li id="u7f1046cd" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">path</span></code><span class="ne-text">:本地保存路径。</span></li><li id="ue1bb76a4" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">key</span></code><span class="ne-text">:请求头参数名(可选)。</span></li><li id="ub4a8dc7b" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">value</span></code><span class="ne-text">:请求头参数值(可选)。</span></li><li id="uc78f21f8" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">code</span></code><span class="ne-text">:请求编码,默认为'UTF-8'(可选)。</span></li></ul></ul><ul class="ne-ul" style="margin-left: 14px; padding-left: 23px; font-family: &quot;Microsoft YaHei&quot;, Tahoma, Helvetica, SimSun, sans-serif;"><li id="u71e4ddd3" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">返回值</span><span class="ne-text">:下载文件路径或null(失败时)。</span></li></ul><h3 id="778ef7f9" style="margin-top: 16px; margin-bottom: 5px; font-size: 1em; font-family: &quot;Microsoft YaHei&quot;, Tahoma, Helvetica, SimSun, sans-serif; line-height: 28px;"><span class="ne-text">2.6 清除所有自定义请求头</span></h3><ul class="ne-ul" style="margin-left: 14px; padding-left: 23px; font-family: &quot;Microsoft YaHei&quot;, Tahoma, Helvetica, SimSun, sans-serif;"><li id="u3d94a1aa" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">功能</span><span class="ne-text">:清除存储的全局请求头。</span></li><li id="u2376efd7" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">返回值</span><span class="ne-text">:是否成功清除请求头。</span></li></ul><h2 id="1ef33f96" style="margin-top: 21px; margin-bottom: 5px; font-size: 24px; font-family: &quot;Microsoft YaHei&quot;, Tahoma, Helvetica, SimSun, sans-serif; line-height: 32px;"><span class="ne-text">3. 示例分析</span></h2><p id="u7a027a1b" class="ne-p" style="font-family: &quot;Lucida Grande&quot;, Geneva, Verdana, Arial; font-size: 12px; min-height: 24px;"><span class="ne-text">每个方法都提供了详细的测试示例,包括请求参数的设置、请求的发送以及响应的处理。这些示例不仅展示了如何使用这些方法,还提供了调试信息输出的示例,有助于开发者在开发过程中进行问题排查。.</span></p><p id="u7a027a1b" class="ne-p" style="font-family: &quot;Lucida Grande&quot;, Geneva, Verdana, Arial; font-size: 12px; min-height: 24px;"><span class="ne-text"><br></span></p><p id="u7a027a1b" class="ne-p" style="font-family: &quot;Lucida Grande&quot;, Geneva, Verdana, Arial; font-size: 12px; min-height: 24px;"><span class="ne-text"></span></p><p id="u7a027a1b" class="ne-p" style="font-family: &quot;Lucida Grande&quot;, Geneva, Verdana, Arial; font-size: 12px; min-height: 24px;"><span class="ne-text"><br></span></p><div class="blockcode"><blockquote>//方法1<br><br>/**<br> * OKHTTP工具模块 - 完整版<br> * 适用:ES5系统安卓 JavaScript引擎Rhino<br> * 最后更新:2025-04-09<br> */<br><br>var OKHTTP = {<br>    /**<br>   * 发送HTTP GET请求<br>   * @param {string} url 请求地址<br>   * @param {string} 请求头参数名<br>   * @param {string} 请求头参数值<br>   * @param {string} 请求编码<br>   * @returns {string|null} 响应内容或null(错误时)<br>   */<br>    get请求: function(url, key, value, code) {<br>      try {<br>            // 基本参数校验<br>            if (typeof url !== 'string') return null;<br>            <br>            // 构建请求<br>            var conn = new java.net.URL(url).openConnection();<br>            conn.setRequestMethod("GET");<br>            <br>            // 设置请求头<br>            if (key &amp;&amp; value) {<br>                conn.setRequestProperty(key, value);<br>            }<br>            <br>            // 设置编码<br>            var encoding = code || 'UTF-8';<br>            conn.setRequestProperty("Accept-Charset", encoding);<br>            <br>            // 获取响应<br>            var responseCode = conn.getResponseCode();<br>            if (responseCode &gt;= 200 &amp;&amp; responseCode &lt; 300) {<br>                var inStream = new java.io.BufferedReader(<br>                  new java.io.InputStreamReader(conn.getInputStream(), encoding)<br>                );<br>                var inputLine;<br>                var response = new java.lang.StringBuffer();<br>                while ((inputLine = inStream.readLine()) != null) {<br>                  response.append(inputLine);<br>                }<br>                inStream.close();<br>                return response.toString();<br>            } else {<br>                printl(" 状态码: " + responseCode);<br>                return null;<br>            }<br>      } catch (e) {<br>            printl(" " + e.message);<br>            return null;<br>      }<br>    }<br>};<br><br>// 测试示例<br>printl("=== HTTP GET测试 ===");<br>var 请求头名 = 'User-Agent';<br>var 请求头值 = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36 QIHU 360SE/13.1.6380.0';<br>var 请求地址 = 'https://www.baidu.com';<br>var 请求编码 = 'UTF-8';<br>var ret = OKHTTP.get请求(请求地址, 请求头名, 请求头值, 请求编码);<br>if (ret) {<br>    printl("请求成功,返回内容:");<br>    printl(ret);<br>} else {<br>    printl("请求失败");<br>}<br>//方法2<br><br>/**<br> * 字符串工具模块 - 完整版<br> * 适用:ES5系统安卓 JavaScript引擎Rhino<br> * 最后更新:2025-04-02<br> */<br><br>var OKHTTP = {<br>    // 原有方法保持不变...<br><br>    json请求: function(url, data, key, value, code) {<br>      try {<br>            // 增强参数校验<br>            if (typeof url !== 'string' || !url.startsWith('http')) {<br>                printl("[参数错误] 无效的URL");<br>                return null;<br>            }<br>            if (typeof data !== 'string') {<br>                printl("[参数错误] 数据必须是字符串");<br>                return null;<br>            }<br><br>            // 调试输出请求信息<br>            printl("[请求调试] 目标URL: " + url);<br>            printl("[请求调试] 请求数据: " + data.substring(0, Math.min(data.length, 100)) + <br>                  (data.length &gt; 100 ? "..." : ""));<br>            <br>            var conn = new java.net.URL(url).openConnection();<br>            conn.setRequestMethod("POST");<br>            conn.setDoOutput(true);<br>            conn.setConnectTimeout(5000);<br>            <br>            // 设置编码和头信息<br>            var encoding = code || "UTF-8";<br>            conn.setRequestProperty("Content-Type", "application/json; charset=" + encoding);<br>            conn.setRequestProperty("Accept", "application/json; charset=" + encoding);<br>            <br>            if (key &amp;&amp; value) {<br>                conn.setRequestProperty(key, value);<br>                printl("[请求调试] 设置请求头: " + key + ": " + value);<br>            }<br>            <br>            // 修正:使用Java的String类处理编码<br>            var javaString = new java.lang.String(data);<br>            var bytes = javaString.getBytes(encoding);<br>            <br>            // 发送请求<br>            var outStream = conn.getOutputStream();<br>            outStream.write(bytes);<br>            outStream.flush();<br>            outStream.close();<br>            <br>            // 处理响应<br>            var responseCode = conn.getResponseCode();<br>            printl("[响应调试] 状态码: " + responseCode);<br>            <br>            if (responseCode &gt;= 200 &amp;&amp; responseCode &lt; 300) {<br>                var inStream = new java.io.BufferedReader(<br>                  new java.io.InputStreamReader(conn.getInputStream(), encoding)<br>                );<br>                var response = new java.lang.StringBuffer();<br>                var line;<br>                while ((line = inStream.readLine()) != null) {<br>                  response.append(line);<br>                }<br>                inStream.close();<br>                <br>                var responseText = response.toString();<br>                printl("[响应调试] 响应长度: " + responseText.length);<br>                return responseText;<br>            } else {<br>                var errStream = new java.io.BufferedReader(<br>                  new java.io.InputStreamReader(conn.getErrorStream(), encoding)<br>                );<br>                var errorResponse = new java.lang.StringBuffer();<br>                while ((line = errStream.readLine()) != null) {<br>                  errorResponse.append(line);<br>                }<br>                errStream.close();<br>                <br>                printl("[响应错误] 状态码: " + responseCode);<br>                printl("[响应错误] 错误详情: " + errorResponse.toString());<br>                return null;<br>            }<br>      } catch (e) {<br>            printl("[请求异常] " + e.toString());<br>            return null;<br>      }<br>    }<br>};<br><br>// 测试示例<br>printl("=== 修复版中文JSON测试 ===");<br>var 测试数据 = JSON.stringify({<br>    timestamp: new Date().getTime(),<br>    test: "中文测试修复版",<br>    data: "这里是没有乱码的中文内容"<br>});<br><br>var ret = OKHTTP.json请求(<br>    'https://postman-echo.com/post',<br>    测试数据,<br>    'User-Agent',<br>    'Mozilla/5.0'<br>);<br><br>if (ret) {<br>    printl("测试成功,响应数据:");<br>    printl(ret);<br>} else {<br>    printl("测试失败");<br>}<br>//方法3<br><br>/**<br> * 字符串工具模块 - 完整版<br> * 适用:ES5系统安卓 JavaScript引擎Rhino<br> * 最后更新:2025-04-02<br> */<br><br>var OKHTTP = {<br>    // 原有方法保持不变...<br><br>    /**<br>   * 发送表单POST请求<br>   * @param {string} url 请求地址<br>   * @param {string|Object} map 表单数据(map对象或查询字符串)<br>   * @param {string} 请求头参数名<br>   * @param {string} 请求头参数值<br>   * @param {string} 请求编码<br>   * @returns {string|null} 响应内容或null(错误时)<br>   */<br>    post请求: function(url, map, key, value, code) {<br>      try {<br>            // 参数校验<br>            if (typeof url !== 'string' || !url.startsWith('http')) {<br>                printl("[参数错误] 无效的URL");<br>                return null;<br>            }<br><br>            // 处理map参数<br>            var formData = '';<br>            if (typeof map === 'string') {<br>                formData = map;<br>            } else if (typeof map === 'object') {<br>                // 将map对象转换为查询字符串<br>                for (var k in map) {<br>                  if (map.hasOwnProperty(k)) {<br>                        if (formData) formData += '&amp;';<br>                        formData += encodeURIComponent(k) + '=' + encodeURIComponent(map);<br>                  }<br>                }<br>            } else {<br>                printl("[参数错误] map必须是字符串或对象");<br>                return null;<br>            }<br><br>            // 调试输出<br>            printl(" 目标URL: " + url);<br>            printl(" 表单数据: " + formData.substring(0, 100) + (formData.length &gt; 100 ? "..." : ""));<br><br>            var conn = new java.net.URL(url).openConnection();<br>            conn.setRequestMethod("POST");<br>            conn.setDoOutput(true);<br>            conn.setConnectTimeout(5000);<br><br>            // 设置编码和头信息<br>            var encoding = code || "UTF-8";<br>            conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded; charset=" + encoding);<br>            <br>            if (key &amp;&amp; value) {<br>                conn.setRequestProperty(key, value);<br>                printl(" 设置请求头: " + key + ": " + value);<br>            }<br><br>            // 发送请求数据<br>            var outStream = new java.io.DataOutputStream(conn.getOutputStream());<br>            outStream.writeBytes(formData);<br>            outStream.flush();<br>            outStream.close();<br><br>            // 处理响应<br>            var responseCode = conn.getResponseCode();<br>            printl(" 状态码: " + responseCode);<br><br>            if (responseCode &gt;= 200 &amp;&amp; responseCode &lt; 300) {<br>                var inStream = new java.io.BufferedReader(<br>                  new java.io.InputStreamReader(conn.getInputStream(), encoding)<br>                );<br>                var response = new java.lang.StringBuffer();<br>                var line;<br>                while ((line = inStream.readLine()) != null) {<br>                  response.append(line);<br>                }<br>                inStream.close();<br>                <br>                var responseText = response.toString();<br>                printl(" 响应长度: " + responseText.length);<br>                return responseText;<br>            } else {<br>                var errStream = new java.io.BufferedReader(<br>                  new java.io.InputStreamReader(conn.getErrorStream(), encoding)<br>                );<br>                var errorResponse = new java.lang.StringBuffer();<br>                while ((line = errStream.readLine()) != null) {<br>                  errorResponse.append(line);<br>                }<br>                errStream.close();<br>                <br>                printl(" 状态码: " + responseCode);<br>                printl(" 错误详情: " + errorResponse.toString());<br>                return null;<br>            }<br>      } catch (e) {<br>            printl(" " + e.toString());<br>            return null;<br>      }<br>    }<br>};<br><br>// 测试示例<br>printl("=== POST请求测试 ===");<br>var 测试数据 = {<br>    a: 1,<br>    b: 2,<br>    c: "中文测试"<br>};<br><br>var ret = OKHTTP.post请求(<br>    'https://postman-echo.com/post',<br>    测试数据,<br>    'User-Agent',<br>    'Mozilla/5.0'<br>);<br><br>if (ret) {<br>    printl("测试成功,响应数据:");<br>    printl(ret);<br>} else {<br>    printl("测试失败");<br>}<br>//方法4<br><br>/**<br> * 字符串工具模块 - 完整版<br> * 适用:ES5系统安卓 JavaScript引擎Rhino<br> * 最后更新:2025-04-02<br> */<br><br>var OKHTTP = {<br>    // 原有方法保持不变...<br><br>    post请求表单: function(url, map, key, value, code) {<br>      try {<br>            // 参数校验<br>            if (typeof url !== 'string' || !url.startsWith('http')) {<br>                printl("[参数错误] 无效的URL");<br>                return null;<br>            }<br><br>            // 处理map参数<br>            var formData = '';<br>            if (typeof map === 'string') {<br>                formData = map;<br>            } else if (typeof map === 'object') {<br>                var params = [];<br>                for (var k in map) {<br>                  if (map.hasOwnProperty(k)) {<br>                        var val = map;<br>                        if (val !== null &amp;&amp; val !== undefined) {<br>                            params.push(<br>                              encodeURIComponent(k) + '=' + <br>                              encodeURIComponent(typeof val === 'object' ? JSON.stringify(val) : val)<br>                            );<br>                        }<br>                  }<br>                }<br>                formData = params.join('&amp;');<br>            } else {<br>                printl("[参数错误] map必须是字符串或对象");<br>                return null;<br>            }<br><br>            // 调试信息<br>            printl("[表单POST调试] 目标URL: " + url);<br>            printl("[表单POST调试] 表单数据: " + formData.substring(0, 100) + (formData.length &gt; 100 ? "..." : ""));<br><br>            var conn = new java.net.URL(url).openConnection();<br>            conn.setRequestMethod("POST");<br>            conn.setDoOutput(true);<br>            conn.setConnectTimeout(8000);<br>            conn.setReadTimeout(10000);<br><br>            // 设置编码和头信息<br>            var encoding = code || "UTF-8";<br>            conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded; charset=" + encoding);<br>            <br>            if (key &amp;&amp; value) {<br>                conn.setRequestProperty(key, value);<br>                printl("[表单POST调试] 设置请求头: " + key + ": " + value);<br>            }<br><br>            // 修正:使用Java String类处理编码<br>            var javaString = new java.lang.String(formData);<br>            var outStream = conn.getOutputStream();<br>            outStream.write(javaString.getBytes(encoding));<br>            outStream.flush();<br>            outStream.close();<br><br>            // 处理响应<br>            var responseCode = conn.getResponseCode();<br>            printl("[表单POST响应] 状态码: " + responseCode);<br><br>            if (responseCode &gt;= 200 &amp;&amp; responseCode &lt; 300) {<br>                var inStream = new java.io.BufferedReader(<br>                  new java.io.InputStreamReader(conn.getInputStream(), encoding)<br>                );<br>                var response = new java.lang.StringBuffer();<br>                var line;<br>                while ((line = inStream.readLine()) != null) {<br>                  response.append(line);<br>                }<br>                inStream.close();<br>                <br>                var responseText = response.toString();<br>                printl("[表单POST响应] 响应长度: " + responseText.length);<br>                return responseText;<br>            } else {<br>                var errStream = new java.io.BufferedReader(<br>                  new java.io.InputStreamReader(conn.getErrorStream(), encoding)<br>                );<br>                var errorResponse = new java.lang.StringBuffer();<br>                while ((line = errStream.readLine()) != null) {<br>                  errorResponse.append(line);<br>                }<br>                errStream.close();<br>                <br>                printl("[表单POST错误] 错误响应: " + errorResponse.toString());<br>                return null;<br>            }<br>      } catch (e) {<br>            printl("[表单POST异常] " + e.toString());<br>            return null;<br>      }<br>    }<br>};<br><br>// 测试示例<br>printl("=== 表单POST修复测试 ===");<br>var 测试数据 = {<br>    username: "张三",<br>    age: 25,<br>    skills: ["编程","测试"],<br>    meta: {vip: true}<br>};<br><br>var ret = OKHTTP.post请求表单(<br>    'https://postman-echo.com/post',<br>    测试数据,<br>    'User-Agent',<br>    'Mozilla/5.0'<br>);<br><br>if (ret) {<br>    printl("测试成功,响应数据:");<br>    printl(ret);<br>} else {<br>    printl("测试失败");<br>}<br>//方法5<br><br>/**<br> * 字符串工具模块 - 完整版<br> * 适用:ES5系统安卓 JavaScript引擎Rhino<br> * 最后更新:2025-04-02<br> */<br><br>var OKHTTP = {<br>    // 原有方法保持不变...<br><br>    /**<br>   * 上传文件到服务器<br>   * @param {string} url 请求地址<br>   * @param {string} parameter 文件参数名<br>   * @param {string} path 文件路径<br>   * @param {string|Object} map 附加表单数据<br>   * @param {string} 请求头参数名<br>   * @param {string} 请求头参数值<br>   * @param {string} 请求编码<br>   * @returns {string|null} 响应内容或null(错误时)<br>   */<br>    上传文件: function(url, parameter, path, map, key, value, code) {<br>      try {<br>            // 参数校验<br>            if (typeof url !== 'string' || !url.startsWith('http')) {<br>                printl("[参数错误] 无效的URL");<br>                return null;<br>            }<br>            if (typeof path !== 'string') {<br>                printl("[参数错误] 无效的文件路径");<br>                return null;<br>            }<br><br>            // 准备表单数据<br>            var formData = '';<br>            if (map) {<br>                if (typeof map === 'string') {<br>                  formData = map;<br>                } else if (typeof map === 'object') {<br>                  var params = [];<br>                  for (var k in map) {<br>                        if (map.hasOwnProperty(k)) {<br>                            params.push(<br>                              encodeURIComponent(k) + '=' + <br>                              encodeURIComponent(map)<br>                            );<br>                        }<br>                  }<br>                  formData = params.join('&amp;');<br>                }<br>            }<br><br>            // 调试信息<br>            printl("[文件上传调试] 目标URL: " + url);<br>            printl("[文件上传调试] 文件参数: " + parameter);<br>            printl("[文件上传调试] 文件路径: " + path);<br>            if (formData) {<br>                printl("[文件上传调试] 附加数据: " + formData.substring(0, 50) + (formData.length &gt; 50 ? "..." : ""));<br>            }<br><br>            // 创建多部分请求<br>            var boundary = "----WebKitFormBoundary" + java.lang.System.currentTimeMillis();<br>            var conn = new java.net.URL(url).openConnection();<br>            conn.setRequestMethod("POST");<br>            conn.setDoOutput(true);<br>            conn.setConnectTimeout(10000);<br>            conn.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + boundary);<br>            <br>            if (key &amp;&amp; value) {<br>                conn.setRequestProperty(key, value);<br>                printl("[文件上传调试] 设置请求头: " + key + ": " + value);<br>            }<br><br>            var outStream = new java.io.DataOutputStream(conn.getOutputStream());<br>            var encoding = code || "UTF-8";<br>            var lineEnd = "\r\n";<br>            var twoHyphens = "--";<br><br>            // 写入表单数据<br>            if (formData) {<br>                var parts = formData.split('&amp;');<br>                for (var i = 0; i &lt; parts.length; i++) {<br>                  var part = parts.split('=');<br>                  if (part.length === 2) {<br>                        outStream.writeBytes(twoHyphens + boundary + lineEnd);<br>                        outStream.writeBytes('Content-Disposition: form-data; name="' + <br>                                           java.net.URLDecoder.decode(part, encoding) + '"' + lineEnd);<br>                        outStream.writeBytes(lineEnd);<br>                        outStream.writeBytes(java.net.URLDecoder.decode(part, encoding) + lineEnd);<br>                  }<br>                }<br>            }<br><br>            // 写入文件数据<br>            var file = new java.io.File(path);<br>            if (file.exists()) {<br>                outStream.writeBytes(twoHyphens + boundary + lineEnd);<br>                outStream.writeBytes('Content-Disposition: form-data; name="' + parameter + '"; filename="' + file.getName() + '"' + lineEnd);<br>                outStream.writeBytes('Content-Type: application/octet-stream' + lineEnd);<br>                outStream.writeBytes(lineEnd);<br><br>                var fileInput = new java.io.FileInputStream(file);<br>                var buffer = java.lang.reflect.Array.newInstance(java.lang.Byte.TYPE, 4096);<br>                var bytesRead;<br>                while ((bytesRead = fileInput.read(buffer)) != -1) {<br>                  outStream.write(buffer, 0, bytesRead);<br>                }<br>                fileInput.close();<br>                outStream.writeBytes(lineEnd);<br>            } else {<br>                printl("[文件错误] 文件不存在: " + path);<br>                return null;<br>            }<br><br>            // 结束标记<br>            outStream.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd);<br>            outStream.flush();<br>            outStream.close();<br><br>            // 处理响应<br>            var responseCode = conn.getResponseCode();<br>            printl("[文件上传响应] 状态码: " + responseCode);<br><br>            if (responseCode &gt;= 200 &amp;&amp; responseCode &lt; 300) {<br>                var inStream = new java.io.BufferedReader(<br>                  new java.io.InputStreamReader(conn.getInputStream(), encoding)<br>                );<br>                var response = new java.lang.StringBuffer();<br>                var line;<br>                while ((line = inStream.readLine()) != null) {<br>                  response.append(line);<br>                }<br>                inStream.close();<br>                <br>                var responseText = response.toString();<br>                printl("[文件上传成功] 响应长度: " + responseText.length);<br>                return responseText;<br>            } else {<br>                printl("[文件上传错误] 服务器返回错误");<br>                return null;<br>            }<br>      } catch (e) {<br>            printl("[文件上传异常] " + e.toString());<br>            return null;<br>      }<br>    }<br>};<br><br>// 测试示例<br>printl("=== 文件上传测试 ===");<br>var ret = OKHTTP.上传文件(<br>    'https://postman-echo.com/post',<br>    'myFile',<br>    '/sdcard/test.jpg',<br>    {desc: '测试文件', type: 'image/jpeg'},<br>    'User-Agent',<br>    'Mozilla/5.0'<br>);<br><br>if (ret) {<br>    printl("上传成功,服务器响应:");<br>    printl(ret);<br>} else {<br>    printl("上传失败");<br>}<br>//方法6<br><br>/**<br> * 字符串工具模块 - 完整版<br> * 适用:ES5系统安卓 JavaScript引擎Rhino<br> * 最后更新:2025-04-02<br> */<br><br>var OKHTTP = {<br>    // 原有方法保持不变...<br><br>    /**<br>   * 下载网络文件到本地<br>   * @param {string} url 文件URL地址<br>   * @param {string} path 本地保存路径<br>   * @param {string} 请求头参数名<br>   * @param {string} 请求头参数值 <br>   * @param {string} 请求编码<br>   * @returns {string|null} 下载文件路径或null(失败时)<br>   */<br>    下载文件: function(url, path, key, value, code) {<br>      try {<br>            // 参数校验<br>            if (typeof url !== 'string' || !url.startsWith('http')) {<br>                printl("[参数错误] 无效的URL");<br>                return null;<br>            }<br>            if (typeof path !== 'string') {<br>                printl("[参数错误] 无效的保存路径");<br>                return null;<br>            }<br><br>            // 调试信息<br>            printl("[文件下载调试] 资源URL: " + url);<br>            printl("[文件下载调试] 保存路径: " + path);<br>            <br>            var conn = new java.net.URL(url).openConnection();<br>            conn.setRequestMethod("GET");<br>            conn.setConnectTimeout(10000);<br>            conn.setReadTimeout(30000);<br>            <br>            // 设置请求头<br>            if (key &amp;&amp; value) {<br>                conn.setRequestProperty(key, value);<br>                printl("[文件下载调试] 设置请求头: " + key + ": " + value);<br>            }<br><br>            // 获取文件流<br>            var inStream = conn.getInputStream();<br>            var file = new java.io.File(path);<br>            <br>            // 确保目录存在<br>            file.getParentFile().mkdirs();<br>            <br>            // 写入文件<br>            var outStream = new java.io.FileOutputStream(file);<br>            var buffer = java.lang.reflect.Array.newInstance(java.lang.Byte.TYPE, 4096);<br>            var bytesRead;<br>            var totalBytes = 0;<br>            <br>            while ((bytesRead = inStream.read(buffer)) != -1) {<br>                outStream.write(buffer, 0, bytesRead);<br>                totalBytes += bytesRead;<br>            }<br>            <br>            // 关闭流<br>            outStream.flush();<br>            outStream.close();<br>            inStream.close();<br>            <br>            printl("[文件下载完成] 文件大小: " + totalBytes + " bytes");<br>            return path;<br>            <br>      } catch (e) {<br>            printl("[文件下载异常] " + e.toString());<br>            return null;<br>      }<br>    }<br>};<br><br>// 测试示例<br>printl("=== 文件下载测试 ===");<br>var ret = OKHTTP.下载文件(<br>    'https://example.com/test.zip',<br>    '/sdcard/downloads/test.zip',<br>    'User-Agent',<br>    'Mozilla/5.0'<br>);<br><br>if (ret) {<br>    printl("文件下载成功,保存路径: " + ret);<br>} else {<br>    printl("文件下载失败");<br>}<br>//方法7<br><br>/**<br> * 字符串工具模块 - 完整版<br> * 适用:ES5系统安卓 JavaScript引擎Rhino<br> * 最后更新:2025-04-02<br> */<br><br>var OKHTTP = {<br>    // 存储全局请求头<br>    _headers: {},<br>    <br>    // 原有方法保持不变...<br><br>    /**<br>   * 清除所有自定义请求头<br>   * @returns {boolean} 是否成功<br>   */<br>    清除header: function() {<br>      try {<br>            // 统计被清除的header数量<br>            var count = Object.keys(this._headers).length;<br>            <br>            // 清空headers对象<br>            this._headers = {};<br>            <br>            printl(" 已移除 " + count + " 个请求头");<br>            return true;<br>      } catch (e) {<br>            printl(" " + e.toString());<br>            return false;<br>      }<br>    },<br><br>    // 修改原有方法,使用_headers存储请求头<br>    get请求: function(url, key, value, code) {<br>      try {<br>            var conn = new java.net.URL(url).openConnection();<br>            // 应用全局headers<br>            for (var h in this._headers) {<br>                conn.setRequestProperty(h, this._headers);<br>            }<br>            // ...其余代码不变<br>      } catch(e) { /* ... */ }<br>    },<br>    <br>    // 其他方法也做类似修改...<br>};<br><br>// 测试示例<br>printl("=== header清除测试 ===");<br>OKHTTP._headers = {<br>    'User-Agent': 'TestAgent',<br>    'X-Token': '123456'<br>};<br>printl("清除前header数: " + Object.keys(OKHTTP._headers).length);<br>var result = OKHTTP.清除header();<br>printl("清除结果: " + result);<br>printl("清除后header数: " + Object.keys(OKHTTP._headers).length);<br></blockquote></div><p id="u7a027a1b" class="ne-p" style="font-family: &quot;Lucida Grande&quot;, Geneva, Verdana, Arial; font-size: 12px; min-height: 24px;"><span class="ne-text"><br></span></p><p></p>
页: [1]
查看完整版本: AIWROK软件常用OKHTTP方法小结汇集