diff --git a/.babelrc b/.babelrc deleted file mode 100644 index 3aa07479e..000000000 --- a/.babelrc +++ /dev/null @@ -1,6 +0,0 @@ -{ - "presets": [ - "es2015", - "stage-0" - ] -} \ No newline at end of file diff --git a/.eslintrc b/.eslintrc index 1b7b3f129..e17b45135 100644 --- a/.eslintrc +++ b/.eslintrc @@ -5,7 +5,7 @@ "browser": true, "node": true, "es6": true, - "jasmine": true + "jest": true }, "globals": { "React": true, diff --git a/.gitignore b/.gitignore index f75156387..2a37d1221 100644 --- a/.gitignore +++ b/.gitignore @@ -34,4 +34,6 @@ test/report *.tgz doc_compiled.md docs-md/cn/doc.md -docs-md/en/doc.md \ No newline at end of file +docs-md/en/doc.md +docs/gitbook/gitbook-plugin-livereload/ +node_modules diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000..04661632d --- /dev/null +++ b/.travis.yml @@ -0,0 +1,5 @@ +language: node_js +node_js: + - 12 +before_script: + - node ./bin/anyproxy-ca -g \ No newline at end of file diff --git a/README.md b/README.md index 3dcfdbbb2..b845c9d81 100644 --- a/README.md +++ b/README.md @@ -4,10 +4,11 @@ AnyProxy [![NPM version][npm-image]][npm-url] [![node version][node-image]][node-url] [![npm download][download-image]][download-url] +[![Build Status](https://travis-ci.org/alibaba/anyproxy.svg?branch=master)](https://travis-ci.org/alibaba/anyproxy) [npm-image]: https://img.shields.io/npm/v/anyproxy.svg?style=flat-square [npm-url]: https://npmjs.org/package/anyproxy -[node-image]: https://img.shields.io/badge/node.js-%3E=_5.0.0-green.svg?style=flat-square +[node-image]: https://img.shields.io/badge/node.js-%3E=_6.0.0-green.svg?style=flat-square [node-url]: http://nodejs.org/download/ [download-image]: https://img.shields.io/npm/dm/anyproxy.svg?style=flat-square [download-url]: https://npmjs.org/package/anyproxy @@ -20,7 +21,7 @@ Issue: https://github.com/alibaba/anyproxy/issues AnyProxy是一个基于NodeJS的,可供插件配置的HTTP/HTTPS代理服务器。 -主页:[AnyProxy.io](http://anyproxy.io) +主页:[AnyProxy.io](http://anyproxy.io),访问可能需要稳定的国际网络环境 ![](https://gw.alipayobjects.com/zos/rmsportal/gUfcjGxLONndTfllxynC.jpg@_90q) diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 000000000..edbb252a7 --- /dev/null +++ b/babel.config.js @@ -0,0 +1,11 @@ +if (process.env.NODE_ENV === 'test') { + module.exports = {}; +} else { + module.exports = { + presets: [ + 'es2015', + 'stage-0' + ] + }; +} + diff --git a/bin/anyproxy b/bin/anyproxy index 76e853c38..35c6c2203 100755 --- a/bin/anyproxy +++ b/bin/anyproxy @@ -26,7 +26,7 @@ program if (program.clear) { require('../lib/certMgr').clearCerts(() => { - util.deleteFolderContentsRecursive(util.getAnyProxyPath('cache')); + util.deleteFolderContentsRecursive(util.getAnyProxyTmpPath()); console.log(color.green('done !')); process.exit(0); }); diff --git a/bin/anyproxy-ca b/bin/anyproxy-ca index f03a60fb1..85a71f77c 100755 --- a/bin/anyproxy-ca +++ b/bin/anyproxy-ca @@ -20,10 +20,10 @@ program .parse(process.argv); function openFolderOfFile(filePath) { - const isWin = /^win/.test(process.platform); - if (isWin) { + const platform = process.platform; + if (/^win/.test(platform)) { exec('start .', { cwd: path.dirname(filePath) }); - } else { + } else if (/darwin/.test(platform)) { exec(`open -R ${filePath}`); } } @@ -33,7 +33,6 @@ function guideToGenrateCA() { if (!error) { const certDir = path.dirname(keyPath); console.log(`The cert is generated at ${certDir}. Please trust the ${color.bold('rootCA.crt')}.`); - // TODO: console.log('guide to install'); openFolderOfFile(crtPath); } else { console.error('failed to generate rootCA', error); @@ -44,7 +43,6 @@ function guideToGenrateCA() { function guideToTrustCA() { const certPath = AnyProxy.utils.certMgr.getRootCAFilePath(); if (certPath) { - // TODO: console.log('guide to install'); openFolderOfFile(certPath); } else { console.error('failed to get cert path'); diff --git a/build_scripts/build-doc-site.sh b/build_scripts/build-doc-site.sh index a5e0153e7..b5be3c7d2 100755 --- a/build_scripts/build-doc-site.sh +++ b/build_scripts/build-doc-site.sh @@ -9,6 +9,6 @@ node ./build_scripts/prebuild-doc.js gitbook build ./docs-src ./docs ## push the doc into github -git add ./docs -git commit -m 'building docs' -git push origin +# git add ./docs +# git commit -m 'building docs' +# git push origin diff --git a/docs-src/cn/README.md b/docs-src/cn/README.md index 381a1b868..96876d85d 100644 --- a/docs-src/cn/README.md +++ b/docs-src/cn/README.md @@ -164,7 +164,7 @@ proxyServer.close(); * 样例 ```js - const AnyProxy = require('AnyProxy'); + const AnyProxy = require('anyproxy'); const exec = require('child_process').exec; if (!AnyProxy.utils.certMgr.ifRootCAFileExists()) { @@ -200,6 +200,14 @@ anyproxy --intercept #启动AnyProxy,并解析所有https请求 * [附录:如何信任CA证书](#证书配置) +# 代理WebSocket + +```bash +anyproxy --ws-intercept +``` + +> 当启用`HTTPS`代理时,`wss`也会被代理,但是不会被AnyProxy记录。需要开启`--ws-intercept`后才会从界面上看到相应内容。 + # rule模块 AnyProxy提供了二次开发的能力,你可以用js编写自己的规则模块(rule),来自定义网络请求的处理逻辑。 @@ -819,6 +827,8 @@ module.exports = { * 设置 -> 安全性与位置信息 -> 加密与凭据 -> 从存储设备安装。找到你下载的证书文件,进行安装 * 设置 -> 安全 -> 从SD卡安装证书。找到你下载的证书文件,进行安装 +不同安卓系统支持安装的证书文件类型不尽相同,大多支持安装拓展名为 .crt 的证书文件,少部分仅支持 .cer 文件(已知如 OPPO R15),AnyProxy 提供了多种类型的证书文件,可在下载安装时选择。 + ### 配置iOS/Android系统代理 * 代理服务器都在wifi设置中配置 diff --git a/docs-src/cn/src_doc.md b/docs-src/cn/src_doc.md index aebcb15d8..e0adc0975 100644 --- a/docs-src/cn/src_doc.md +++ b/docs-src/cn/src_doc.md @@ -164,7 +164,7 @@ proxyServer.close(); * 样例 ```js - const AnyProxy = require('AnyProxy'); + const AnyProxy = require('anyproxy'); const exec = require('child_process').exec; if (!AnyProxy.utils.certMgr.ifRootCAFileExists()) { @@ -628,6 +628,8 @@ module.exports = { * 设置 -> 安全性与位置信息 -> 加密与凭据 -> 从存储设备安装。找到你下载的证书文件,进行安装 * 设置 -> 安全 -> 从SD卡安装证书。找到你下载的证书文件,进行安装 +不同安卓系统支持安装的证书文件类型不尽相同,大多支持安装拓展名为 .crt 的证书文件,少部分仅支持 .cer 文件(已知如 OPPO R15),AnyProxy 提供了多种类型的证书文件,可在下载安装时选择。 + ### 配置iOS/Android系统代理 * 代理服务器都在wifi设置中配置 diff --git a/docs-src/en/README.md b/docs-src/en/README.md index 527c4afd3..c936449a5 100644 --- a/docs-src/en/README.md +++ b/docs-src/en/README.md @@ -163,7 +163,7 @@ proxyServer.close(); * Sample ```js - const AnyProxy = require('AnyProxy'); + const AnyProxy = require('anyproxy'); const exec = require('child_process').exec; if (!AnyProxy.utils.certMgr.ifRootCAFileExists()) { @@ -200,6 +200,13 @@ anyproxy --intercept #launch anyproxy and intercept all https traffic * [Appendix:how to trust CA](#config-certification) +# Proxy WebSocket + +```bash +anyproxy --ws-intercept +``` +> The `wss` requests will be handled automatically when the `HTTPS` intercept is turned on, but AnyProxy will not record the data by default. You need to specify the `--ws-intercept` to tell AnyProxy to record it. + # Rule Introduction AnyProxy provides the ability to load your own rules written in javascript. With rule module, you could customize the logic to handle requests. @@ -802,6 +809,8 @@ install : * Besides installing root CA, you have to "turn on" the certificate for web manually in *settings - general - about - Certificate Trust Settings*. Otherwire, safari will not trust the root CA generated by AnyProxy. + + ### trust root CA in Android First of all, you need to download the root CA by clicking *Root CA* in web ui, and then scan the QR code. Installing CA in Android could be different based on the system, we list some common steps as below, but you can find the right way in you system with similar menu path. @@ -811,7 +820,7 @@ Installing CA in Android could be different based on the system, we list some co * Settings -> Security & Location > Encryption & credentials -> Install from storage, and find your CA file to install * Settings -> Security -> Install from SD card, and find you CA file to install - +There are several file extensions of CA file which may not be compatible with all kinds of Android phones. `.crt` file is the most popular, while a few systems could only use .cer file such as OPPO R15. In AnyProxy, you can choose the type of certificate you need before installing. ### config iOS/Android proxy server diff --git a/docs-src/en/src_doc.md b/docs-src/en/src_doc.md index 79c9b9e6e..8eba0b592 100644 --- a/docs-src/en/src_doc.md +++ b/docs-src/en/src_doc.md @@ -163,7 +163,7 @@ proxyServer.close(); * Sample ```js - const AnyProxy = require('AnyProxy'); + const AnyProxy = require('anyproxy'); const exec = require('child_process').exec; if (!AnyProxy.utils.certMgr.ifRootCAFileExists()) { @@ -610,6 +610,8 @@ install : * Besides installing root CA, you have to "turn on" the certificate for web manually in *settings - general - about - Certificate Trust Settings*. Otherwire, safari will not trust the root CA generated by AnyProxy. + + ### trust root CA in Android First of all, you need to download the root CA by clicking *Root CA* in web ui, and then scan the QR code. Installing CA in Android could be different based on the system, we list some common steps as below, but you can find the right way in you system with similar menu path. @@ -619,7 +621,7 @@ Installing CA in Android could be different based on the system, we list some co * Settings -> Security & Location > Encryption & credentials -> Install from storage, and find your CA file to install * Settings -> Security -> Install from SD card, and find you CA file to install - +There are several file extensions of CA file which may not be compatible with all kinds of Android phones. `.crt` file is the most popular, while a few systems could only use .cer file such as OPPO R15. In AnyProxy, you can choose the type of certificate you need before installing. ### config iOS/Android proxy server diff --git a/docs/cn/index.html b/docs/cn/index.html index 22fb9473e..53f8ab536 100644 --- a/docs/cn/index.html +++ b/docs/cn/index.html @@ -923,7 +923,7 @@

作为npm
  • 样例
  • -
      const AnyProxy = require('AnyProxy');
    +
      const AnyProxy = require('anyproxy');
       const exec = require('child_process').exec;
     
       if (!AnyProxy.utils.certMgr.ifRootCAFileExists()) {
    @@ -1561,6 +1561,7 @@ 

     +

    不同安卓系统支持安装的证书文件类型不尽相同,大多支持安装拓展名为 .crt 的证书文件,少部分仅支持 .cer 文件(已知如 OPPO R15),AnyProxy 提供了多种类型的证书文件,可在下载安装时选择。

    配置iOS/Android系统代理

    • 代理服务器都在wifi设置中配置

      @@ -1658,7 +1659,7 @@

      No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"简介","level":"1.1","depth":1,"next":{"title":"快速开始","level":"1.2","depth":1,"anchor":"#快速开始","path":"README.md","ref":"README.md#快速开始","articles":[{"title":"安装","level":"1.2.1","depth":2,"anchor":"#安装","path":"README.md","ref":"README.md#安装","articles":[]},{"title":"启动","level":"1.2.2","depth":2,"anchor":"#启动","path":"README.md","ref":"README.md#启动","articles":[]},{"title":"其他命令","level":"1.2.3","depth":2,"anchor":"#其他命令","path":"README.md","ref":"README.md#其他命令","articles":[]},{"title":"作为npm模块启动","level":"1.2.4","depth":2,"anchor":"#作为npm模块使用","path":"README.md","ref":"README.md#作为npm模块使用","articles":[]}]},"dir":"ltr"},"config":{"plugins":[],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"theme":"default","author":"AnyProxy","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"AnyProxy","language":"cn","gitbook":"*","description":"A fully configurable http/https proxy in NodeJS"},"file":{"path":"README.md","mtime":"2018-02-05T16:06:47.879Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2018-02-05T16:06:49.493Z"},"basePath":".","book":{"language":"cn"}}); + gitbook.page.hasChanged({"page":{"title":"简介","level":"1.1","depth":1,"next":{"title":"快速开始","level":"1.2","depth":1,"anchor":"#快速开始","path":"README.md","ref":"README.md#快速开始","articles":[{"title":"安装","level":"1.2.1","depth":2,"anchor":"#安装","path":"README.md","ref":"README.md#安装","articles":[]},{"title":"启动","level":"1.2.2","depth":2,"anchor":"#启动","path":"README.md","ref":"README.md#启动","articles":[]},{"title":"其他命令","level":"1.2.3","depth":2,"anchor":"#其他命令","path":"README.md","ref":"README.md#其他命令","articles":[]},{"title":"作为npm模块启动","level":"1.2.4","depth":2,"anchor":"#作为npm模块使用","path":"README.md","ref":"README.md#作为npm模块使用","articles":[]}]},"dir":"ltr"},"config":{"plugins":[],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"theme":"default","author":"AnyProxy","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"AnyProxy","language":"cn","gitbook":"*","description":"A fully configurable http/https proxy in NodeJS"},"file":{"path":"README.md","mtime":"2019-03-26T12:49:35.827Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2019-03-26T12:49:36.852Z"},"basePath":".","book":{"language":"cn"}}); }); @@ -1668,6 +1669,10 @@

      No results matching " + + + + diff --git a/docs/cn/search_index.json b/docs/cn/search_index.json index da24fdd8e..99defc1f0 100644 --- a/docs/cn/search_index.json +++ b/docs/cn/search_index.json @@ -1 +1 @@ -{"index":{"version":"0.5.12","fields":[{"name":"title","boost":10},{"name":"keywords","boost":15},{"name":"body","boost":1}],"ref":"url","documentStore":{"store":{"./":["\"content","\"curl/7.43.0\"","\"data\":","\"https\"","\"i","\"thi","\"user","\"x","#全局包","#启动anyproxy,并解析所有https请求","#本地包","#生成rootca证书,生成后需要手动信任","&&","'","'...'","'...',","'/',","'/index.html';","'/redirect/to/another/path';","'127.0.0.1'","'8001');","'8008';","';","'a","'anyproxy';","'anyproxy.io',","'anyproxy/0.0.0';","'application/json'","'cach","'close',","'content","'get',","'get';","'hello","'http',","'http';","'http://anyproxy.io/',","'http://httpbin.org/get?show_env=1'","'http://httpbin.org/us","'https'","'https',","'i","'image/gif',","'keep","'mi","'origin","'proxi","'rule","'text/html'","'thi","'user","'{\"hello\":","(!anyproxy.utils.certmgr.ifrootcafileexists())","(!error)","()","(e)","(iswin)","(requestdetail.url","(requestdetail.url.indexof('http://httpbin.org/')","(requestdetail.url.indexof('http://httpbin.org/post')","(requestdetail.url.indexof('http://httpbin.org/us","(requestdetail.url.indexof('https://httpbin.org/us","(requestdetail.url.indexof('https://th/","*/","*/}","*beforedealhttpsrequest(requestdetail)","*beforesendrequest(requestdetail)","*beforesendresponse(requestdetail,","*onconnecterror(requestdetail,","*onerror(requestdetail,","*true*","+=",".',","...","...,","./myrulepkg/","./rule.j","/*","//","//when","//这里也可以同时加上requestopt","/^win/.test(process.platform);","0)","1.","10.3信任ca证书","10000,","1080","127.0.0.1:8001/index.html","127.0.0.1:8001,访问","1,编写规则","2,","2.","200,","3,","4,","4.0的主要变化:","4.0,欢迎提供反馈","404","404;","443;","5000);","5s","80,","8001,","8002","=","===","=>",">",">=",">关于本机",">证书信任设置",">通用","_re","_req","_req:","_res:","a:","agent","agent\":","agent'","agent')","agent':","agent']","alive',","android","anyproxi","anyproxy',","anyproxy.io","anyproxy.proxycore(options);","anyproxy.proxyserv","anyproxy.proxyserver(options)","anyproxy.proxyserver(options);","anyproxy.utils.certmgr","anyproxy.utils.certmgr.generaterootca((error,","anyproxy.utils.certmgr.generaterootca(callback)","anyproxy.utils.certmgr.ifrootcafileexists()","anyproxy.utils.systemproxymgr","anyproxy.utils.systemproxymgr.disableglobalproxy();","anyproxy.utils.systemproxymgr.enableglobalproxy('127.0.0.1',","anyproxyin","anyproxyins.start();","anyproxy使用require()加载本地规则,你可以在参数里传入一个本地的npm包路径,或是某个全局安装的npm包","anyproxy可以作为一个npm模块使用,整合进其他工具。","anyproxy向客户端发送请求前,会调用beforesendresponse,并带上参数requestdetail","anyproxy向服务端发送请求前,会调用beforesendrequest,并带上参数requestdetail","anyproxy在与目标https服务器建立连接的过程中,如果发生错误,anyproxy会调用这个方法","anyproxy提供了二次开发的能力,你可以用js编写自己的规则模块(rule),来自定义网络请求的处理逻辑。","anyproxy收到https请求时,会调用beforedealhttpsrequest,并带上参数requestdetail","anyproxy是一个开放式的http代理服务器。","anyproxy调用规则模块beforesendrequest方法,由模块做处理,返回新的请求参数,或返回响应内容","anyproxy默认不对https请求做处理,如需看到明文信息,需要配置ca证书","apt","at',","attack),需要客户端提前信任anyproxy生成的ca","befor","beforedealhttpsrequest","beforedealhttpsrequest(requestdetail)","beforesendrequest","beforesendrequest(requestdetail)","beforesendrespons","beforesendresponse(requestdetail,","body:","body三个字段","body等","body),甚至是请求的目标地址等","by']","by:","by:anyproxi","ca","ca方法。","ca,按提示扫描二维码即可安装","cert","certdir","certdir);","class:","close","co","code","code)、响应头(respons","connect","connection':","connection:","console.error('error","console.log('th","const","control':","curl","custom","cwd:","d","dangerouslyignoreunauthor","dangerouslyignoreunauthorized:","data","data\"","data'","data',","delay","doc","enabl","enable:","english","error","error)","error);","event:","exec","exec('open","exec('start","expect","fals","false,","false;","faq","file:","finish","forceproxyhttp","forceproxyhttps:","forward","found","function","function()","g","gener","github主页:https://github.com/alibaba/anyproxi","h","hack","hacked!","hacked!';","header","header),请求体(request","header,","header:","headers:","header)、响应内容等","host","host:","hostname:","http","http/1.1","http://....j/","http://127.0.0.1:8001/","http://httpbin.org/","http://httpbin.org/","http://httpbin.org/post","http://httpbin.org/us","http://localhost:8008/index.html","httpbin.org","httpbin.org,","https://httpbin.org/us","https://sample.com/rule.j","https连接服务器出错","http代理配置","http的代理模式中,这里的request是connect请求","ignor","instal","intercept","intercept`参数,按npm模块启动时配置`forceproxyhttps`参数,所有https请求都会被替换证书并解析","intercept后才会从界面上看到相应内容。","io","ios系统信任ca证书","iswin","keypath)","know.com')","legaci","local","localrespons","method:","middl","middle),用户必须信任anyproxy生成的ca证书,才能进行后续流程","modifi","module.export","myrulepkg","new","newopt","newoption.path","newoption.port","newrequestopt","newrequestoptions.headers['us","newrequestoptions.hostnam","newrequestoptions.method","newrequestoptions.path","newrequestoptions.port","newrequestoptions.rejectunauthor","newrespons","newresponse.bodi","newresponse.header['x","newresponse.statuscod","nodej","npm","null;","object.assign({},","onconnecterror","onconnecterror(requestdetail,","onerror","onerror(requestdetail,","option","osx系统信任ca证书","over","path:","port","port:","post","privat","promise((resolve,","protocol","protocol\":","protocol:","proxi","proxy.close();","proxy.on('error',","proxy.on('ready',","proxy.start();","proxyserv","proxyserver.close();","proxyserver.on('error',","proxyserver.on('ready',","proxyserver.start();","q:","readi","redirect","ref:","reject)","rejectunauthor","request","requestdata","requestdata:","requestdetail","requestdetail.protocol","requestdetail.requestoptions);","requestdetail.requestoptions;","requestdetail;","requestopt","requestoptions:","require('anyproxy');","require('child_process').exec;","require('myrulemodule'),","require('path').dirname(keypath);","resolve({","respons","response\"}'","response',","response:","responsedetail","responsedetail)","responsedetail.response);","responsedetail.response;","return","root","rootca',","rule","rule:","rule_sample/sample_modify_request_data.j","rule_sample/sample_modify_request_header.j","rule_sample/sample_modify_request_path.j","rule_sample/sample_modify_request_protocol.j","rule_sample/sample_modify_response_data.j","rule_sample/sample_modify_response_header.j","rule_sample/sample_modify_response_statuscode.j","rule_sample/sample_use_local_response.j","rule接口文档","rule样例","rule模块","sample.j","sample:","save","settimeout(()","silent","silent:","site","ssl","start","statu","statuscode:","step","string","sudo","summari","summary():","summary:","summary:str","test:","text/plain\"","throttl","throttle:","toward","true","true,","true;","true或者false,表示是否需要anyproxy替换证书并解析http","trust","trust)","type':","type:","ui中的","unauthor","url","url:","us","user","var","webinterfac","webinterface:","webport","webport:","web版界面端口号,默认8002","web版界面配置","web版界面重构","windows系统信任ca证书","world'","ws","wsintercept","wsintercept:","x","yieldabl","{","{boolean}","{number}","{object}","{string}","|","}","})","});","},","};","下载后的证书可以直接单击打开并安装,这种方式是最简单的,直接安装即可","不做任何处理。此时anyproxy会返回一个默认的错误页。","不做任何处理,返回null","不开启websocket代理","中把anyproxy证书的开关打开,否则safari将报错。","为","为什么https请求不能进入处理函数?","主要特性包括:","举例","举例,请求","举例:请求","从sd卡安装证书。找到你下载的证书文件,进行安装","从存储设备安装。找到你下载的证书文件,进行安装","代理http","代理websocket","代理服务器发生错误","代理服务器启动完成","代理服务器都在wifi设置中配置","以chrome的switchyomega插件为例","以下任意一项都能用来改变https的处理特性:","以下几种返回都是合法的","作为npm模块使用","作为全局模块","你可以通过","使用npm包","使用举例","使用在线地址","使用本地数据","使用本地路径anyproxi","使用示例","修改发送到","修改请求bodi","修改请求协议","修改请求协议,如强制改用https发起请求","修改请求参数","修改请求头","修改请求数据","修改请求的目标地址","修改返回内容并延迟","修改返回头","修改返回状态码","修改返回的内容","修改返回的状态码","关闭代理服务器","关闭全局代理服务器","其他命令","创建代理服务器","加密与凭据","即将发送的请求配置,供require('http').request作为使用。详见:https://nodejs.org/api/http.html#http_http_request_options_callback","原始的服务端返回对象","双击打开rootca.crt","发送响应前处理","发送请求前拦截处理","只有返回true时,anyproxy才会尝试替换证书、解析https。否则只做数据流转发,无法看到明文数据。","可以是一个函数,也可以是一个普通的字符串","可修改内容包括请求头(request","可修改的内容包括http状态码(statu","同beforedealhttpsrequest中的参数","同beforesendrequest中的参数","启动","启动anyproxy,加载规则","启动代理服务器","启动后将终端http代理服务器配置为127.0.0.1:8001即可","命令行启动anyproxy时配置`","命令行启动anyproxy,默认端口号8001","命令行直接启动","在","在nodejs代码中启动","在wifi高级设置中,配置http代理即可","在构造anyproxy实例的时候,传入参数dangerouslyignoreunauthorized:true,","在请求处理过程中发生错误时,anyproxy会调用onerror方法,并提供对应的错误信息","基于node.js,开放二次开发能力,允许自定义请求处理逻辑","处理流程","处理流程图如下","多数场景下,错误会在请求目标服务器的时候发生,比如dns解析失败、请求超时等","如下几种方案都可以用来引用规则模块:","如下:","如何引用","如果beforesendrequest返回了响应内容,则立即把此响应返回到客户端(而不再发送到真正的服务端),流程结束。","如果配置了全局解析https的参数,则anyproxy会略过这个调用","如要启用https解析,请在代理服务器启动前自行调用anyproxy.utils.certmgr相关方法生成证书,并引导用户信任安装。或引导用户使用anyproxi","安全","安全性与位置信息","安卓系统信任ca证书","安装","安装ca:","对于debian或者ubuntu系统,在安装anyproxy之前,可能还需要安装","开发示例","引入","当http请求经过代理服务器时,具体处理过程是:","当代理服务器收到https请求时,anyproxy可以替换证书,对请求做明文解析。","当启用https代理时,wss也会被代理,但是不会被anyproxy记录。需要开启","当访问特定的https站点,anyproxy会提示该站点不是一个安全的网站,这通常是因为站点的证书设置不能被正确识别导致的(比如,站点的证书是自签发的)。如果您信任该网站,可以用以下方式来继续访问:","必选,代理服务器端口","快速开始","我们自然也可以借助自定义的rule来实现这个效果,而且我们还可以控制到只允许指定网址的证书错误,对不在列表的网址,进行证书的强验证。","所有http://httpbin.org","找到刚刚导入的anyproxy证书,配置为信任(alway","把","把响应信息返回给客户端","把所有发送到","把用http协议请求的","拦截https请求,对内容做修改","拦截发送到","拦截并修改服务端响应","拦截并修改正在发送的请求","提供gui界面,用以观察请求","提示","支持https的解析","收集请求所有请求参数,包括method,","改成https并发送","时,requestdetail参数内容大致如下","时,responsedetail参数内容大致如下","是否启用web版界面,默认fals","是否处理https请求","是否屏蔽所有console输出,默认fals","是否开启websocket代理,默认fals","是否强制拦截所有的https,忽略规则模块的返回,默认fals","是否忽略请求中的证书错误,默认fals","是必选字段","服务端的返回信息,包括statuscod","本文档的适用范围是anyproxi","本质是中间人攻击(man","来加载模块并体验","来忽略证书认证的错误。需要注意的是,该参数是全局生效的,如果你在此期间访问了其他未知的网站,他们的证书问题也会被忽略,这可能会带来安全隐患。","查看请求信息","校验系统内是否存在anyproxy的根证书","样例","根据请求参数,向服务端发出请求,接收服务端响应。","模块介绍","此处无法控制向客户端的返回信息,无需返回值。","注意:http","注意:引用规则前,请务必确保文件来源可靠,以免发生安全问题","测试规则","浏览器访问http://127.0.0.1:8002","点击web","然后,安装anyproxi","生成anyproxy的rootca,完成后请引导用户信任.crt文件","生成证书并解析所有https请求","用curl发请求测试的方法如下","用curl测试","用浏览器测试:配置浏览器http代理为","的https请求会被解析","的post数据","的user","的请求全部改到","的请求,使用本地数据代替服务端返回","的返回值里加上测试信息,并延迟5秒返回","的返回头里加上","的返回最后追加anyproxy的签名,并延迟5秒","的返回状态码都改成404","直接请求服务器:curl","直接返回客户端,不再发起请求,其中statuscod","相比3.x版本,anyproxi","确认将证书添加到login或system","示例","简介","简化了规则文件内的接口","管理anyproxy的证书","管理系统的全局代理配置,方法调用时可能会弹出密码框","类似这种报错都是因为系统没有信任anyproxy生成的ca所造成的","经过代理服务器后,期望的返回如下","自定义规则模块","被明文解析后的https请求,处理流程同http一致。未明文解析请求不会再进入规则模块做处理。","规则文件中,除了summary,都是由","规则文件内提供`beforedealhttpsrequest`方法,返回","规则文件(rule)全面支持promise和gener","规则模块应该符合cmd规范,一个典型的规则模块代码结构如下。模块中所有方法都是可选的,只需实现业务感兴趣的部分即可。","规则模块是用","规则模块的介绍文案,用于anyproxy提示用户,","规则模块的能力范围包括:","解析https请求的原理是中间人攻击(man","警告:ca证书和系统安全息息相关,建议亲自生成,并妥善保管","设置","设置属性","访问http://127.0.0.1:8002","证书下载到指定目录后,需要从其他入口进行安装,包括:","证书配置","请求bodi","请求url","请求使用的协议,http或者http","请求出错的事件","请求的原始request","请求目标的host,受制于协议,这里无法获取完整url","调用规则模块beforedealhttpsrequest方法,如果返回true,会明文解析这个请求,其他请求不处理","调用规则模块beforesendresponse方法,由模块对响应内容进行处理","运行","返回值","返回自定义错误页","这里提供一些样例,来讲解规则模块的常见用法","通过代理服务器请求:curl","通过启动参数","通过自定义的rule来修改","通过这种方式初始化的anyproxy,其配置也是全局性的,所有网站的证书问题都会被忽略","配置127.0.0.1:8001为全局http代理服务器","配置ios/android系统代理","配置osx系统代理","配置启动端口,如1080端口启动","配置浏览器http代理","附录:如何信任ca证书","限速值,单位kb/s,默认不限速","除了上述证书安装过程,还需要在","需要编写一个规则模块,在","首先和ios类似,需要先扫描证书的二维码进行下载。然后不同的安卓系统安装证书的方式可能有所不同,但是安装的步骤是类似的,我们列举了几种类型。","驱动的,函数需要满足yieldable。可以使用generator方法或是返回promise。","驱动的,函数需要满足yieldable。可以返回promise或使用generator函数。",",web界面上能看到所有的请求信息",",界面上能看到刚才的请求信息"]},"length":1},"tokenStore":{"root":{"0":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.005930318754633061}}}},"1":{"0":{"0":{"0":{"0":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"docs":{}},"docs":{}},"8":{"0":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"docs":{}},"docs":{},".":{"3":{"docs":{},"信":{"docs":{},"任":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"docs":{}}},"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"1":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}},",":{"docs":{},"访":{"docs":{},"问":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},",":{"docs":{},"编":{"docs":{},"写":{"docs":{},"规":{"docs":{},"则":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}},"2":{"0":{"0":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0029651593773165306}}}},"docs":{}},"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},".":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"3":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"4":{"0":{"4":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}},";":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}},"docs":{}},"4":{"3":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"docs":{}},"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},".":{"0":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"变":{"docs":{},"化":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}},",":{"docs":{},"欢":{"docs":{},"迎":{"docs":{},"提":{"docs":{},"供":{"docs":{},"反":{"docs":{},"馈":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}},"docs":{}}},"5":{"0":{"0":{"0":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}},"docs":{}},"docs":{}},"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"8":{"0":{"0":{"1":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"2":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"docs":{}},"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"docs":{}},"docs":{},"\"":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"/":{"7":{"docs":{},".":{"4":{"3":{"docs":{},".":{"0":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"\"":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}},"i":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}}},"x":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"#":{"docs":{},"全":{"docs":{},"局":{"docs":{},"包":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"启":{"docs":{},"动":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},",":{"docs":{},"并":{"docs":{},"解":{"docs":{},"析":{"docs":{},"所":{"docs":{},"有":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"地":{"docs":{},"包":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"生":{"docs":{},"成":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"后":{"docs":{},"需":{"docs":{},"要":{"docs":{},"手":{"docs":{},"动":{"docs":{},"信":{"docs":{},"任":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}},"&":{"docs":{},"&":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"'":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"8":{"0":{"0":{"1":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"8":{"docs":{},"'":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{"./":{"ref":"./","tf":0.0037064492216456633}},".":{"docs":{},".":{"docs":{},".":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.002223869532987398}},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"/":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"'":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"/":{"docs":{},"t":{"docs":{},"o":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"'":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}},"a":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"'":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}}}},"/":{"0":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},"'":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0029651593773165306}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},";":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},";":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"?":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},"=":{"1":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"docs":{}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0037064492216456633}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"i":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"f":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"m":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}}}}}}}},"h":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"{":{"docs":{},"\"":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"\"":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}},"(":{"docs":{},"!":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},".":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"m":{"docs":{},"g":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},")":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"e":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"i":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},".":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"'":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"'":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0029651593773165306}}}},"/":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"'":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"*":{"docs":{},"/":{"docs":{"./":{"ref":"./","tf":0.011860637509266123}},"}":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.005189028910303929}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0037064492216456633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"*":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}},"+":{"docs":{},"=":{"docs":{"./":{"ref":"./","tf":0.002223869532987398}}}},".":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}},".":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.005189028910303929}},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"/":{"docs":{},"m":{"docs":{},"y":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"p":{"docs":{},"k":{"docs":{},"g":{"docs":{},"/":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}},"/":{"docs":{},"*":{"docs":{"./":{"ref":"./","tf":0.012601927353595256}}},"/":{"docs":{"./":{"ref":"./","tf":0.010378057820607857}},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"这":{"docs":{},"里":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"同":{"docs":{},"时":{"docs":{},"加":{"docs":{},"上":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}},"^":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},".":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},".":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{"./":{"ref":"./","tf":0.033358042994810974}},"=":{"docs":{},"=":{"docs":{"./":{"ref":"./","tf":0.007412898443291327}}}},">":{"docs":{"./":{"ref":"./","tf":0.005189028910303929}}}},">":{"docs":{"./":{"ref":"./","tf":0.0037064492216456633}},"=":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"关":{"docs":{},"于":{"docs":{},"本":{"docs":{},"机":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"证":{"docs":{},"书":{"docs":{},"信":{"docs":{},"任":{"docs":{},"设":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}},"通":{"docs":{},"用":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"q":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"a":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.010378057820607857}},"\"":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}},"'":{"docs":{"./":{"ref":"./","tf":0.002223869532987398}},")":{"docs":{"./":{"ref":"./","tf":0.0029651593773165306}}},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"]":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.023721275018532245}}},"y":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},".":{"docs":{},"i":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},";":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"m":{"docs":{},"g":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"(":{"docs":{},"(":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"m":{"docs":{},"g":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"(":{"docs":{},"'":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"s":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"加":{"docs":{},"载":{"docs":{},"本":{"docs":{},"地":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"参":{"docs":{},"数":{"docs":{},"里":{"docs":{},"传":{"docs":{},"入":{"docs":{},"一":{"docs":{},"个":{"docs":{},"本":{"docs":{},"地":{"docs":{},"的":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"包":{"docs":{},"路":{"docs":{},"径":{"docs":{},",":{"docs":{},"或":{"docs":{},"是":{"docs":{},"某":{"docs":{},"个":{"docs":{},"全":{"docs":{},"局":{"docs":{},"安":{"docs":{},"装":{"docs":{},"的":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"包":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"作":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"模":{"docs":{},"块":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"整":{"docs":{},"合":{"docs":{},"进":{"docs":{},"其":{"docs":{},"他":{"docs":{},"工":{"docs":{},"具":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}},"向":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"送":{"docs":{},"请":{"docs":{},"求":{"docs":{},"前":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"并":{"docs":{},"带":{"docs":{},"上":{"docs":{},"参":{"docs":{},"数":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"发":{"docs":{},"送":{"docs":{},"请":{"docs":{},"求":{"docs":{},"前":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{},"并":{"docs":{},"带":{"docs":{},"上":{"docs":{},"参":{"docs":{},"数":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"与":{"docs":{},"目":{"docs":{},"标":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"发":{"docs":{},"生":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"二":{"docs":{},"次":{"docs":{},"开":{"docs":{},"发":{"docs":{},"的":{"docs":{},"能":{"docs":{},"力":{"docs":{},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"j":{"docs":{},"s":{"docs":{},"编":{"docs":{},"写":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"(":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{},"来":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"收":{"docs":{},"到":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{},"并":{"docs":{},"带":{"docs":{},"上":{"docs":{},"参":{"docs":{},"数":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"开":{"docs":{},"放":{"docs":{},"式":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"由":{"docs":{},"模":{"docs":{},"块":{"docs":{},"做":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"新":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"或":{"docs":{},"返":{"docs":{},"回":{"docs":{},"响":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"不":{"docs":{},"对":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"做":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"如":{"docs":{},"需":{"docs":{},"看":{"docs":{},"到":{"docs":{},"明":{"docs":{},"文":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"配":{"docs":{},"置":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"t":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"提":{"docs":{},"前":{"docs":{},"信":{"docs":{},"任":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"e":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"y":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0029651593773165306}}},"三":{"docs":{},"个":{"docs":{},"字":{"docs":{},"段":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"等":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},")":{"docs":{},",":{"docs":{},"甚":{"docs":{},"至":{"docs":{},"是":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"目":{"docs":{},"标":{"docs":{},"地":{"docs":{},"址":{"docs":{},"等":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}},"y":{"docs":{},"'":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},",":{"docs":{},"按":{"docs":{},"提":{"docs":{},"示":{"docs":{},"扫":{"docs":{},"描":{"docs":{},"二":{"docs":{},"维":{"docs":{},"码":{"docs":{},"即":{"docs":{},"可":{"docs":{},"安":{"docs":{},"装":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.002223869532987398}},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"o":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}},"d":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},")":{"docs":{},"、":{"docs":{},"响":{"docs":{},"应":{"docs":{},"头":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"'":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"(":{"docs":{},"'":{"docs":{},"t":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}},"t":{"docs":{"./":{"ref":"./","tf":0.014084507042253521}}}},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"'":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.006671608598962194}}}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"w":{"docs":{},"d":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}}},"d":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"s":{"docs":{},"l":{"docs":{},"y":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}},"\"":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"'":{"docs":{"./":{"ref":"./","tf":0.002223869532987398}},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}}},"o":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},")":{"docs":{"./":{"ref":"./","tf":0.0029651593773165306}},";":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}}}},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"(":{"docs":{},"'":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.004447739065974796}}}}}}}},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}},";":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"q":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"(":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}}}}}}}}},"g":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}}},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"主":{"docs":{},"页":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"e":{"docs":{},"d":{"docs":{},"!":{"docs":{"./":{"ref":"./","tf":0.002223869532987398}},"'":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.002223869532987398}},")":{"docs":{},",":{"docs":{},"请":{"docs":{},"求":{"docs":{},"体":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},":":{"docs":{"./":{"ref":"./","tf":0.0029651593773165306}}},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},")":{"docs":{},"、":{"docs":{},"响":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{},"等":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}},"/":{"1":{"docs":{},".":{"1":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"docs":{}}},"docs":{}},":":{"docs":{},"/":{"docs":{},"/":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"1":{"docs":{"./":{"ref":"./","tf":0.007412898443291327}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}},"/":{"docs":{"./":{"ref":"./","tf":0.0029651593773165306}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.002223869532987398}}}}}},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.007412898443291327}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"8":{"0":{"0":{"8":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.002223869532987398}},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}}}}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}},"连":{"docs":{},"接":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"出":{"docs":{},"错":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}},"代":{"docs":{},"理":{"docs":{},"配":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}}},"的":{"docs":{},"代":{"docs":{},"理":{"docs":{},"模":{"docs":{},"式":{"docs":{},"中":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"是":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}}},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.002223869532987398}},"`":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"按":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"模":{"docs":{},"块":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"配":{"docs":{},"置":{"docs":{},"`":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"`":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"都":{"docs":{},"会":{"docs":{},"被":{"docs":{},"替":{"docs":{},"换":{"docs":{},"证":{"docs":{},"书":{"docs":{},"并":{"docs":{},"解":{"docs":{},"析":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"后":{"docs":{},"才":{"docs":{},"会":{"docs":{},"从":{"docs":{},"界":{"docs":{},"面":{"docs":{},"上":{"docs":{},"看":{"docs":{},"到":{"docs":{},"相":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}},"s":{"docs":{},"系":{"docs":{},"统":{"docs":{},"信":{"docs":{},"任":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"'":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}}}},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.002223869532987398}}}}}}}},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"e":{"docs":{},")":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"必":{"docs":{},"须":{"docs":{},"信":{"docs":{},"任":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"才":{"docs":{},"能":{"docs":{},"进":{"docs":{},"行":{"docs":{},"后":{"docs":{},"续":{"docs":{},"流":{"docs":{},"程":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.005930318754633061}}}}},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00815418828762046}}}}}}}}}}}}}},"y":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"p":{"docs":{},"k":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.004447739065974796}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0029651593773165306}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0037064492216456633}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"[":{"docs":{},"'":{"docs":{},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"r":{"docs":{},"e":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.008895478131949592}},"e":{"docs":{},".":{"docs":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.002223869532987398}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"[":{"docs":{},"'":{"docs":{},"x":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}}},"p":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.002223869532987398}}}},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.002223869532987398}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"(":{"docs":{},"{":{"docs":{},"}":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.002223869532987398}}}}}}}}}}}}}}}}}},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.002223869532987398}}}}}}},"s":{"docs":{},"x":{"docs":{},"系":{"docs":{},"统":{"docs":{},"信":{"docs":{},"任":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}},":":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0037064492216456633}}}}},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"\"":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},":":{"docs":{"./":{"ref":"./","tf":0.002223869532987398}}}}}}}},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.01111934766493699}}},"y":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"'":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"y":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"'":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"y":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}},"q":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.002223869532987398}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}}}}},"f":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.004447739065974796}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},":":{"docs":{"./":{"ref":"./","tf":0.002223869532987398}}}}}},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0037064492216456633}},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},";":{"docs":{"./":{"ref":"./","tf":0.0029651593773165306}}}}}}}}}}}}}}}}}},";":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0037064492216456633}}}}}}}}}}}}},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"'":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"y":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"{":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0037064492216456633}},"e":{"docs":{},"\"":{"docs":{},"}":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},":":{"docs":{"./":{"ref":"./","tf":0.011860637509266123}}},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}},")":{"docs":{"./":{"ref":"./","tf":0.004447739065974796}}},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}},";":{"docs":{"./":{"ref":"./","tf":0.0029651593773165306}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.015567086730911787}}}}}}},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"c":{"docs":{},"a":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.012601927353595256}},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"_":{"docs":{},"s":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"/":{"docs":{},"s":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"口":{"docs":{},"文":{"docs":{},"档":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"样":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"模":{"docs":{},"块":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}},"s":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}},":":{"docs":{"./":{"ref":"./","tf":0.005930318754633061}}}}}}},"v":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"t":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"s":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"t":{"docs":{},"u":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0029651593773165306}}}}}}}}}}},"e":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0029651593773165306}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"u":{"docs":{},"d":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"y":{"docs":{},"(":{"docs":{},")":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},":":{"docs":{"./":{"ref":"./","tf":0.002223869532987398}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.005930318754633061}}}}},"x":{"docs":{},"t":{"docs":{},"/":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}},"o":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.002223869532987398}}}}}}},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},";":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"或":{"docs":{},"者":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"替":{"docs":{},"换":{"docs":{},"证":{"docs":{},"书":{"docs":{},"并":{"docs":{},"解":{"docs":{},"析":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},")":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"'":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0029651593773165306}}}},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"u":{"docs":{},"i":{"docs":{},"中":{"docs":{},"的":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"n":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}}}}}},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"s":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.002223869532987398}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"版":{"docs":{},"界":{"docs":{},"面":{"docs":{},"端":{"docs":{},"口":{"docs":{},"号":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"8":{"0":{"0":{"2":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}},"配":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"重":{"docs":{},"构":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"系":{"docs":{},"统":{"docs":{},"信":{"docs":{},"任":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"l":{"docs":{},"d":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"s":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}},"x":{"docs":{"./":{"ref":"./","tf":0.002223869532987398}}},"y":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}},"{":{"docs":{"./":{"ref":"./","tf":0.06523350630096368}},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.0037064492216456633}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.002223869532987398}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.005930318754633061}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.002223869532987398}}}}}}}}}},"|":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"}":{"docs":{"./":{"ref":"./","tf":0.02223869532987398}},")":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}},";":{"docs":{"./":{"ref":"./","tf":0.006671608598962194}}}},",":{"docs":{"./":{"ref":"./","tf":0.014825796886582653}}},";":{"docs":{"./":{"ref":"./","tf":0.020756115641215715}}}},"下":{"docs":{},"载":{"docs":{},"后":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"单":{"docs":{},"击":{"docs":{},"打":{"docs":{},"开":{"docs":{},"并":{"docs":{},"安":{"docs":{},"装":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"是":{"docs":{},"最":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"安":{"docs":{},"装":{"docs":{},"即":{"docs":{},"可":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"做":{"docs":{},"任":{"docs":{},"何":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{},"此":{"docs":{},"时":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"错":{"docs":{},"误":{"docs":{},"页":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}}}}}}}}}}},"开":{"docs":{},"启":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"代":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}},"中":{"docs":{},"把":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"开":{"docs":{},"关":{"docs":{},"打":{"docs":{},"开":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"s":{"docs":{},"a":{"docs":{},"f":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"将":{"docs":{},"报":{"docs":{},"错":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"什":{"docs":{},"么":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"不":{"docs":{},"能":{"docs":{},"进":{"docs":{},"入":{"docs":{},"处":{"docs":{},"理":{"docs":{},"函":{"docs":{},"数":{"docs":{},"?":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"要":{"docs":{},"特":{"docs":{},"性":{"docs":{},"包":{"docs":{},"括":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"举":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},",":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},":":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"从":{"docs":{},"s":{"docs":{},"d":{"docs":{},"卡":{"docs":{},"安":{"docs":{},"装":{"docs":{},"证":{"docs":{},"书":{"docs":{},"。":{"docs":{},"找":{"docs":{},"到":{"docs":{},"你":{"docs":{},"下":{"docs":{},"载":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"安":{"docs":{},"装":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}},"存":{"docs":{},"储":{"docs":{},"设":{"docs":{},"备":{"docs":{},"安":{"docs":{},"装":{"docs":{},"。":{"docs":{},"找":{"docs":{},"到":{"docs":{},"你":{"docs":{},"下":{"docs":{},"载":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"安":{"docs":{},"装":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"理":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"发":{"docs":{},"生":{"docs":{},"错":{"docs":{},"误":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"启":{"docs":{},"动":{"docs":{},"完":{"docs":{},"成":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"都":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"设":{"docs":{},"置":{"docs":{},"中":{"docs":{},"配":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}},"以":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"的":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"y":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"插":{"docs":{},"件":{"docs":{},"为":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"任":{"docs":{},"意":{"docs":{},"一":{"docs":{},"项":{"docs":{},"都":{"docs":{},"能":{"docs":{},"用":{"docs":{},"来":{"docs":{},"改":{"docs":{},"变":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"特":{"docs":{},"性":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}},"几":{"docs":{},"种":{"docs":{},"返":{"docs":{},"回":{"docs":{},"都":{"docs":{},"是":{"docs":{},"合":{"docs":{},"法":{"docs":{},"的":{"docs":{"./":{"ref":"./","tf":0.002223869532987398}}}}}}}}}}}}},"作":{"docs":{},"为":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"模":{"docs":{},"块":{"docs":{},"使":{"docs":{},"用":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"全":{"docs":{},"局":{"docs":{},"模":{"docs":{},"块":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"使":{"docs":{},"用":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"包":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"举":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"在":{"docs":{},"线":{"docs":{},"地":{"docs":{},"址":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"本":{"docs":{},"地":{"docs":{},"数":{"docs":{},"据":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"路":{"docs":{},"径":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"修":{"docs":{},"改":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}},"请":{"docs":{},"求":{"docs":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"协":{"docs":{},"议":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},",":{"docs":{},"如":{"docs":{},"强":{"docs":{},"制":{"docs":{},"改":{"docs":{},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"发":{"docs":{},"起":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}},"参":{"docs":{},"数":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"头":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"数":{"docs":{},"据":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"的":{"docs":{},"目":{"docs":{},"标":{"docs":{},"地":{"docs":{},"址":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"内":{"docs":{},"容":{"docs":{},"并":{"docs":{},"延":{"docs":{},"迟":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"头":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"状":{"docs":{},"态":{"docs":{},"码":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"状":{"docs":{},"态":{"docs":{},"码":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}},"关":{"docs":{},"闭":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"全":{"docs":{},"局":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}},"其":{"docs":{},"他":{"docs":{},"命":{"docs":{},"令":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"创":{"docs":{},"建":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"加":{"docs":{},"密":{"docs":{},"与":{"docs":{},"凭":{"docs":{},"据":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"即":{"docs":{},"将":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"供":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"'":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"作":{"docs":{},"为":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{},"详":{"docs":{},"见":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"j":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"#":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"原":{"docs":{},"始":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"返":{"docs":{},"回":{"docs":{},"对":{"docs":{},"象":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}},"双":{"docs":{},"击":{"docs":{},"打":{"docs":{},"开":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},".":{"docs":{},"c":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}},"发":{"docs":{},"送":{"docs":{},"响":{"docs":{},"应":{"docs":{},"前":{"docs":{},"处":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"请":{"docs":{},"求":{"docs":{},"前":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"处":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}},"只":{"docs":{},"有":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"时":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"才":{"docs":{},"会":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"替":{"docs":{},"换":{"docs":{},"证":{"docs":{},"书":{"docs":{},"、":{"docs":{},"解":{"docs":{},"析":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"。":{"docs":{},"否":{"docs":{},"则":{"docs":{},"只":{"docs":{},"做":{"docs":{},"数":{"docs":{},"据":{"docs":{},"流":{"docs":{},"转":{"docs":{},"发":{"docs":{},",":{"docs":{},"无":{"docs":{},"法":{"docs":{},"看":{"docs":{},"到":{"docs":{},"明":{"docs":{},"文":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"普":{"docs":{},"通":{"docs":{},"的":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}},"修":{"docs":{},"改":{"docs":{},"内":{"docs":{},"容":{"docs":{},"包":{"docs":{},"括":{"docs":{},"请":{"docs":{},"求":{"docs":{},"头":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"包":{"docs":{},"括":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"状":{"docs":{},"态":{"docs":{},"码":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}},"同":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},",":{"docs":{},"加":{"docs":{},"载":{"docs":{},"规":{"docs":{},"则":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"后":{"docs":{},"将":{"docs":{},"终":{"docs":{},"端":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"配":{"docs":{},"置":{"docs":{},"为":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"1":{"docs":{},"即":{"docs":{},"可":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"启":{"docs":{},"动":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"时":{"docs":{},"配":{"docs":{},"置":{"docs":{},"`":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"端":{"docs":{},"口":{"docs":{},"号":{"8":{"0":{"0":{"1":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"启":{"docs":{},"动":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"在":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"j":{"docs":{},"s":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"启":{"docs":{},"动":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"高":{"docs":{},"级":{"docs":{},"设":{"docs":{},"置":{"docs":{},"中":{"docs":{},",":{"docs":{},"配":{"docs":{},"置":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"代":{"docs":{},"理":{"docs":{},"即":{"docs":{},"可":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}},"构":{"docs":{},"造":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"传":{"docs":{},"入":{"docs":{},"参":{"docs":{},"数":{"docs":{},"d":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"s":{"docs":{},"l":{"docs":{},"y":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"请":{"docs":{},"求":{"docs":{},"处":{"docs":{},"理":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"发":{"docs":{},"生":{"docs":{},"错":{"docs":{},"误":{"docs":{},"时":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"并":{"docs":{},"提":{"docs":{},"供":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"错":{"docs":{},"误":{"docs":{},"信":{"docs":{},"息":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"基":{"docs":{},"于":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},",":{"docs":{},"开":{"docs":{},"放":{"docs":{},"二":{"docs":{},"次":{"docs":{},"开":{"docs":{},"发":{"docs":{},"能":{"docs":{},"力":{"docs":{},",":{"docs":{},"允":{"docs":{},"许":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"请":{"docs":{},"求":{"docs":{},"处":{"docs":{},"理":{"docs":{},"逻":{"docs":{},"辑":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"流":{"docs":{},"程":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"图":{"docs":{},"如":{"docs":{},"下":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"多":{"docs":{},"数":{"docs":{},"场":{"docs":{},"景":{"docs":{},"下":{"docs":{},",":{"docs":{},"错":{"docs":{},"误":{"docs":{},"会":{"docs":{},"在":{"docs":{},"请":{"docs":{},"求":{"docs":{},"目":{"docs":{},"标":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"发":{"docs":{},"生":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"解":{"docs":{},"析":{"docs":{},"失":{"docs":{},"败":{"docs":{},"、":{"docs":{},"请":{"docs":{},"求":{"docs":{},"超":{"docs":{},"时":{"docs":{},"等":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"下":{"docs":{},"几":{"docs":{},"种":{"docs":{},"方":{"docs":{},"案":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"来":{"docs":{},"引":{"docs":{},"用":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"何":{"docs":{},"引":{"docs":{},"用":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"果":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"返":{"docs":{},"回":{"docs":{},"了":{"docs":{},"响":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"则":{"docs":{},"立":{"docs":{},"即":{"docs":{},"把":{"docs":{},"此":{"docs":{},"响":{"docs":{},"应":{"docs":{},"返":{"docs":{},"回":{"docs":{},"到":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"(":{"docs":{},"而":{"docs":{},"不":{"docs":{},"再":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},")":{"docs":{},",":{"docs":{},"流":{"docs":{},"程":{"docs":{},"结":{"docs":{},"束":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{},"了":{"docs":{},"全":{"docs":{},"局":{"docs":{},"解":{"docs":{},"析":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"则":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"会":{"docs":{},"略":{"docs":{},"过":{"docs":{},"这":{"docs":{},"个":{"docs":{},"调":{"docs":{},"用":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"启":{"docs":{},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"解":{"docs":{},"析":{"docs":{},",":{"docs":{},"请":{"docs":{},"在":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"启":{"docs":{},"动":{"docs":{},"前":{"docs":{},"自":{"docs":{},"行":{"docs":{},"调":{"docs":{},"用":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},".":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"m":{"docs":{},"g":{"docs":{},"r":{"docs":{},"相":{"docs":{},"关":{"docs":{},"方":{"docs":{},"法":{"docs":{},"生":{"docs":{},"成":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"并":{"docs":{},"引":{"docs":{},"导":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"任":{"docs":{},"安":{"docs":{},"装":{"docs":{},"。":{"docs":{},"或":{"docs":{},"引":{"docs":{},"导":{"docs":{},"用":{"docs":{},"户":{"docs":{},"使":{"docs":{},"用":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"安":{"docs":{},"全":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"性":{"docs":{},"与":{"docs":{},"位":{"docs":{},"置":{"docs":{},"信":{"docs":{},"息":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"卓":{"docs":{},"系":{"docs":{},"统":{"docs":{},"信":{"docs":{},"任":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}},"装":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"c":{"docs":{},"a":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"对":{"docs":{},"于":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"或":{"docs":{},"者":{"docs":{},"u":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"u":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"在":{"docs":{},"安":{"docs":{},"装":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"安":{"docs":{},"装":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{},"示":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"引":{"docs":{},"入":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"当":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"请":{"docs":{},"求":{"docs":{},"经":{"docs":{},"过":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"时":{"docs":{},",":{"docs":{},"具":{"docs":{},"体":{"docs":{},"处":{"docs":{},"理":{"docs":{},"过":{"docs":{},"程":{"docs":{},"是":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"收":{"docs":{},"到":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"时":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"可":{"docs":{},"以":{"docs":{},"替":{"docs":{},"换":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"对":{"docs":{},"请":{"docs":{},"求":{"docs":{},"做":{"docs":{},"明":{"docs":{},"文":{"docs":{},"解":{"docs":{},"析":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"代":{"docs":{},"理":{"docs":{},"时":{"docs":{},",":{"docs":{},"w":{"docs":{},"s":{"docs":{},"s":{"docs":{},"也":{"docs":{},"会":{"docs":{},"被":{"docs":{},"代":{"docs":{},"理":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"记":{"docs":{},"录":{"docs":{},"。":{"docs":{},"需":{"docs":{},"要":{"docs":{},"开":{"docs":{},"启":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"访":{"docs":{},"问":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"站":{"docs":{},"点":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"会":{"docs":{},"提":{"docs":{},"示":{"docs":{},"该":{"docs":{},"站":{"docs":{},"点":{"docs":{},"不":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"安":{"docs":{},"全":{"docs":{},"的":{"docs":{},"网":{"docs":{},"站":{"docs":{},",":{"docs":{},"这":{"docs":{},"通":{"docs":{},"常":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"站":{"docs":{},"点":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"设":{"docs":{},"置":{"docs":{},"不":{"docs":{},"能":{"docs":{},"被":{"docs":{},"正":{"docs":{},"确":{"docs":{},"识":{"docs":{},"别":{"docs":{},"导":{"docs":{},"致":{"docs":{},"的":{"docs":{},"(":{"docs":{},"比":{"docs":{},"如":{"docs":{},",":{"docs":{},"站":{"docs":{},"点":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"是":{"docs":{},"自":{"docs":{},"签":{"docs":{},"发":{"docs":{},"的":{"docs":{},")":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"信":{"docs":{},"任":{"docs":{},"该":{"docs":{},"网":{"docs":{},"站":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"以":{"docs":{},"下":{"docs":{},"方":{"docs":{},"式":{"docs":{},"来":{"docs":{},"继":{"docs":{},"续":{"docs":{},"访":{"docs":{},"问":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"必":{"docs":{},"选":{"docs":{},",":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"端":{"docs":{},"口":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}},"快":{"docs":{},"速":{"docs":{},"开":{"docs":{},"始":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"我":{"docs":{},"们":{"docs":{},"自":{"docs":{},"然":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"借":{"docs":{},"助":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"个":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"我":{"docs":{},"们":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"控":{"docs":{},"制":{"docs":{},"到":{"docs":{},"只":{"docs":{},"允":{"docs":{},"许":{"docs":{},"指":{"docs":{},"定":{"docs":{},"网":{"docs":{},"址":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{},"对":{"docs":{},"不":{"docs":{},"在":{"docs":{},"列":{"docs":{},"表":{"docs":{},"的":{"docs":{},"网":{"docs":{},"址":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"强":{"docs":{},"验":{"docs":{},"证":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"有":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}},"找":{"docs":{},"到":{"docs":{},"刚":{"docs":{},"刚":{"docs":{},"导":{"docs":{},"入":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"配":{"docs":{},"置":{"docs":{},"为":{"docs":{},"信":{"docs":{},"任":{"docs":{},"(":{"docs":{},"a":{"docs":{},"l":{"docs":{},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"把":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"响":{"docs":{},"应":{"docs":{},"信":{"docs":{},"息":{"docs":{},"返":{"docs":{},"回":{"docs":{},"给":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}},"所":{"docs":{},"有":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}},"拦":{"docs":{},"截":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"对":{"docs":{},"内":{"docs":{},"容":{"docs":{},"做":{"docs":{},"修":{"docs":{},"改":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"并":{"docs":{},"修":{"docs":{},"改":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"响":{"docs":{},"应":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"正":{"docs":{},"在":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"g":{"docs":{},"u":{"docs":{},"i":{"docs":{},"界":{"docs":{},"面":{"docs":{},",":{"docs":{},"用":{"docs":{},"以":{"docs":{},"观":{"docs":{},"察":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}},"示":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"支":{"docs":{},"持":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"的":{"docs":{},"解":{"docs":{},"析":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}},"收":{"docs":{},"集":{"docs":{},"请":{"docs":{},"求":{"docs":{},"所":{"docs":{},"有":{"docs":{},"请":{"docs":{},"求":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}},"改":{"docs":{},"成":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"并":{"docs":{},"发":{"docs":{},"送":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}},"时":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"参":{"docs":{},"数":{"docs":{},"内":{"docs":{},"容":{"docs":{},"大":{"docs":{},"致":{"docs":{},"如":{"docs":{},"下":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"参":{"docs":{},"数":{"docs":{},"内":{"docs":{},"容":{"docs":{},"大":{"docs":{},"致":{"docs":{},"如":{"docs":{},"下":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"否":{"docs":{},"启":{"docs":{},"用":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"版":{"docs":{},"界":{"docs":{},"面":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}},"屏":{"docs":{},"蔽":{"docs":{},"所":{"docs":{},"有":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"输":{"docs":{},"出":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"启":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"代":{"docs":{},"理":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}},"强":{"docs":{},"制":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},",":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"忽":{"docs":{},"略":{"docs":{},"请":{"docs":{},"求":{"docs":{},"中":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}},"必":{"docs":{},"选":{"docs":{},"字":{"docs":{},"段":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"文":{"docs":{},"档":{"docs":{},"的":{"docs":{},"适":{"docs":{},"用":{"docs":{},"范":{"docs":{},"围":{"docs":{},"是":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}},"质":{"docs":{},"是":{"docs":{},"中":{"docs":{},"间":{"docs":{},"人":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}},"来":{"docs":{},"加":{"docs":{},"载":{"docs":{},"模":{"docs":{},"块":{"docs":{},"并":{"docs":{},"体":{"docs":{},"验":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"忽":{"docs":{},"略":{"docs":{},"证":{"docs":{},"书":{"docs":{},"认":{"docs":{},"证":{"docs":{},"的":{"docs":{},"错":{"docs":{},"误":{"docs":{},"。":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"该":{"docs":{},"参":{"docs":{},"数":{"docs":{},"是":{"docs":{},"全":{"docs":{},"局":{"docs":{},"生":{"docs":{},"效":{"docs":{},"的":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"在":{"docs":{},"此":{"docs":{},"期":{"docs":{},"间":{"docs":{},"访":{"docs":{},"问":{"docs":{},"了":{"docs":{},"其":{"docs":{},"他":{"docs":{},"未":{"docs":{},"知":{"docs":{},"的":{"docs":{},"网":{"docs":{},"站":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"问":{"docs":{},"题":{"docs":{},"也":{"docs":{},"会":{"docs":{},"被":{"docs":{},"忽":{"docs":{},"略":{"docs":{},",":{"docs":{},"这":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"带":{"docs":{},"来":{"docs":{},"安":{"docs":{},"全":{"docs":{},"隐":{"docs":{},"患":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"查":{"docs":{},"看":{"docs":{},"请":{"docs":{},"求":{"docs":{},"信":{"docs":{},"息":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}},"校":{"docs":{},"验":{"docs":{},"系":{"docs":{},"统":{"docs":{},"内":{"docs":{},"是":{"docs":{},"否":{"docs":{},"存":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"的":{"docs":{},"根":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}},"样":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"根":{"docs":{},"据":{"docs":{},"请":{"docs":{},"求":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"向":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"发":{"docs":{},"出":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"接":{"docs":{},"收":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"响":{"docs":{},"应":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}},"模":{"docs":{},"块":{"docs":{},"介":{"docs":{},"绍":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"此":{"docs":{},"处":{"docs":{},"无":{"docs":{},"法":{"docs":{},"控":{"docs":{},"制":{"docs":{},"向":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"无":{"docs":{},"需":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}},"注":{"docs":{},"意":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"引":{"docs":{},"用":{"docs":{},"规":{"docs":{},"则":{"docs":{},"前":{"docs":{},",":{"docs":{},"请":{"docs":{},"务":{"docs":{},"必":{"docs":{},"确":{"docs":{},"保":{"docs":{},"文":{"docs":{},"件":{"docs":{},"来":{"docs":{},"源":{"docs":{},"可":{"docs":{},"靠":{"docs":{},",":{"docs":{},"以":{"docs":{},"免":{"docs":{},"发":{"docs":{},"生":{"docs":{},"安":{"docs":{},"全":{"docs":{},"问":{"docs":{},"题":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"测":{"docs":{},"试":{"docs":{},"规":{"docs":{},"则":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"访":{"docs":{},"问":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"2":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"然":{"docs":{},"后":{"docs":{},",":{"docs":{},"安":{"docs":{},"装":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}},"生":{"docs":{},"成":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"的":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},",":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},"请":{"docs":{},"引":{"docs":{},"导":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"任":{"docs":{},".":{"docs":{},"c":{"docs":{},"r":{"docs":{},"t":{"docs":{},"文":{"docs":{},"件":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"证":{"docs":{},"书":{"docs":{},"并":{"docs":{},"解":{"docs":{},"析":{"docs":{},"所":{"docs":{},"有":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}},"用":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"发":{"docs":{},"请":{"docs":{},"求":{"docs":{},"测":{"docs":{},"试":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"如":{"docs":{},"下":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}},"测":{"docs":{},"试":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"测":{"docs":{},"试":{"docs":{},":":{"docs":{},"配":{"docs":{},"置":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"代":{"docs":{},"理":{"docs":{},"为":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"会":{"docs":{},"被":{"docs":{},"解":{"docs":{},"析":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"数":{"docs":{},"据":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"请":{"docs":{},"求":{"docs":{},"全":{"docs":{},"部":{"docs":{},"改":{"docs":{},"到":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"本":{"docs":{},"地":{"docs":{},"数":{"docs":{},"据":{"docs":{},"代":{"docs":{},"替":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"返":{"docs":{},"回":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"里":{"docs":{},"加":{"docs":{},"上":{"docs":{},"测":{"docs":{},"试":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"并":{"docs":{},"延":{"docs":{},"迟":{"5":{"docs":{},"秒":{"docs":{},"返":{"docs":{},"回":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"docs":{}}}}}}}}}}}}},"头":{"docs":{},"里":{"docs":{},"加":{"docs":{},"上":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"最":{"docs":{},"后":{"docs":{},"追":{"docs":{},"加":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"的":{"docs":{},"签":{"docs":{},"名":{"docs":{},",":{"docs":{},"并":{"docs":{},"延":{"docs":{},"迟":{"5":{"docs":{},"秒":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"docs":{}}}}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},"码":{"docs":{},"都":{"docs":{},"改":{"docs":{},"成":{"4":{"0":{"4":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"请":{"docs":{},"求":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},":":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},",":{"docs":{},"不":{"docs":{},"再":{"docs":{},"发":{"docs":{},"起":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}},"相":{"docs":{},"比":{"3":{"docs":{},".":{"docs":{},"x":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}},"docs":{}}},"确":{"docs":{},"认":{"docs":{},"将":{"docs":{},"证":{"docs":{},"书":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"或":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0029651593773165306}}}},"简":{"docs":{},"介":{"docs":{"./":{"ref":"./","tf":10}}},"化":{"docs":{},"了":{"docs":{},"规":{"docs":{},"则":{"docs":{},"文":{"docs":{},"件":{"docs":{},"内":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"全":{"docs":{},"局":{"docs":{},"代":{"docs":{},"理":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"密":{"docs":{},"码":{"docs":{},"框":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"似":{"docs":{},"这":{"docs":{},"种":{"docs":{},"报":{"docs":{},"错":{"docs":{},"都":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"系":{"docs":{},"统":{"docs":{},"没":{"docs":{},"有":{"docs":{},"信":{"docs":{},"任":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"所":{"docs":{},"造":{"docs":{},"成":{"docs":{},"的":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"经":{"docs":{},"过":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"后":{"docs":{},",":{"docs":{},"期":{"docs":{},"望":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"如":{"docs":{},"下":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"被":{"docs":{},"明":{"docs":{},"文":{"docs":{},"解":{"docs":{},"析":{"docs":{},"后":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"处":{"docs":{},"理":{"docs":{},"流":{"docs":{},"程":{"docs":{},"同":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"一":{"docs":{},"致":{"docs":{},"。":{"docs":{},"未":{"docs":{},"明":{"docs":{},"文":{"docs":{},"解":{"docs":{},"析":{"docs":{},"请":{"docs":{},"求":{"docs":{},"不":{"docs":{},"会":{"docs":{},"再":{"docs":{},"进":{"docs":{},"入":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"做":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"规":{"docs":{},"则":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},",":{"docs":{},"除":{"docs":{},"了":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},",":{"docs":{},"都":{"docs":{},"是":{"docs":{},"由":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}},"内":{"docs":{},"提":{"docs":{},"供":{"docs":{},"`":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"`":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},"全":{"docs":{},"面":{"docs":{},"支":{"docs":{},"持":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"和":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}},"模":{"docs":{},"块":{"docs":{},"应":{"docs":{},"该":{"docs":{},"符":{"docs":{},"合":{"docs":{},"c":{"docs":{},"m":{"docs":{},"d":{"docs":{},"规":{"docs":{},"范":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"典":{"docs":{},"型":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"代":{"docs":{},"码":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"下":{"docs":{},"。":{"docs":{},"模":{"docs":{},"块":{"docs":{},"中":{"docs":{},"所":{"docs":{},"有":{"docs":{},"方":{"docs":{},"法":{"docs":{},"都":{"docs":{},"是":{"docs":{},"可":{"docs":{},"选":{"docs":{},"的":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"实":{"docs":{},"现":{"docs":{},"业":{"docs":{},"务":{"docs":{},"感":{"docs":{},"兴":{"docs":{},"趣":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"用":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"的":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"文":{"docs":{},"案":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"提":{"docs":{},"示":{"docs":{},"用":{"docs":{},"户":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"力":{"docs":{},"范":{"docs":{},"围":{"docs":{},"包":{"docs":{},"括":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}},"解":{"docs":{},"析":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"是":{"docs":{},"中":{"docs":{},"间":{"docs":{},"人":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}},"警":{"docs":{},"告":{"docs":{},":":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{},"和":{"docs":{},"系":{"docs":{},"统":{"docs":{},"安":{"docs":{},"全":{"docs":{},"息":{"docs":{},"息":{"docs":{},"相":{"docs":{},"关":{"docs":{},",":{"docs":{},"建":{"docs":{},"议":{"docs":{},"亲":{"docs":{},"自":{"docs":{},"生":{"docs":{},"成":{"docs":{},",":{"docs":{},"并":{"docs":{},"妥":{"docs":{},"善":{"docs":{},"保":{"docs":{},"管":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.002223869532987398}},"属":{"docs":{},"性":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"访":{"docs":{},"问":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"2":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"证":{"docs":{},"书":{"docs":{},"下":{"docs":{},"载":{"docs":{},"到":{"docs":{},"指":{"docs":{},"定":{"docs":{},"目":{"docs":{},"录":{"docs":{},"后":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"从":{"docs":{},"其":{"docs":{},"他":{"docs":{},"入":{"docs":{},"口":{"docs":{},"进":{"docs":{},"行":{"docs":{},"安":{"docs":{},"装":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"请":{"docs":{},"求":{"docs":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"或":{"docs":{},"者":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}},"出":{"docs":{},"错":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"的":{"docs":{},"原":{"docs":{},"始":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}}}}}}}}},"目":{"docs":{},"标":{"docs":{},"的":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{},"受":{"docs":{},"制":{"docs":{},"于":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"无":{"docs":{},"法":{"docs":{},"获":{"docs":{},"取":{"docs":{},"完":{"docs":{},"整":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"会":{"docs":{},"明":{"docs":{},"文":{"docs":{},"解":{"docs":{},"析":{"docs":{},"这":{"docs":{},"个":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"其":{"docs":{},"他":{"docs":{},"请":{"docs":{},"求":{"docs":{},"不":{"docs":{},"处":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"由":{"docs":{},"模":{"docs":{},"块":{"docs":{},"对":{"docs":{},"响":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{},"进":{"docs":{},"行":{"docs":{},"处":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"错":{"docs":{},"误":{"docs":{},"页":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}},"这":{"docs":{},"里":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"些":{"docs":{},"样":{"docs":{},"例":{"docs":{},",":{"docs":{},"来":{"docs":{},"讲":{"docs":{},"解":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"常":{"docs":{},"见":{"docs":{},"用":{"docs":{},"法":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"请":{"docs":{},"求":{"docs":{},":":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"参":{"docs":{},"数":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"来":{"docs":{},"修":{"docs":{},"改":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},",":{"docs":{},"其":{"docs":{},"配":{"docs":{},"置":{"docs":{},"也":{"docs":{},"是":{"docs":{},"全":{"docs":{},"局":{"docs":{},"性":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"网":{"docs":{},"站":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"问":{"docs":{},"题":{"docs":{},"都":{"docs":{},"会":{"docs":{},"被":{"docs":{},"忽":{"docs":{},"略":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"1":{"docs":{},"为":{"docs":{},"全":{"docs":{},"局":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"系":{"docs":{},"统":{"docs":{},"代":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}},"o":{"docs":{},"s":{"docs":{},"x":{"docs":{},"系":{"docs":{},"统":{"docs":{},"代":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"端":{"docs":{},"口":{"docs":{},",":{"docs":{},"如":{"1":{"0":{"8":{"0":{"docs":{},"端":{"docs":{},"口":{"docs":{},"启":{"docs":{},"动":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"代":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}},"附":{"docs":{},"录":{"docs":{},":":{"docs":{},"如":{"docs":{},"何":{"docs":{},"信":{"docs":{},"任":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}},"限":{"docs":{},"速":{"docs":{},"值":{"docs":{},",":{"docs":{},"单":{"docs":{},"位":{"docs":{},"k":{"docs":{},"b":{"docs":{},"/":{"docs":{},"s":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"不":{"docs":{},"限":{"docs":{},"速":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}},"除":{"docs":{},"了":{"docs":{},"上":{"docs":{},"述":{"docs":{},"证":{"docs":{},"书":{"docs":{},"安":{"docs":{},"装":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"编":{"docs":{},"写":{"docs":{},"一":{"docs":{},"个":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},",":{"docs":{},"在":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}},"首":{"docs":{},"先":{"docs":{},"和":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"扫":{"docs":{},"描":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"二":{"docs":{},"维":{"docs":{},"码":{"docs":{},"进":{"docs":{},"行":{"docs":{},"下":{"docs":{},"载":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"安":{"docs":{},"卓":{"docs":{},"系":{"docs":{},"统":{"docs":{},"安":{"docs":{},"装":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"可":{"docs":{},"能":{"docs":{},"有":{"docs":{},"所":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"安":{"docs":{},"装":{"docs":{},"的":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"是":{"docs":{},"类":{"docs":{},"似":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"列":{"docs":{},"举":{"docs":{},"了":{"docs":{},"几":{"docs":{},"种":{"docs":{},"类":{"docs":{},"型":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"驱":{"docs":{},"动":{"docs":{},"的":{"docs":{},",":{"docs":{},"函":{"docs":{},"数":{"docs":{},"需":{"docs":{},"要":{"docs":{},"满":{"docs":{},"足":{"docs":{},"y":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},"或":{"docs":{},"是":{"docs":{},"返":{"docs":{},"回":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"或":{"docs":{},"使":{"docs":{},"用":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"界":{"docs":{},"面":{"docs":{},"上":{"docs":{},"能":{"docs":{},"看":{"docs":{},"到":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"信":{"docs":{},"息":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}},"界":{"docs":{},"面":{"docs":{},"上":{"docs":{},"能":{"docs":{},"看":{"docs":{},"到":{"docs":{},"刚":{"docs":{},"才":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"信":{"docs":{},"息":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}},"length":634},"corpusTokens":["\"content","\"curl/7.43.0\"","\"data\":","\"https\"","\"i","\"thi","\"user","\"x","#全局包","#启动anyproxy,并解析所有https请求","#本地包","#生成rootca证书,生成后需要手动信任","&&","'","'...'","'...',","'/',","'/index.html';","'/redirect/to/another/path';","'127.0.0.1'","'8001');","'8008';","';","'a","'anyproxy';","'anyproxy.io',","'anyproxy/0.0.0';","'application/json'","'cach","'close',","'content","'get',","'get';","'hello","'http',","'http';","'http://anyproxy.io/',","'http://httpbin.org/get?show_env=1'","'http://httpbin.org/us","'https'","'https',","'i","'image/gif',","'keep","'mi","'origin","'proxi","'rule","'text/html'","'thi","'user","'{\"hello\":","(!anyproxy.utils.certmgr.ifrootcafileexists())","(!error)","()","(e)","(iswin)","(requestdetail.url","(requestdetail.url.indexof('http://httpbin.org/')","(requestdetail.url.indexof('http://httpbin.org/post')","(requestdetail.url.indexof('http://httpbin.org/us","(requestdetail.url.indexof('https://httpbin.org/us","(requestdetail.url.indexof('https://th/","*/","*/}","*beforedealhttpsrequest(requestdetail)","*beforesendrequest(requestdetail)","*beforesendresponse(requestdetail,","*onconnecterror(requestdetail,","*onerror(requestdetail,","*true*","+=",".',","...","...,","./myrulepkg/","./rule.j","/*","//","//when","//这里也可以同时加上requestopt","/^win/.test(process.platform);","0)","1.","10.3信任ca证书","10000,","1080","127.0.0.1:8001/index.html","127.0.0.1:8001,访问","1,编写规则","2,","2.","200,","3,","4,","4.0的主要变化:","4.0,欢迎提供反馈","404","404;","443;","5000);","5s","80,","8001,","8002","=","===","=>",">",">=",">关于本机",">证书信任设置",">通用","_re","_req","_req:","_res:","a:","agent","agent\":","agent'","agent')","agent':","agent']","alive',","android","anyproxi","anyproxy',","anyproxy.io","anyproxy.proxycore(options);","anyproxy.proxyserv","anyproxy.proxyserver(options)","anyproxy.proxyserver(options);","anyproxy.utils.certmgr","anyproxy.utils.certmgr.generaterootca((error,","anyproxy.utils.certmgr.generaterootca(callback)","anyproxy.utils.certmgr.ifrootcafileexists()","anyproxy.utils.systemproxymgr","anyproxy.utils.systemproxymgr.disableglobalproxy();","anyproxy.utils.systemproxymgr.enableglobalproxy('127.0.0.1',","anyproxyin","anyproxyins.start();","anyproxy使用require()加载本地规则,你可以在参数里传入一个本地的npm包路径,或是某个全局安装的npm包","anyproxy可以作为一个npm模块使用,整合进其他工具。","anyproxy向客户端发送请求前,会调用beforesendresponse,并带上参数requestdetail","anyproxy向服务端发送请求前,会调用beforesendrequest,并带上参数requestdetail","anyproxy在与目标https服务器建立连接的过程中,如果发生错误,anyproxy会调用这个方法","anyproxy提供了二次开发的能力,你可以用js编写自己的规则模块(rule),来自定义网络请求的处理逻辑。","anyproxy收到https请求时,会调用beforedealhttpsrequest,并带上参数requestdetail","anyproxy是一个开放式的http代理服务器。","anyproxy调用规则模块beforesendrequest方法,由模块做处理,返回新的请求参数,或返回响应内容","anyproxy默认不对https请求做处理,如需看到明文信息,需要配置ca证书","apt","at',","attack),需要客户端提前信任anyproxy生成的ca","befor","beforedealhttpsrequest","beforedealhttpsrequest(requestdetail)","beforesendrequest","beforesendrequest(requestdetail)","beforesendrespons","beforesendresponse(requestdetail,","body:","body三个字段","body等","body),甚至是请求的目标地址等","by']","by:","by:anyproxi","ca","ca方法。","ca,按提示扫描二维码即可安装","cert","certdir","certdir);","class:","close","co","code","code)、响应头(respons","connect","connection':","connection:","console.error('error","console.log('th","const","control':","curl","custom","cwd:","d","dangerouslyignoreunauthor","dangerouslyignoreunauthorized:","data","data\"","data'","data',","delay","doc","enabl","enable:","english","error","error)","error);","event:","exec","exec('open","exec('start","expect","fals","false,","false;","faq","file:","finish","forceproxyhttp","forceproxyhttps:","forward","found","function","function()","g","gener","github主页:https://github.com/alibaba/anyproxi","h","hack","hacked!","hacked!';","header","header),请求体(request","header,","header:","headers:","header)、响应内容等","host","host:","hostname:","http","http/1.1","http://....j/","http://127.0.0.1:8001/","http://httpbin.org/","http://httpbin.org/","http://httpbin.org/post","http://httpbin.org/us","http://localhost:8008/index.html","httpbin.org","httpbin.org,","https://httpbin.org/us","https://sample.com/rule.j","https连接服务器出错","http代理配置","http的代理模式中,这里的request是connect请求","ignor","instal","intercept","intercept`参数,按npm模块启动时配置`forceproxyhttps`参数,所有https请求都会被替换证书并解析","intercept后才会从界面上看到相应内容。","io","ios系统信任ca证书","iswin","keypath)","know.com')","legaci","local","localrespons","method:","middl","middle),用户必须信任anyproxy生成的ca证书,才能进行后续流程","modifi","module.export","myrulepkg","new","newopt","newoption.path","newoption.port","newrequestopt","newrequestoptions.headers['us","newrequestoptions.hostnam","newrequestoptions.method","newrequestoptions.path","newrequestoptions.port","newrequestoptions.rejectunauthor","newrespons","newresponse.bodi","newresponse.header['x","newresponse.statuscod","nodej","npm","null;","object.assign({},","onconnecterror","onconnecterror(requestdetail,","onerror","onerror(requestdetail,","option","osx系统信任ca证书","over","path:","port","port:","post","privat","promise((resolve,","protocol","protocol\":","protocol:","proxi","proxy.close();","proxy.on('error',","proxy.on('ready',","proxy.start();","proxyserv","proxyserver.close();","proxyserver.on('error',","proxyserver.on('ready',","proxyserver.start();","q:","readi","redirect","ref:","reject)","rejectunauthor","request","requestdata","requestdata:","requestdetail","requestdetail.protocol","requestdetail.requestoptions);","requestdetail.requestoptions;","requestdetail;","requestopt","requestoptions:","require('anyproxy');","require('child_process').exec;","require('myrulemodule'),","require('path').dirname(keypath);","resolve({","respons","response\"}'","response',","response:","responsedetail","responsedetail)","responsedetail.response);","responsedetail.response;","return","root","rootca',","rule","rule:","rule_sample/sample_modify_request_data.j","rule_sample/sample_modify_request_header.j","rule_sample/sample_modify_request_path.j","rule_sample/sample_modify_request_protocol.j","rule_sample/sample_modify_response_data.j","rule_sample/sample_modify_response_header.j","rule_sample/sample_modify_response_statuscode.j","rule_sample/sample_use_local_response.j","rule接口文档","rule样例","rule模块","sample.j","sample:","save","settimeout(()","silent","silent:","site","ssl","start","statu","statuscode:","step","string","sudo","summari","summary():","summary:","summary:str","test:","text/plain\"","throttl","throttle:","toward","true","true,","true;","true或者false,表示是否需要anyproxy替换证书并解析http","trust","trust)","type':","type:","ui中的","unauthor","url","url:","us","user","var","webinterfac","webinterface:","webport","webport:","web版界面端口号,默认8002","web版界面配置","web版界面重构","windows系统信任ca证书","world'","ws","wsintercept","wsintercept:","x","yieldabl","{","{boolean}","{number}","{object}","{string}","|","}","})","});","},","};","下载后的证书可以直接单击打开并安装,这种方式是最简单的,直接安装即可","不做任何处理。此时anyproxy会返回一个默认的错误页。","不做任何处理,返回null","不开启websocket代理","中把anyproxy证书的开关打开,否则safari将报错。","为","为什么https请求不能进入处理函数?","主要特性包括:","举例","举例,请求","举例:请求","从sd卡安装证书。找到你下载的证书文件,进行安装","从存储设备安装。找到你下载的证书文件,进行安装","代理http","代理websocket","代理服务器发生错误","代理服务器启动完成","代理服务器都在wifi设置中配置","以chrome的switchyomega插件为例","以下任意一项都能用来改变https的处理特性:","以下几种返回都是合法的","作为npm模块使用","作为全局模块","你可以通过","使用npm包","使用举例","使用在线地址","使用本地数据","使用本地路径anyproxi","使用示例","修改发送到","修改请求bodi","修改请求协议","修改请求协议,如强制改用https发起请求","修改请求参数","修改请求头","修改请求数据","修改请求的目标地址","修改返回内容并延迟","修改返回头","修改返回状态码","修改返回的内容","修改返回的状态码","关闭代理服务器","关闭全局代理服务器","其他命令","创建代理服务器","加密与凭据","即将发送的请求配置,供require('http').request作为使用。详见:https://nodejs.org/api/http.html#http_http_request_options_callback","原始的服务端返回对象","双击打开rootca.crt","发送响应前处理","发送请求前拦截处理","只有返回true时,anyproxy才会尝试替换证书、解析https。否则只做数据流转发,无法看到明文数据。","可以是一个函数,也可以是一个普通的字符串","可修改内容包括请求头(request","可修改的内容包括http状态码(statu","同beforedealhttpsrequest中的参数","同beforesendrequest中的参数","启动","启动anyproxy,加载规则","启动代理服务器","启动后将终端http代理服务器配置为127.0.0.1:8001即可","命令行启动anyproxy时配置`","命令行启动anyproxy,默认端口号8001","命令行直接启动","在","在nodejs代码中启动","在wifi高级设置中,配置http代理即可","在构造anyproxy实例的时候,传入参数dangerouslyignoreunauthorized:true,","在请求处理过程中发生错误时,anyproxy会调用onerror方法,并提供对应的错误信息","基于node.js,开放二次开发能力,允许自定义请求处理逻辑","处理流程","处理流程图如下","多数场景下,错误会在请求目标服务器的时候发生,比如dns解析失败、请求超时等","如下几种方案都可以用来引用规则模块:","如下:","如何引用","如果beforesendrequest返回了响应内容,则立即把此响应返回到客户端(而不再发送到真正的服务端),流程结束。","如果配置了全局解析https的参数,则anyproxy会略过这个调用","如要启用https解析,请在代理服务器启动前自行调用anyproxy.utils.certmgr相关方法生成证书,并引导用户信任安装。或引导用户使用anyproxi","安全","安全性与位置信息","安卓系统信任ca证书","安装","安装ca:","对于debian或者ubuntu系统,在安装anyproxy之前,可能还需要安装","开发示例","引入","当http请求经过代理服务器时,具体处理过程是:","当代理服务器收到https请求时,anyproxy可以替换证书,对请求做明文解析。","当启用https代理时,wss也会被代理,但是不会被anyproxy记录。需要开启","当访问特定的https站点,anyproxy会提示该站点不是一个安全的网站,这通常是因为站点的证书设置不能被正确识别导致的(比如,站点的证书是自签发的)。如果您信任该网站,可以用以下方式来继续访问:","必选,代理服务器端口","快速开始","我们自然也可以借助自定义的rule来实现这个效果,而且我们还可以控制到只允许指定网址的证书错误,对不在列表的网址,进行证书的强验证。","所有http://httpbin.org","找到刚刚导入的anyproxy证书,配置为信任(alway","把","把响应信息返回给客户端","把所有发送到","把用http协议请求的","拦截https请求,对内容做修改","拦截发送到","拦截并修改服务端响应","拦截并修改正在发送的请求","提供gui界面,用以观察请求","提示","支持https的解析","收集请求所有请求参数,包括method,","改成https并发送","时,requestdetail参数内容大致如下","时,responsedetail参数内容大致如下","是否启用web版界面,默认fals","是否处理https请求","是否屏蔽所有console输出,默认fals","是否开启websocket代理,默认fals","是否强制拦截所有的https,忽略规则模块的返回,默认fals","是否忽略请求中的证书错误,默认fals","是必选字段","服务端的返回信息,包括statuscod","本文档的适用范围是anyproxi","本质是中间人攻击(man","来加载模块并体验","来忽略证书认证的错误。需要注意的是,该参数是全局生效的,如果你在此期间访问了其他未知的网站,他们的证书问题也会被忽略,这可能会带来安全隐患。","查看请求信息","校验系统内是否存在anyproxy的根证书","样例","根据请求参数,向服务端发出请求,接收服务端响应。","模块介绍","此处无法控制向客户端的返回信息,无需返回值。","注意:http","注意:引用规则前,请务必确保文件来源可靠,以免发生安全问题","测试规则","浏览器访问http://127.0.0.1:8002","点击web","然后,安装anyproxi","生成anyproxy的rootca,完成后请引导用户信任.crt文件","生成证书并解析所有https请求","用curl发请求测试的方法如下","用curl测试","用浏览器测试:配置浏览器http代理为","的https请求会被解析","的post数据","的user","的请求全部改到","的请求,使用本地数据代替服务端返回","的返回值里加上测试信息,并延迟5秒返回","的返回头里加上","的返回最后追加anyproxy的签名,并延迟5秒","的返回状态码都改成404","直接请求服务器:curl","直接返回客户端,不再发起请求,其中statuscod","相比3.x版本,anyproxi","确认将证书添加到login或system","示例","简介","简化了规则文件内的接口","管理anyproxy的证书","管理系统的全局代理配置,方法调用时可能会弹出密码框","类似这种报错都是因为系统没有信任anyproxy生成的ca所造成的","经过代理服务器后,期望的返回如下","自定义规则模块","被明文解析后的https请求,处理流程同http一致。未明文解析请求不会再进入规则模块做处理。","规则文件中,除了summary,都是由","规则文件内提供`beforedealhttpsrequest`方法,返回","规则文件(rule)全面支持promise和gener","规则模块应该符合cmd规范,一个典型的规则模块代码结构如下。模块中所有方法都是可选的,只需实现业务感兴趣的部分即可。","规则模块是用","规则模块的介绍文案,用于anyproxy提示用户,","规则模块的能力范围包括:","解析https请求的原理是中间人攻击(man","警告:ca证书和系统安全息息相关,建议亲自生成,并妥善保管","设置","设置属性","访问http://127.0.0.1:8002","证书下载到指定目录后,需要从其他入口进行安装,包括:","证书配置","请求bodi","请求url","请求使用的协议,http或者http","请求出错的事件","请求的原始request","请求目标的host,受制于协议,这里无法获取完整url","调用规则模块beforedealhttpsrequest方法,如果返回true,会明文解析这个请求,其他请求不处理","调用规则模块beforesendresponse方法,由模块对响应内容进行处理","运行","返回值","返回自定义错误页","这里提供一些样例,来讲解规则模块的常见用法","通过代理服务器请求:curl","通过启动参数","通过自定义的rule来修改","通过这种方式初始化的anyproxy,其配置也是全局性的,所有网站的证书问题都会被忽略","配置127.0.0.1:8001为全局http代理服务器","配置ios/android系统代理","配置osx系统代理","配置启动端口,如1080端口启动","配置浏览器http代理","附录:如何信任ca证书","限速值,单位kb/s,默认不限速","除了上述证书安装过程,还需要在","需要编写一个规则模块,在","首先和ios类似,需要先扫描证书的二维码进行下载。然后不同的安卓系统安装证书的方式可能有所不同,但是安装的步骤是类似的,我们列举了几种类型。","驱动的,函数需要满足yieldable。可以使用generator方法或是返回promise。","驱动的,函数需要满足yieldable。可以返回promise或使用generator函数。",",web界面上能看到所有的请求信息",",界面上能看到刚才的请求信息"],"pipeline":["stopWordFilter","stemmer"]},"store":{"./":{"url":"./","title":"简介","keywords":"","body":"AnyProxy\n\n本文档的适用范围是AnyProxy 4.0,欢迎提供反馈\n\nRef: English Doc\nAnyProxy是一个开放式的HTTP代理服务器。\nGithub主页:https://github.com/alibaba/anyproxy\n主要特性包括:\n\n基于Node.js,开放二次开发能力,允许自定义请求处理逻辑\n支持Https的解析\n提供GUI界面,用以观察请求\n\n相比3.x版本,AnyProxy 4.0的主要变化:\n\n规则文件(Rule)全面支持Promise和Generator\n简化了规则文件内的接口\nWeb版界面重构\n\n\n快速开始\n作为全局模块\n安装\n对于Debian或者Ubuntu系统,在安装AnyProxy之前,可能还需要安装 nodejs-legacy\nsudo apt-get install nodejs-legacy\n\n然后,安装AnyProxy\nnpm install -g anyproxy\n\n启动\n\n命令行启动AnyProxy,默认端口号8001\n\nanyproxy\n\n\n启动后将终端http代理服务器配置为127.0.0.1:8001即可\n访问http://127.0.0.1:8002 ,web界面上能看到所有的请求信息\n\n其他命令\n\n配置启动端口,如1080端口启动\n\nanyproxy --port 1080\n\n作为npm模块使用\nAnyProxy可以作为一个npm模块使用,整合进其他工具。\n\n如要启用https解析,请在代理服务器启动前自行调用AnyProxy.utils.certMgr相关方法生成证书,并引导用户信任安装。或引导用户使用anyproxy-ca方法。\n\n\n引入\n\nnpm i anyproxy --save\n\n\n使用举例\n\nconst AnyProxy = require('anyproxy');\nconst options = {\n port: 8001,\n rule: require('myRuleModule'),\n webInterface: {\n enable: true,\n webPort: 8002\n },\n throttle: 10000,\n forceProxyHttps: false,\n wsIntercept: false, // 不开启websocket代理\n silent: false\n};\nconst proxyServer = new AnyProxy.ProxyServer(options);\n\nproxyServer.on('ready', () => { /* */ });\nproxyServer.on('error', (e) => { /* */ });\nproxyServer.start();\n\n//when finished\nproxyServer.close();\n\n\nClass: AnyProxy.proxyServer\n\n创建代理服务器\nconst proxy = new AnyProxy.proxyServer(options)\n\n\noptions\n\nport {number} 必选,代理服务器端口\nrule {object} 自定义规则模块\nthrottle {number} 限速值,单位kb/s,默认不限速\nforceProxyHttps {boolean} 是否强制拦截所有的https,忽略规则模块的返回,默认false\nsilent {boolean} 是否屏蔽所有console输出,默认false\ndangerouslyIgnoreUnauthorized {boolean} 是否忽略请求中的证书错误,默认false\nwsIntercept {boolean} 是否开启websocket代理,默认false\nwebInterface {object} web版界面配置\nenable {boolean} 是否启用web版界面,默认false\nwebPort {number} web版界面端口号,默认8002\n\n\n\n\nEvent: ready\n\n代理服务器启动完成\n示例\n\nproxy.on('ready', function() { })\n\n\nEvent: error\n\n代理服务器发生错误\n示例\n\nproxy.on('error', function() { })\n\n\nMethod: start\n\n启动代理服务器\n示例\n\nproxy.start();\n\n\nMethod: close\n\n关闭代理服务器\n示例\n\nproxy.close();\n\n\n\n\nAnyProxy.utils.systemProxyMgr\n\n管理系统的全局代理配置,方法调用时可能会弹出密码框\n使用示例\n\n// 配置127.0.0.1:8001为全局http代理服务器\nAnyProxy.utils.systemProxyMgr.enableGlobalProxy('127.0.0.1', '8001');\n\n// 关闭全局代理服务器\nAnyProxy.utils.systemProxyMgr.disableGlobalProxy();\n\n\nAnyProxy.utils.certMgr\n\n管理AnyProxy的证书\nAnyProxy.utils.certMgr.ifRootCAFileExists()\n校验系统内是否存在AnyProxy的根证书\n\n\nAnyProxy.utils.certMgr.generateRootCA(callback)\n生成AnyProxy的rootCA,完成后请引导用户信任.crt文件\n\n\n样例\n\n const AnyProxy = require('AnyProxy');\n const exec = require('child_process').exec;\n\n if (!AnyProxy.utils.certMgr.ifRootCAFileExists()) {\n AnyProxy.utils.certMgr.generateRootCA((error, keyPath) => {\n // let users to trust this CA before using proxy\n if (!error) {\n const certDir = require('path').dirname(keyPath);\n console.log('The cert is generated at', certDir);\n const isWin = /^win/.test(process.platform);\n if (isWin) {\n exec('start .', { cwd: certDir });\n } else {\n exec('open .', { cwd: certDir });\n }\n } else {\n console.error('error when generating rootCA', error);\n }\n });\n }\n\n\n\n代理HTTPS\n\nAnyProxy默认不对https请求做处理,如需看到明文信息,需要配置CA证书\n\n\n解析https请求的原理是中间人攻击(man-in-the-middle),用户必须信任AnyProxy生成的CA证书,才能进行后续流程\n\n\n生成证书并解析所有https请求\n\nanyproxy-ca #生成rootCA证书,生成后需要手动信任\nanyproxy --intercept #启动AnyProxy,并解析所有https请求\n\n\n附录:如何信任CA证书\n\n代理WebSocket\nanyproxy --ws-intercept\n\n\n当启用HTTPS代理时,wss也会被代理,但是不会被AnyProxy记录。需要开启--ws-intercept后才会从界面上看到相应内容。\n\nrule模块\nAnyProxy提供了二次开发的能力,你可以用js编写自己的规则模块(rule),来自定义网络请求的处理逻辑。\n\n注意:引用规则前,请务必确保文件来源可靠,以免发生安全问题\n\n规则模块的能力范围包括:\n\n拦截并修改正在发送的请求\n可修改内容包括请求头(request header),请求体(request body),甚至是请求的目标地址等\n\n\n拦截并修改服务端响应\n可修改的内容包括http状态码(status code)、响应头(response header)、响应内容等\n\n\n拦截https请求,对内容做修改\n本质是中间人攻击(man-in-the-middle attack),需要客户端提前信任AnyProxy生成的CA\n\n\n\n开发示例\n\n举例\n\n需要编写一个规则模块,在 GET http://httpbin.org/user-agent 的返回值里加上测试信息,并延迟5秒返回\n\n\nStep 1,编写规则\n// file: sample.js\nmodule.exports = {\n summary: 'a rule to hack response',\n *beforeSendResponse(requestDetail, responseDetail) {\n if (requestDetail.url === 'http://httpbin.org/user-agent') {\n const newResponse = responseDetail.response;\n newResponse.body += '- AnyProxy Hacked!';\n\n return new Promise((resolve, reject) => {\n setTimeout(() => { // delay\n resolve({ response: newResponse });\n }, 5000);\n });\n }\n },\n};\n\n\nStep 2, 启动AnyProxy,加载规则\n\n运行 anyproxy --rule sample.js\n\n\nStep 3, 测试规则\n\n用curl测试\ncurl http://httpbin.org/user-agent --proxy http://127.0.0.1:8001\n\n\n用浏览器测试:配置浏览器http代理为 127.0.0.1:8001,访问 http://httpbin.org/user-agent\n\n经过代理服务器后,期望的返回如下\n\n\n{\n \"user-agent\": \"curl/7.43.0\"\n}\n- AnyProxy Hacked!\n\nStep 4, 查看请求信息\n\n浏览器访问http://127.0.0.1:8002 ,界面上能看到刚才的请求信息\n\n\n\n处理流程\n\n处理流程图如下\n\n\n\n当http请求经过代理服务器时,具体处理过程是:\n\n收集请求所有请求参数,包括method, header, body等\nAnyProxy调用规则模块beforeSendRequest方法,由模块做处理,返回新的请求参数,或返回响应内容\n如果beforeSendRequest返回了响应内容,则立即把此响应返回到客户端(而不再发送到真正的服务端),流程结束。\n根据请求参数,向服务端发出请求,接收服务端响应。\n调用规则模块beforeSendResponse方法,由模块对响应内容进行处理\n把响应信息返回给客户端\n\n\n当代理服务器收到https请求时,AnyProxy可以替换证书,对请求做明文解析。\n\n调用规则模块beforeDealHttpsRequest方法,如果返回true,会明文解析这个请求,其他请求不处理\n被明文解析后的https请求,处理流程同http一致。未明文解析请求不会再进入规则模块做处理。\n\n\n\n如何引用\n如下几种方案都可以用来引用规则模块:\n\n使用本地路径anyproxy --rule ./rule.js\n\n\n使用在线地址\nanyproxy --rule https://sample.com/rule.js\n\n\n使用npm包\n\nAnyProxy使用require()加载本地规则,你可以在参数里传入一个本地的npm包路径,或是某个全局安装的npm包\n\nanyproxy --rule ./myRulePkg/ #本地包\nnpm i -g myRulePkg && anyproxy --rule myRulePkg #全局包\n\n\n\nrule接口文档\n规则模块应该符合cmd规范,一个典型的规则模块代码结构如下。模块中所有方法都是可选的,只需实现业务感兴趣的部分即可。\nmodule.exports = {\n // 模块介绍\n summary: 'my customized rule for AnyProxy',\n // 发送请求前拦截处理\n *beforeSendRequest(requestDetail) { /* ... */ },\n // 发送响应前处理\n *beforeSendResponse(requestDetail, responseDetail) { /* ... */ },\n // 是否处理https请求\n *beforeDealHttpsRequest(requestDetail) { /* ... */ },\n // 请求出错的事件\n *onError(requestDetail, error) { /* ... */ },\n // https连接服务器出错\n *onConnectError(requestDetail, error) { /* ... */ }\n};\n\n\n规则文件中,除了summary,都是由 co 驱动的,函数需要满足yieldable。可以返回promise或使用generator函数。\n\nsummary\nsummary(): string | summary:string\n\n规则模块的介绍文案,用于AnyProxy提示用户, 可以是一个函数,也可以是一个普通的字符串\n\nbeforeSendRequest\nbeforeSendRequest(requestDetail)\n\nAnyProxy向服务端发送请求前,会调用beforeSendRequest,并带上参数requestDetail\nrequestDetail\nprotocol {string} 请求使用的协议,http或者https\nrequestOptions {object} 即将发送的请求配置,供require('http').request作为使用。详见:https://nodejs.org/api/http.html#http_http_request_options_callback\nrequestData {object} 请求Body\nurl {string} 请求url\n_req {object} 请求的原始request\n\n\n举例:请求 anyproxy.io 时,requestDetail参数内容大致如下\n{\n protocol: 'http',\n url: 'http://anyproxy.io/',\n requestOptions: {\n hostname: 'anyproxy.io',\n port: 80,\n path: '/',\n method: 'GET',\n headers: {\n Host: 'anyproxy.io',\n 'Proxy-Connection': 'keep-alive',\n 'User-Agent': '...'\n }\n },\n requestData: '...',\n _req: { /* ... */}\n}\n\n\n以下几种返回都是合法的\n\n不做任何处理,返回null\n\nreturn null;\n\n\n修改请求协议,如强制改用https发起请求\n\nreturn {\n protocol: 'https'\n};\n\n\n修改请求参数\n\nvar newOption = Object.assign({}, requestDetail.requestOptions);\nnewOption.path = '/redirect/to/another/path';\nreturn {\n requestOptions: newOption\n};\n\n\n修改请求body\n\nreturn {\n requestData: 'my new request data'\n //这里也可以同时加上requestOptions\n};\n\n\n直接返回客户端,不再发起请求,其中statusCode header 是必选字段\n\nreturn {\n response: {\n statusCode: 200,\n header: { 'content-type': 'text/html' },\n body: 'this could be a or '\n }\n};\n\n\n\nbeforeSendResponse\nbeforeSendResponse(requestDetail, responseDetail)\n\nAnyProxy向客户端发送请求前,会调用beforeSendResponse,并带上参数requestDetail responseDetail\nrequestDetail 同beforeSendRequest中的参数\nresponseDetail\nresponse {object} 服务端的返回信息,包括statusCode header body三个字段\n_res {object} 原始的服务端返回对象\n\n\n举例,请求 anyproxy.io 时,responseDetail参数内容大致如下\n{\n response: {\n statusCode: 200,\n header: {\n 'Content-Type': 'image/gif',\n Connection: 'close',\n 'Cache-Control': '...'\n },\n body: '...'\n },\n _res: { /* ... */ }\n}\n\n\n以下几种返回都是合法的\n\n不做任何处理,返回null\n\nreturn null;\n\n\n修改返回的状态码\n\nvar newResponse = Object.assign({}, responseDetail.response);\nnewResponse.statusCode = 404;\nreturn {\n response: newResponse\n};\n\n\n修改返回的内容\n\nvar newResponse = Object.assign({}, responseDetail.response);\nnewResponse.body += '--from anyproxy--';\nreturn {\n response: newResponse\n};\n\n\n\nbeforeDealHttpsRequest\nbeforeDealHttpsRequest(requestDetail)\n\nAnyProxy收到https请求时,会调用beforeDealHttpsRequest,并带上参数requestDetail\n如果配置了全局解析https的参数,则AnyProxy会略过这个调用\n只有返回true时,AnyProxy才会尝试替换证书、解析https。否则只做数据流转发,无法看到明文数据。\n注意:https over http的代理模式中,这里的request是CONNECT请求\nrequestDetail\nhost {string} 请求目标的Host,受制于协议,这里无法获取完整url\n_req {object} 请求的原始request\n\n\n返回值\ntrue或者false,表示是否需要AnyProxy替换证书并解析https\n\n\n\nonError\nonError(requestDetail, error)\n\n在请求处理过程中发生错误时,AnyProxy会调用onError方法,并提供对应的错误信息\n多数场景下,错误会在请求目标服务器的时候发生,比如DNS解析失败、请求超时等\nrequestDetail 同beforeSendRequest中的参数\n以下几种返回都是合法的\n\n不做任何处理。此时AnyProxy会返回一个默认的错误页。\n\nreturn null;\n\n\n返回自定义错误页\n\nreturn {\n response: {\n statusCode: 200,\n header: { 'content-type': 'text/html' },\n body: 'this could be a or '\n }\n};\n\n\n\nonConnectError\nonConnectError(requestDetail, error)\n\nAnyProxy在与目标HTTPS服务器建立连接的过程中,如果发生错误,AnyProxy会调用这个方法\nrequestDetail 同beforeDealHttpsRequest中的参数\n此处无法控制向客户端的返回信息,无需返回值。\n\nrule样例\n\n这里提供一些样例,来讲解规则模块的常见用法\n你可以通过 anyproxy --rule http://....js 来加载模块并体验\n用curl发请求测试的方法如下\n直接请求服务器:curl http://httpbin.org/\n通过代理服务器请求:curl http://httpbin.org/ --proxy http://127.0.0.1:8001\n\n\n\n使用本地数据\n\n拦截发送到 http://httpbin.org 的请求,使用本地数据代替服务端返回\n\nanyproxy --rule rule_sample/sample_use_local_response.js\n\n/* \n sample: \n intercept all requests toward httpbin.org, use a local response\n test:\n curl http://httpbin.org/user-agent --proxy http://127.0.0.1:8001\n*/\nmodule.exports = {\n *beforeSendRequest(requestDetail) {\n const localResponse = {\n statusCode: 200,\n header: { 'Content-Type': 'application/json' },\n body: '{\"hello\": \"this is local response\"}'\n };\n if (requestDetail.url.indexOf('http://httpbin.org/') === 0) {\n return {\n response: localResponse\n };\n }\n },\n};\n\n修改请求头\n\n修改发送到 httpbin.org 的user-agent\n\nanyproxy --rule rule_sample/sample_modify_request_header.js\n\n/* \n sample: \n modify the user-agent in requests toward httpbin.org\n test:\n curl http://httpbin.org/user-agent --proxy http://127.0.0.1:8001\n*/\nmodule.exports = {\n *beforeSendRequest(requestDetail) {\n if (requestDetail.url.indexOf('http://httpbin.org/') === 0) {\n const newRequestOptions = requestDetail.requestOptions;\n newRequestOptions.headers['User-Agent'] = 'AnyProxy/0.0.0';\n return {\n requestOptions: newRequestOptions\n };\n }\n },\n};\n\n修改请求数据\n\n修改发送到 http://httpbin.org/post 的post数据\n\nanyproxy --rule rule_sample/sample_modify_request_data.js\n\n/*\n sample:\n modify the post data towards http://httpbin.org/post\n test:\n curl -H \"Content-Type: text/plain\" -X POST -d 'original post data' http://httpbin.org/post --proxy http://127.0.0.1:8001\n expected response:\n { \"data\": \"i-am-anyproxy-modified-post-data\" }\n*/\nmodule.exports = {\n summary: 'Rule to modify request data',\n *beforeSendRequest(requestDetail) {\n if (requestDetail.url.indexOf('http://httpbin.org/post') === 0) {\n return {\n requestData: 'i-am-anyproxy-modified-post-data'\n };\n }\n },\n};\n\n修改请求的目标地址\n\n把所有发送到 http://httpbin.org/ 的请求全部改到 http://httpbin.org/user-agent\n\nanyproxy --rule rule_sample/sample_modify_request_path.js\n\n/*\n sample:\n redirect all https://httpbin.org/user-agent requests to http://localhost:8008/index.html\n test:\n curl https://httpbin.org/user-agent --proxy http://127.0.0.1:8001\n expected response:\n 'hello world' from 127.0.0.1:8001/index.html\n*/\nmodule.exports = {\n *beforeSendRequest(requestDetail) {\n if (requestDetail.url.indexOf('https://httpbin.org/user-agent') === 0) {\n const newRequestOptions = requestDetail.requestOptions;\n requestDetail.protocol = 'http';\n newRequestOptions.hostname = '127.0.0.1'\n newRequestOptions.port = '8008';\n newRequestOptions.path = '/index.html';\n newRequestOptions.method = 'GET';\n return requestDetail;\n }\n },\n *beforeDealHttpsRequest(requestDetail) {\n return true;\n }\n};\n\n修改请求协议\n\n把用http协议请求的 http://httpbin.org 改成https并发送\n\nanyproxy --rule rule_sample/sample_modify_request_protocol.js\n\n/* \n sample: \n redirect all http requests of httpbin.org to https\n test:\n curl 'http://httpbin.org/get?show_env=1' --proxy http://127.0.0.1:8001\n expected response:\n { \"X-Forwarded-Protocol\": \"https\" }\n*/\nmodule.exports = {\n *beforeSendRequest(requestDetail) {\n if (requestDetail.url.indexOf('http://httpbin.org/') === 0) {\n const newOption = requestDetail.requestOptions;\n newOption.port = 443;\n return {\n protocol: 'https',\n requestOptions: newOption\n };\n }\n }\n};\n\n修改返回状态码\n\n把 所有http://httpbin.org 的返回状态码都改成404\n\nanyproxy --rule rule_sample/sample_modify_response_statuscode.js\n\n/* \n sample: \n modify all status code of http://httpbin.org/ to 404\n test:\n curl -I 'http://httpbin.org/user-agent' --proxy http://127.0.0.1:8001\n expected response:\n HTTP/1.1 404 Not Found\n*/\nmodule.exports = {\n *beforeSendResponse(requestDetail, responseDetail) {\n if (requestDetail.url.indexOf('http://httpbin.org/') === 0) {\n const newResponse = responseDetail.response;\n newResponse.statusCode = 404;\n return {\n response: newResponse\n };\n }\n }\n};\n\n修改返回头\n\n在 http://httpbin.org/user-agent 的返回头里加上 X-Proxy-By:AnyProxy\n\nanyproxy --rule rule_sample/sample_modify_response_header.js\n\n/* \n sample: \n modify response header of http://httpbin.org/user-agent\n test:\n curl -I 'http://httpbin.org/user-agent' --proxy http://127.0.0.1:8001\n expected response:\n X-Proxy-By: AnyProxy\n*/\nmodule.exports = {\n *beforeSendResponse(requestDetail, responseDetail) {\n if (requestDetail.url.indexOf('http://httpbin.org/user-agent') === 0) {\n const newResponse = responseDetail.response;\n newResponse.header['X-Proxy-By'] = 'AnyProxy';\n return {\n response: newResponse\n };\n }\n }\n};\n\n修改返回内容并延迟\n\n在 http://httpbin.org/user-agent 的返回最后追加AnyProxy的签名,并延迟5秒\n\nanyproxy --rule rule_sample/sample_modify_response_data.js\n\n/* \n sample: \n modify response data of http://httpbin.org/user-agent\n test:\n curl 'http://httpbin.org/user-agent' --proxy http://127.0.0.1:8001\n expected response:\n { \"user-agent\": \"curl/7.43.0\" } -- AnyProxy Hacked! --\n*/\n\nmodule.exports = {\n *beforeSendResponse(requestDetail, responseDetail) {\n if (requestDetail.url === 'http://httpbin.org/user-agent') {\n const newResponse = responseDetail.response;\n newResponse.body += '-- AnyProxy Hacked! --';\n return new Promise((resolve, reject) => {\n setTimeout(() => { // delay the response for 5s\n resolve({ response: newResponse });\n }, 5000);\n });\n }\n },\n};\n\n证书配置\nOSX系统信任CA证书\n\n类似这种报错都是因为系统没有信任AnyProxy生成的CA所造成的\n\n\n\n警告:CA证书和系统安全息息相关,建议亲自生成,并妥善保管\n\n安装CA:\n\n双击打开rootCA.crt\n\n确认将证书添加到login或system\n\n\n\n\n找到刚刚导入的AnyProxy证书,配置为信任(Always Trust)\n\n\nWindows系统信任CA证书\n\n配置OSX系统代理\n\n在wifi高级设置中,配置http代理即可\n\n\n配置浏览器HTTP代理\n\n以Chrome的SwitchyOmega插件为例\n\n\niOS系统信任CA证书\n\n点击web ui中的 Root CA,按提示扫描二维码即可安装\n\n\niOS >= 10.3信任CA证书\n\n除了上述证书安装过程,还需要在 设置->通用->关于本机->证书信任设置 中把AnyProxy证书的开关打开,否则safari将报错。\n\n\n安卓系统信任CA证书\n首先和iOS类似,需要先扫描证书的二维码进行下载。然后不同的安卓系统安装证书的方式可能有所不同,但是安装的步骤是类似的,我们列举了几种类型。\n\n下载后的证书可以直接单击打开并安装,这种方式是最简单的,直接安装即可\n证书下载到指定目录后,需要从其他入口进行安装,包括:\n设置 -> 安全性与位置信息 -> 加密与凭据 -> 从存储设备安装。找到你下载的证书文件,进行安装\n设置 -> 安全 -> 从SD卡安装证书。找到你下载的证书文件,进行安装\n\n\n\n配置iOS/Android系统代理\n\n代理服务器都在wifi设置中配置\n\niOS HTTP代理配置\n\n\n\n\nAndroid HTTP代理配置\n\n\nFAQ\nQ: 为什么https请求不能进入处理函数?\n A: 以下任意一项都能用来改变https的处理特性:\n 1. 命令行启动AnyProxy时配置`--intercept`参数,按npm模块启动时配置`forceProxyHttps`参数,所有Https请求都会被替换证书并解析\n 2. 规则文件内提供`beforeDealHttpsRequest`方法,返回 *true* 的https请求会被解析\nQ: 提示 function is not yieldable\n\nA: 规则模块是用 co 驱动的,函数需要满足yieldable。可以使用generator方法或是返回Promise。\n\nQ: The connection is not private\n当访问特定的HTTPS站点,AnyProxy会提示该站点不是一个安全的网站,这通常是因为站点的证书设置不能被正确识别导致的(比如,站点的证书是自签发的)。如果您信任该网站,可以用以下方式来继续访问:\n\n命令行直接启动\n通过启动参数 --ignore-unauthorized-ssl 来忽略证书认证的错误。需要注意的是,该参数是全局生效的,如果你在此期间访问了其他未知的网站,他们的证书问题也会被忽略,这可能会带来安全隐患。\nanyproxy -i --ignore-unauthorized-ssl\n\n\n在Nodejs代码中启动\n在构造AnyProxy实例的时候,传入参数dangerouslyIgnoreUnauthorized:true, 如下:\n const options = {\n ...,\n dangerouslyIgnoreUnauthorized: true\n };\n\n const anyproxyIns = new AnyProxy.ProxyCore(options);\n anyproxyIns.start();\n\n通过这种方式初始化的AnyProxy,其配置也是全局性的,所有网站的证书问题都会被忽略\n\n通过自定义的Rule来修改\n我们自然也可以借助自定义的Rule来实现这个效果,而且我们还可以控制到只允许指定网址的证书错误,对不在列表的网址,进行证书的强验证。\nmodule.exports = {\n *beforeSendRequest(requestDetail) {\n if (requestDetail.url.indexOf('https://the-site-you-know.com/') === 0) {\n const newRequestOptions = requestDetail.requestOptions;\n // 设置属性 rejectUnauthorized 为 false\n newRequestOptions.rejectUnauthorized = false;\n return {\n requestOptions: newRequestOptions\n };\n }\n },\n};\n\n\n\n"}}} \ No newline at end of file +{"index":{"version":"0.5.12","fields":[{"name":"title","boost":10},{"name":"keywords","boost":15},{"name":"body","boost":1}],"ref":"url","documentStore":{"store":{"./":["\"content","\"curl/7.43.0\"","\"data\":","\"https\"","\"i","\"thi","\"user","\"x","#全局包","#启动anyproxy,并解析所有https请求","#本地包","#生成rootca证书,生成后需要手动信任","&&","'","'...'","'...',","'/',","'/index.html';","'/redirect/to/another/path';","'127.0.0.1'","'8001');","'8008';","';","'a","'anyproxy';","'anyproxy.io',","'anyproxy/0.0.0';","'application/json'","'cach","'close',","'content","'get',","'get';","'hello","'http',","'http';","'http://anyproxy.io/',","'http://httpbin.org/get?show_env=1'","'http://httpbin.org/us","'https'","'https',","'i","'image/gif',","'keep","'mi","'origin","'proxi","'rule","'text/html'","'thi","'user","'{\"hello\":","(!anyproxy.utils.certmgr.ifrootcafileexists())","(!error)","()","(e)","(iswin)","(requestdetail.url","(requestdetail.url.indexof('http://httpbin.org/')","(requestdetail.url.indexof('http://httpbin.org/post')","(requestdetail.url.indexof('http://httpbin.org/us","(requestdetail.url.indexof('https://httpbin.org/us","(requestdetail.url.indexof('https://th/","*/","*/}","*beforedealhttpsrequest(requestdetail)","*beforesendrequest(requestdetail)","*beforesendresponse(requestdetail,","*onconnecterror(requestdetail,","*onerror(requestdetail,","*true*","+=",".',","...","...,","./myrulepkg/","./rule.j",".cer",".crt","/*","//","//when","//这里也可以同时加上requestopt","/^win/.test(process.platform);","0)","1.","10.3信任ca证书","10000,","1080","127.0.0.1:8001/index.html","127.0.0.1:8001,访问","1,编写规则","2,","2.","200,","3,","4,","4.0的主要变化:","4.0,欢迎提供反馈","404","404;","443;","5000);","5s","80,","8001,","8002","=","===","=>",">",">=",">关于本机",">证书信任设置",">通用","_re","_req","_req:","_res:","a:","agent","agent\":","agent'","agent')","agent':","agent']","alive',","android","anyproxi","anyproxy',","anyproxy.io","anyproxy.proxycore(options);","anyproxy.proxyserv","anyproxy.proxyserver(options)","anyproxy.proxyserver(options);","anyproxy.utils.certmgr","anyproxy.utils.certmgr.generaterootca((error,","anyproxy.utils.certmgr.generaterootca(callback)","anyproxy.utils.certmgr.ifrootcafileexists()","anyproxy.utils.systemproxymgr","anyproxy.utils.systemproxymgr.disableglobalproxy();","anyproxy.utils.systemproxymgr.enableglobalproxy('127.0.0.1',","anyproxyin","anyproxyins.start();","anyproxy使用require()加载本地规则,你可以在参数里传入一个本地的npm包路径,或是某个全局安装的npm包","anyproxy可以作为一个npm模块使用,整合进其他工具。","anyproxy向客户端发送请求前,会调用beforesendresponse,并带上参数requestdetail","anyproxy向服务端发送请求前,会调用beforesendrequest,并带上参数requestdetail","anyproxy在与目标https服务器建立连接的过程中,如果发生错误,anyproxy会调用这个方法","anyproxy提供了二次开发的能力,你可以用js编写自己的规则模块(rule),来自定义网络请求的处理逻辑。","anyproxy收到https请求时,会调用beforedealhttpsrequest,并带上参数requestdetail","anyproxy是一个开放式的http代理服务器。","anyproxy调用规则模块beforesendrequest方法,由模块做处理,返回新的请求参数,或返回响应内容","anyproxy默认不对https请求做处理,如需看到明文信息,需要配置ca证书","apt","at',","attack),需要客户端提前信任anyproxy生成的ca","befor","beforedealhttpsrequest","beforedealhttpsrequest(requestdetail)","beforesendrequest","beforesendrequest(requestdetail)","beforesendrespons","beforesendresponse(requestdetail,","body:","body三个字段","body等","body),甚至是请求的目标地址等","by']","by:","by:anyproxi","ca","ca方法。","ca,按提示扫描二维码即可安装","cert","certdir","certdir);","class:","close","co","code","code)、响应头(respons","connect","connection':","connection:","console.error('error","console.log('th","const","control':","curl","custom","cwd:","d","dangerouslyignoreunauthor","dangerouslyignoreunauthorized:","data","data\"","data'","data',","delay","doc","enabl","enable:","english","error","error)","error);","event:","exec","exec('open","exec('start","expect","fals","false,","false;","faq","file:","finish","forceproxyhttp","forceproxyhttps:","forward","found","function","function()","g","gener","github主页:https://github.com/alibaba/anyproxi","h","hack","hacked!","hacked!';","header","header),请求体(request","header,","header:","headers:","header)、响应内容等","host","host:","hostname:","http","http/1.1","http://....j/","http://127.0.0.1:8001/","http://httpbin.org/","http://httpbin.org/","http://httpbin.org/post","http://httpbin.org/us","http://localhost:8008/index.html","httpbin.org","httpbin.org,","https://httpbin.org/us","https://sample.com/rule.j","https连接服务器出错","http代理配置","http的代理模式中,这里的request是connect请求","ignor","instal","intercept","intercept`参数,按npm模块启动时配置`forceproxyhttps`参数,所有https请求都会被替换证书并解析","intercept后才会从界面上看到相应内容。","io","ios系统信任ca证书","iswin","keypath)","know.com')","legaci","local","localrespons","method:","middl","middle),用户必须信任anyproxy生成的ca证书,才能进行后续流程","modifi","module.export","myrulepkg","new","newopt","newoption.path","newoption.port","newrequestopt","newrequestoptions.headers['us","newrequestoptions.hostnam","newrequestoptions.method","newrequestoptions.path","newrequestoptions.port","newrequestoptions.rejectunauthor","newrespons","newresponse.bodi","newresponse.header['x","newresponse.statuscod","nodej","npm","null;","object.assign({},","onconnecterror","onconnecterror(requestdetail,","onerror","onerror(requestdetail,","oppo","option","osx系统信任ca证书","over","path:","port","port:","post","privat","promise((resolve,","protocol","protocol\":","protocol:","proxi","proxy.close();","proxy.on('error',","proxy.on('ready',","proxy.start();","proxyserv","proxyserver.close();","proxyserver.on('error',","proxyserver.on('ready',","proxyserver.start();","q:","r15),anyproxi","readi","redirect","ref:","reject)","rejectunauthor","request","requestdata","requestdata:","requestdetail","requestdetail.protocol","requestdetail.requestoptions);","requestdetail.requestoptions;","requestdetail;","requestopt","requestoptions:","require('anyproxy');","require('child_process').exec;","require('myrulemodule'),","require('path').dirname(keypath);","resolve({","respons","response\"}'","response',","response:","responsedetail","responsedetail)","responsedetail.response);","responsedetail.response;","return","root","rootca',","rule","rule:","rule_sample/sample_modify_request_data.j","rule_sample/sample_modify_request_header.j","rule_sample/sample_modify_request_path.j","rule_sample/sample_modify_request_protocol.j","rule_sample/sample_modify_response_data.j","rule_sample/sample_modify_response_header.j","rule_sample/sample_modify_response_statuscode.j","rule_sample/sample_use_local_response.j","rule接口文档","rule样例","rule模块","sample.j","sample:","save","settimeout(()","silent","silent:","site","ssl","start","statu","statuscode:","step","string","sudo","summari","summary():","summary:","summary:str","test:","text/plain\"","throttl","throttle:","toward","true","true,","true;","true或者false,表示是否需要anyproxy替换证书并解析http","trust","trust)","type':","type:","ui中的","unauthor","url","url:","us","user","var","webinterfac","webinterface:","webport","webport:","web版界面端口号,默认8002","web版界面配置","web版界面重构","windows系统信任ca证书","world'","ws","wsintercept","wsintercept:","x","yieldabl","{","{boolean}","{number}","{object}","{string}","|","}","})","});","},","};","下载后的证书可以直接单击打开并安装,这种方式是最简单的,直接安装即可","不做任何处理。此时anyproxy会返回一个默认的错误页。","不做任何处理,返回null","不同安卓系统支持安装的证书文件类型不尽相同,大多支持安装拓展名为","不开启websocket代理","中把anyproxy证书的开关打开,否则safari将报错。","为","为什么https请求不能进入处理函数?","主要特性包括:","举例","举例,请求","举例:请求","从sd卡安装证书。找到你下载的证书文件,进行安装","从存储设备安装。找到你下载的证书文件,进行安装","代理http","代理websocket","代理服务器发生错误","代理服务器启动完成","代理服务器都在wifi设置中配置","以chrome的switchyomega插件为例","以下任意一项都能用来改变https的处理特性:","以下几种返回都是合法的","作为npm模块使用","作为全局模块","你可以通过","使用npm包","使用举例","使用在线地址","使用本地数据","使用本地路径anyproxi","使用示例","修改发送到","修改请求bodi","修改请求协议","修改请求协议,如强制改用https发起请求","修改请求参数","修改请求头","修改请求数据","修改请求的目标地址","修改返回内容并延迟","修改返回头","修改返回状态码","修改返回的内容","修改返回的状态码","关闭代理服务器","关闭全局代理服务器","其他命令","创建代理服务器","加密与凭据","即将发送的请求配置,供require('http').request作为使用。详见:https://nodejs.org/api/http.html#http_http_request_options_callback","原始的服务端返回对象","双击打开rootca.crt","发送响应前处理","发送请求前拦截处理","只有返回true时,anyproxy才会尝试替换证书、解析https。否则只做数据流转发,无法看到明文数据。","可以是一个函数,也可以是一个普通的字符串","可修改内容包括请求头(request","可修改的内容包括http状态码(statu","同beforedealhttpsrequest中的参数","同beforesendrequest中的参数","启动","启动anyproxy,加载规则","启动代理服务器","启动后将终端http代理服务器配置为127.0.0.1:8001即可","命令行启动anyproxy时配置`","命令行启动anyproxy,默认端口号8001","命令行直接启动","在","在nodejs代码中启动","在wifi高级设置中,配置http代理即可","在构造anyproxy实例的时候,传入参数dangerouslyignoreunauthorized:true,","在请求处理过程中发生错误时,anyproxy会调用onerror方法,并提供对应的错误信息","基于node.js,开放二次开发能力,允许自定义请求处理逻辑","处理流程","处理流程图如下","多数场景下,错误会在请求目标服务器的时候发生,比如dns解析失败、请求超时等","如下几种方案都可以用来引用规则模块:","如下:","如何引用","如果beforesendrequest返回了响应内容,则立即把此响应返回到客户端(而不再发送到真正的服务端),流程结束。","如果配置了全局解析https的参数,则anyproxy会略过这个调用","如要启用https解析,请在代理服务器启动前自行调用anyproxy.utils.certmgr相关方法生成证书,并引导用户信任安装。或引导用户使用anyproxi","安全","安全性与位置信息","安卓系统信任ca证书","安装","安装ca:","对于debian或者ubuntu系统,在安装anyproxy之前,可能还需要安装","开发示例","引入","当http请求经过代理服务器时,具体处理过程是:","当代理服务器收到https请求时,anyproxy可以替换证书,对请求做明文解析。","当启用https代理时,wss也会被代理,但是不会被anyproxy记录。需要开启","当访问特定的https站点,anyproxy会提示该站点不是一个安全的网站,这通常是因为站点的证书设置不能被正确识别导致的(比如,站点的证书是自签发的)。如果您信任该网站,可以用以下方式来继续访问:","必选,代理服务器端口","快速开始","我们自然也可以借助自定义的rule来实现这个效果,而且我们还可以控制到只允许指定网址的证书错误,对不在列表的网址,进行证书的强验证。","所有http://httpbin.org","找到刚刚导入的anyproxy证书,配置为信任(alway","把","把响应信息返回给客户端","把所有发送到","把用http协议请求的","拦截https请求,对内容做修改","拦截发送到","拦截并修改服务端响应","拦截并修改正在发送的请求","提供gui界面,用以观察请求","提供了多种类型的证书文件,可在下载安装时选择。","提示","支持https的解析","收集请求所有请求参数,包括method,","改成https并发送","文件(已知如","时,requestdetail参数内容大致如下","时,responsedetail参数内容大致如下","是否启用web版界面,默认fals","是否处理https请求","是否屏蔽所有console输出,默认fals","是否开启websocket代理,默认fals","是否强制拦截所有的https,忽略规则模块的返回,默认fals","是否忽略请求中的证书错误,默认fals","是必选字段","服务端的返回信息,包括statuscod","本文档的适用范围是anyproxi","本质是中间人攻击(man","来加载模块并体验","来忽略证书认证的错误。需要注意的是,该参数是全局生效的,如果你在此期间访问了其他未知的网站,他们的证书问题也会被忽略,这可能会带来安全隐患。","查看请求信息","校验系统内是否存在anyproxy的根证书","样例","根据请求参数,向服务端发出请求,接收服务端响应。","模块介绍","此处无法控制向客户端的返回信息,无需返回值。","注意:http","注意:引用规则前,请务必确保文件来源可靠,以免发生安全问题","测试规则","浏览器访问http://127.0.0.1:8002","点击web","然后,安装anyproxi","生成anyproxy的rootca,完成后请引导用户信任.crt文件","生成证书并解析所有https请求","用curl发请求测试的方法如下","用curl测试","用浏览器测试:配置浏览器http代理为","的https请求会被解析","的post数据","的user","的证书文件,少部分仅支持","的请求全部改到","的请求,使用本地数据代替服务端返回","的返回值里加上测试信息,并延迟5秒返回","的返回头里加上","的返回最后追加anyproxy的签名,并延迟5秒","的返回状态码都改成404","直接请求服务器:curl","直接返回客户端,不再发起请求,其中statuscod","相比3.x版本,anyproxi","确认将证书添加到login或system","示例","简介","简化了规则文件内的接口","管理anyproxy的证书","管理系统的全局代理配置,方法调用时可能会弹出密码框","类似这种报错都是因为系统没有信任anyproxy生成的ca所造成的","经过代理服务器后,期望的返回如下","自定义规则模块","被明文解析后的https请求,处理流程同http一致。未明文解析请求不会再进入规则模块做处理。","规则文件中,除了summary,都是由","规则文件内提供`beforedealhttpsrequest`方法,返回","规则文件(rule)全面支持promise和gener","规则模块应该符合cmd规范,一个典型的规则模块代码结构如下。模块中所有方法都是可选的,只需实现业务感兴趣的部分即可。","规则模块是用","规则模块的介绍文案,用于anyproxy提示用户,","规则模块的能力范围包括:","解析https请求的原理是中间人攻击(man","警告:ca证书和系统安全息息相关,建议亲自生成,并妥善保管","设置","设置属性","访问http://127.0.0.1:8002","证书下载到指定目录后,需要从其他入口进行安装,包括:","证书配置","请求bodi","请求url","请求使用的协议,http或者http","请求出错的事件","请求的原始request","请求目标的host,受制于协议,这里无法获取完整url","调用规则模块beforedealhttpsrequest方法,如果返回true,会明文解析这个请求,其他请求不处理","调用规则模块beforesendresponse方法,由模块对响应内容进行处理","运行","返回值","返回自定义错误页","这里提供一些样例,来讲解规则模块的常见用法","通过代理服务器请求:curl","通过启动参数","通过自定义的rule来修改","通过这种方式初始化的anyproxy,其配置也是全局性的,所有网站的证书问题都会被忽略","配置127.0.0.1:8001为全局http代理服务器","配置ios/android系统代理","配置osx系统代理","配置启动端口,如1080端口启动","配置浏览器http代理","附录:如何信任ca证书","限速值,单位kb/s,默认不限速","除了上述证书安装过程,还需要在","需要编写一个规则模块,在","首先和ios类似,需要先扫描证书的二维码进行下载。然后不同的安卓系统安装证书的方式可能有所不同,但是安装的步骤是类似的,我们列举了几种类型。","驱动的,函数需要满足yieldable。可以使用generator方法或是返回promise。","驱动的,函数需要满足yieldable。可以返回promise或使用generator函数。",",web界面上能看到所有的请求信息",",界面上能看到刚才的请求信息"]},"length":1},"tokenStore":{"root":{"0":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0058953574060427415}}}},"1":{"0":{"0":{"0":{"0":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"docs":{}},"docs":{}},"8":{"0":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"docs":{}},"docs":{},".":{"3":{"docs":{},"信":{"docs":{},"任":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"docs":{}}},"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"1":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},",":{"docs":{},"访":{"docs":{},"问":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},",":{"docs":{},"编":{"docs":{},"写":{"docs":{},"规":{"docs":{},"则":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},"2":{"0":{"0":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0029476787030213707}}}},"docs":{}},"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},".":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"3":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"4":{"0":{"4":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}},";":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}},"docs":{}},"4":{"3":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"docs":{}},"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},".":{"0":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"变":{"docs":{},"化":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},",":{"docs":{},"欢":{"docs":{},"迎":{"docs":{},"提":{"docs":{},"供":{"docs":{},"反":{"docs":{},"馈":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}},"docs":{}}},"5":{"0":{"0":{"0":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}},"docs":{}},"docs":{}},"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"8":{"0":{"0":{"1":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"2":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"docs":{}},"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"docs":{}},"docs":{},"\"":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"/":{"7":{"docs":{},".":{"4":{"3":{"docs":{},".":{"0":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"\"":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},"i":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}}},"x":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"#":{"docs":{},"全":{"docs":{},"局":{"docs":{},"包":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"启":{"docs":{},"动":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},",":{"docs":{},"并":{"docs":{},"解":{"docs":{},"析":{"docs":{},"所":{"docs":{},"有":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"地":{"docs":{},"包":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"生":{"docs":{},"成":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"后":{"docs":{},"需":{"docs":{},"要":{"docs":{},"手":{"docs":{},"动":{"docs":{},"信":{"docs":{},"任":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}},"&":{"docs":{},"&":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"'":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"8":{"0":{"0":{"1":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"8":{"docs":{},"'":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{"./":{"ref":"./","tf":0.0036845983787767134}},".":{"docs":{},".":{"docs":{},".":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.002210759027266028}},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"/":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"'":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"/":{"docs":{},"t":{"docs":{},"o":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"'":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}},"a":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"'":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}}}},"/":{"0":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},"'":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0029476787030213707}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},";":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},";":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"?":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},"=":{"1":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"docs":{}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0036845983787767134}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"i":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"f":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"m":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}}}}}}}},"h":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"{":{"docs":{},"\"":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"\"":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}},"(":{"docs":{},"!":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},".":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"m":{"docs":{},"g":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},")":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"e":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"i":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},".":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"'":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"'":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0029476787030213707}}}},"/":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"'":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"*":{"docs":{},"/":{"docs":{"./":{"ref":"./","tf":0.011790714812085483}},"}":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.005158437730287398}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0036845983787767134}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"*":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},"+":{"docs":{},"=":{"docs":{"./":{"ref":"./","tf":0.002210759027266028}}}},".":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}},".":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.005158437730287398}},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"/":{"docs":{},"m":{"docs":{},"y":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"p":{"docs":{},"k":{"docs":{},"g":{"docs":{},"/":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"/":{"docs":{},"*":{"docs":{"./":{"ref":"./","tf":0.012527634487840826}}},"/":{"docs":{"./":{"ref":"./","tf":0.010316875460574797}},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"这":{"docs":{},"里":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"同":{"docs":{},"时":{"docs":{},"加":{"docs":{},"上":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}},"^":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},".":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},".":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{"./":{"ref":"./","tf":0.03316138540899042}},"=":{"docs":{},"=":{"docs":{"./":{"ref":"./","tf":0.007369196757553427}}}},">":{"docs":{"./":{"ref":"./","tf":0.005158437730287398}}}},">":{"docs":{"./":{"ref":"./","tf":0.0036845983787767134}},"=":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"关":{"docs":{},"于":{"docs":{},"本":{"docs":{},"机":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"证":{"docs":{},"书":{"docs":{},"信":{"docs":{},"任":{"docs":{},"设":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},"通":{"docs":{},"用":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"q":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"a":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.010316875460574797}},"\"":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}},"'":{"docs":{"./":{"ref":"./","tf":0.002210759027266028}},")":{"docs":{"./":{"ref":"./","tf":0.0029476787030213707}}},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"]":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.023581429624170966}}},"y":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},".":{"docs":{},"i":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},";":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"m":{"docs":{},"g":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"(":{"docs":{},"(":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"m":{"docs":{},"g":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"(":{"docs":{},"'":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"s":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"加":{"docs":{},"载":{"docs":{},"本":{"docs":{},"地":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"参":{"docs":{},"数":{"docs":{},"里":{"docs":{},"传":{"docs":{},"入":{"docs":{},"一":{"docs":{},"个":{"docs":{},"本":{"docs":{},"地":{"docs":{},"的":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"包":{"docs":{},"路":{"docs":{},"径":{"docs":{},",":{"docs":{},"或":{"docs":{},"是":{"docs":{},"某":{"docs":{},"个":{"docs":{},"全":{"docs":{},"局":{"docs":{},"安":{"docs":{},"装":{"docs":{},"的":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"包":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"作":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"模":{"docs":{},"块":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"整":{"docs":{},"合":{"docs":{},"进":{"docs":{},"其":{"docs":{},"他":{"docs":{},"工":{"docs":{},"具":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}},"向":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"送":{"docs":{},"请":{"docs":{},"求":{"docs":{},"前":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"并":{"docs":{},"带":{"docs":{},"上":{"docs":{},"参":{"docs":{},"数":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"发":{"docs":{},"送":{"docs":{},"请":{"docs":{},"求":{"docs":{},"前":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{},"并":{"docs":{},"带":{"docs":{},"上":{"docs":{},"参":{"docs":{},"数":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"与":{"docs":{},"目":{"docs":{},"标":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"发":{"docs":{},"生":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"二":{"docs":{},"次":{"docs":{},"开":{"docs":{},"发":{"docs":{},"的":{"docs":{},"能":{"docs":{},"力":{"docs":{},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"j":{"docs":{},"s":{"docs":{},"编":{"docs":{},"写":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"(":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{},"来":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"收":{"docs":{},"到":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{},"并":{"docs":{},"带":{"docs":{},"上":{"docs":{},"参":{"docs":{},"数":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"开":{"docs":{},"放":{"docs":{},"式":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"由":{"docs":{},"模":{"docs":{},"块":{"docs":{},"做":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"新":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"或":{"docs":{},"返":{"docs":{},"回":{"docs":{},"响":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"不":{"docs":{},"对":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"做":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"如":{"docs":{},"需":{"docs":{},"看":{"docs":{},"到":{"docs":{},"明":{"docs":{},"文":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"配":{"docs":{},"置":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"t":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"提":{"docs":{},"前":{"docs":{},"信":{"docs":{},"任":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"e":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"y":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0029476787030213707}}},"三":{"docs":{},"个":{"docs":{},"字":{"docs":{},"段":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"等":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},")":{"docs":{},",":{"docs":{},"甚":{"docs":{},"至":{"docs":{},"是":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"目":{"docs":{},"标":{"docs":{},"地":{"docs":{},"址":{"docs":{},"等":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}},"y":{"docs":{},"'":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},",":{"docs":{},"按":{"docs":{},"提":{"docs":{},"示":{"docs":{},"扫":{"docs":{},"描":{"docs":{},"二":{"docs":{},"维":{"docs":{},"码":{"docs":{},"即":{"docs":{},"可":{"docs":{},"安":{"docs":{},"装":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.002210759027266028}},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"o":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}},"d":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},")":{"docs":{},"、":{"docs":{},"响":{"docs":{},"应":{"docs":{},"头":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"'":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"(":{"docs":{},"'":{"docs":{},"t":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},"t":{"docs":{"./":{"ref":"./","tf":0.01400147383935151}}}},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"'":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.006632277081798084}}}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"w":{"docs":{},"d":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}}},"d":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"s":{"docs":{},"l":{"docs":{},"y":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}},"\"":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"'":{"docs":{"./":{"ref":"./","tf":0.002210759027266028}},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}}},"o":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},")":{"docs":{"./":{"ref":"./","tf":0.0029476787030213707}},";":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}}}},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"(":{"docs":{},"'":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.004421518054532056}}}}}}}},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}},";":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"q":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"(":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}}}}}}}}},"g":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}}},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"主":{"docs":{},"页":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"e":{"docs":{},"d":{"docs":{},"!":{"docs":{"./":{"ref":"./","tf":0.002210759027266028}},"'":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.002210759027266028}},")":{"docs":{},",":{"docs":{},"请":{"docs":{},"求":{"docs":{},"体":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},":":{"docs":{"./":{"ref":"./","tf":0.0029476787030213707}}},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},")":{"docs":{},"、":{"docs":{},"响":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{},"等":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}},"/":{"1":{"docs":{},".":{"1":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"docs":{}}},"docs":{}},":":{"docs":{},"/":{"docs":{},"/":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"1":{"docs":{"./":{"ref":"./","tf":0.007369196757553427}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}},"/":{"docs":{"./":{"ref":"./","tf":0.0029476787030213707}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.002210759027266028}}}}}},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.007369196757553427}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"8":{"0":{"0":{"8":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.002210759027266028}},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}}}}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}},"连":{"docs":{},"接":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"出":{"docs":{},"错":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}},"代":{"docs":{},"理":{"docs":{},"配":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}}},"的":{"docs":{},"代":{"docs":{},"理":{"docs":{},"模":{"docs":{},"式":{"docs":{},"中":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"是":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}}},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.002210759027266028}},"`":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"按":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"模":{"docs":{},"块":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"配":{"docs":{},"置":{"docs":{},"`":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"`":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"都":{"docs":{},"会":{"docs":{},"被":{"docs":{},"替":{"docs":{},"换":{"docs":{},"证":{"docs":{},"书":{"docs":{},"并":{"docs":{},"解":{"docs":{},"析":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"后":{"docs":{},"才":{"docs":{},"会":{"docs":{},"从":{"docs":{},"界":{"docs":{},"面":{"docs":{},"上":{"docs":{},"看":{"docs":{},"到":{"docs":{},"相":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}},"s":{"docs":{},"系":{"docs":{},"统":{"docs":{},"信":{"docs":{},"任":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"'":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}}}},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.002210759027266028}}}}}}}},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"e":{"docs":{},")":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"必":{"docs":{},"须":{"docs":{},"信":{"docs":{},"任":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"才":{"docs":{},"能":{"docs":{},"进":{"docs":{},"行":{"docs":{},"后":{"docs":{},"续":{"docs":{},"流":{"docs":{},"程":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0058953574060427415}}}}},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.008106116433308769}}}}}}}}}}}}}},"y":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"p":{"docs":{},"k":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.004421518054532056}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0029476787030213707}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0036845983787767134}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"[":{"docs":{},"'":{"docs":{},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"r":{"docs":{},"e":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.008843036109064112}},"e":{"docs":{},".":{"docs":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.002210759027266028}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"[":{"docs":{},"'":{"docs":{},"x":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}}},"p":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.002210759027266028}}}},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.002210759027266028}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"(":{"docs":{},"{":{"docs":{},"}":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.002210759027266028}}}}}}}}}}}}}}}}}},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.002210759027266028}}}}}}},"s":{"docs":{},"x":{"docs":{},"系":{"docs":{},"统":{"docs":{},"信":{"docs":{},"任":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}},":":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0036845983787767134}}}}},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"\"":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},":":{"docs":{"./":{"ref":"./","tf":0.002210759027266028}}}}}}}},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.01105379513633014}}},"y":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"'":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"y":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"'":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"y":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}},"q":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.002210759027266028}}}},"r":{"1":{"5":{"docs":{},")":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},"docs":{}},"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}}}}},"f":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.004421518054532056}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},":":{"docs":{"./":{"ref":"./","tf":0.002210759027266028}}}}}},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0036845983787767134}},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},";":{"docs":{"./":{"ref":"./","tf":0.0029476787030213707}}}}}}}}}}}}}}}}}},";":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0036845983787767134}}}}}}}}}}}}},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"'":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"y":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"{":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0036845983787767134}},"e":{"docs":{},"\"":{"docs":{},"}":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},":":{"docs":{"./":{"ref":"./","tf":0.011790714812085483}}},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}},")":{"docs":{"./":{"ref":"./","tf":0.004421518054532056}}},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}},";":{"docs":{"./":{"ref":"./","tf":0.0029476787030213707}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.015475313190862197}}}}}}},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"c":{"docs":{},"a":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.012527634487840826}},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"_":{"docs":{},"s":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"/":{"docs":{},"s":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"口":{"docs":{},"文":{"docs":{},"档":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"样":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"模":{"docs":{},"块":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},"s":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}},":":{"docs":{"./":{"ref":"./","tf":0.0058953574060427415}}}}}}},"v":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"t":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"s":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"t":{"docs":{},"u":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0029476787030213707}}}}}}}}}}},"e":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0029476787030213707}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"u":{"docs":{},"d":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"y":{"docs":{},"(":{"docs":{},")":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},":":{"docs":{"./":{"ref":"./","tf":0.002210759027266028}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0058953574060427415}}}}},"x":{"docs":{},"t":{"docs":{},"/":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}},"o":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.002210759027266028}}}}}}},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},";":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"或":{"docs":{},"者":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"替":{"docs":{},"换":{"docs":{},"证":{"docs":{},"书":{"docs":{},"并":{"docs":{},"解":{"docs":{},"析":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},")":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"'":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0029476787030213707}}}},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"u":{"docs":{},"i":{"docs":{},"中":{"docs":{},"的":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"n":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}}}}}},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"s":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.002210759027266028}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"版":{"docs":{},"界":{"docs":{},"面":{"docs":{},"端":{"docs":{},"口":{"docs":{},"号":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"8":{"0":{"0":{"2":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}},"配":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"重":{"docs":{},"构":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"系":{"docs":{},"统":{"docs":{},"信":{"docs":{},"任":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"l":{"docs":{},"d":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"s":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}},"x":{"docs":{"./":{"ref":"./","tf":0.002210759027266028}}},"y":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}},"{":{"docs":{"./":{"ref":"./","tf":0.06484893146647015}},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.0036845983787767134}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.002210759027266028}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.0058953574060427415}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.002210759027266028}}}}}}}}}},"|":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"}":{"docs":{"./":{"ref":"./","tf":0.02210759027266028}},")":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}},";":{"docs":{"./":{"ref":"./","tf":0.006632277081798084}}}},",":{"docs":{"./":{"ref":"./","tf":0.014738393515106854}}},";":{"docs":{"./":{"ref":"./","tf":0.020633750921149593}}}},"下":{"docs":{},"载":{"docs":{},"后":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"单":{"docs":{},"击":{"docs":{},"打":{"docs":{},"开":{"docs":{},"并":{"docs":{},"安":{"docs":{},"装":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"是":{"docs":{},"最":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"安":{"docs":{},"装":{"docs":{},"即":{"docs":{},"可":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"做":{"docs":{},"任":{"docs":{},"何":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{},"此":{"docs":{},"时":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"错":{"docs":{},"误":{"docs":{},"页":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}}}}}}}}}}},"同":{"docs":{},"安":{"docs":{},"卓":{"docs":{},"系":{"docs":{},"统":{"docs":{},"支":{"docs":{},"持":{"docs":{},"安":{"docs":{},"装":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"文":{"docs":{},"件":{"docs":{},"类":{"docs":{},"型":{"docs":{},"不":{"docs":{},"尽":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"大":{"docs":{},"多":{"docs":{},"支":{"docs":{},"持":{"docs":{},"安":{"docs":{},"装":{"docs":{},"拓":{"docs":{},"展":{"docs":{},"名":{"docs":{},"为":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"启":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"代":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}},"中":{"docs":{},"把":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"开":{"docs":{},"关":{"docs":{},"打":{"docs":{},"开":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"s":{"docs":{},"a":{"docs":{},"f":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"将":{"docs":{},"报":{"docs":{},"错":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"什":{"docs":{},"么":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"不":{"docs":{},"能":{"docs":{},"进":{"docs":{},"入":{"docs":{},"处":{"docs":{},"理":{"docs":{},"函":{"docs":{},"数":{"docs":{},"?":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"要":{"docs":{},"特":{"docs":{},"性":{"docs":{},"包":{"docs":{},"括":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"举":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},",":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},":":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"从":{"docs":{},"s":{"docs":{},"d":{"docs":{},"卡":{"docs":{},"安":{"docs":{},"装":{"docs":{},"证":{"docs":{},"书":{"docs":{},"。":{"docs":{},"找":{"docs":{},"到":{"docs":{},"你":{"docs":{},"下":{"docs":{},"载":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"安":{"docs":{},"装":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}},"存":{"docs":{},"储":{"docs":{},"设":{"docs":{},"备":{"docs":{},"安":{"docs":{},"装":{"docs":{},"。":{"docs":{},"找":{"docs":{},"到":{"docs":{},"你":{"docs":{},"下":{"docs":{},"载":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"安":{"docs":{},"装":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"理":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"发":{"docs":{},"生":{"docs":{},"错":{"docs":{},"误":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"启":{"docs":{},"动":{"docs":{},"完":{"docs":{},"成":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"都":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"设":{"docs":{},"置":{"docs":{},"中":{"docs":{},"配":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}},"以":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"的":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"y":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"插":{"docs":{},"件":{"docs":{},"为":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"任":{"docs":{},"意":{"docs":{},"一":{"docs":{},"项":{"docs":{},"都":{"docs":{},"能":{"docs":{},"用":{"docs":{},"来":{"docs":{},"改":{"docs":{},"变":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"特":{"docs":{},"性":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}},"几":{"docs":{},"种":{"docs":{},"返":{"docs":{},"回":{"docs":{},"都":{"docs":{},"是":{"docs":{},"合":{"docs":{},"法":{"docs":{},"的":{"docs":{"./":{"ref":"./","tf":0.002210759027266028}}}}}}}}}}}}},"作":{"docs":{},"为":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"模":{"docs":{},"块":{"docs":{},"使":{"docs":{},"用":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"全":{"docs":{},"局":{"docs":{},"模":{"docs":{},"块":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"使":{"docs":{},"用":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"包":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"举":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"在":{"docs":{},"线":{"docs":{},"地":{"docs":{},"址":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"本":{"docs":{},"地":{"docs":{},"数":{"docs":{},"据":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"路":{"docs":{},"径":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"修":{"docs":{},"改":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}},"请":{"docs":{},"求":{"docs":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"协":{"docs":{},"议":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},",":{"docs":{},"如":{"docs":{},"强":{"docs":{},"制":{"docs":{},"改":{"docs":{},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"发":{"docs":{},"起":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}},"参":{"docs":{},"数":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"头":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"数":{"docs":{},"据":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"的":{"docs":{},"目":{"docs":{},"标":{"docs":{},"地":{"docs":{},"址":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"内":{"docs":{},"容":{"docs":{},"并":{"docs":{},"延":{"docs":{},"迟":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"头":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"状":{"docs":{},"态":{"docs":{},"码":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"状":{"docs":{},"态":{"docs":{},"码":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}},"关":{"docs":{},"闭":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"全":{"docs":{},"局":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}},"其":{"docs":{},"他":{"docs":{},"命":{"docs":{},"令":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"创":{"docs":{},"建":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"加":{"docs":{},"密":{"docs":{},"与":{"docs":{},"凭":{"docs":{},"据":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"即":{"docs":{},"将":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"供":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"'":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"作":{"docs":{},"为":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{},"详":{"docs":{},"见":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"j":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"#":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"原":{"docs":{},"始":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"返":{"docs":{},"回":{"docs":{},"对":{"docs":{},"象":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}},"双":{"docs":{},"击":{"docs":{},"打":{"docs":{},"开":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},".":{"docs":{},"c":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}},"发":{"docs":{},"送":{"docs":{},"响":{"docs":{},"应":{"docs":{},"前":{"docs":{},"处":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"请":{"docs":{},"求":{"docs":{},"前":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"处":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}},"只":{"docs":{},"有":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"时":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"才":{"docs":{},"会":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"替":{"docs":{},"换":{"docs":{},"证":{"docs":{},"书":{"docs":{},"、":{"docs":{},"解":{"docs":{},"析":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"。":{"docs":{},"否":{"docs":{},"则":{"docs":{},"只":{"docs":{},"做":{"docs":{},"数":{"docs":{},"据":{"docs":{},"流":{"docs":{},"转":{"docs":{},"发":{"docs":{},",":{"docs":{},"无":{"docs":{},"法":{"docs":{},"看":{"docs":{},"到":{"docs":{},"明":{"docs":{},"文":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"普":{"docs":{},"通":{"docs":{},"的":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}},"修":{"docs":{},"改":{"docs":{},"内":{"docs":{},"容":{"docs":{},"包":{"docs":{},"括":{"docs":{},"请":{"docs":{},"求":{"docs":{},"头":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"包":{"docs":{},"括":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"状":{"docs":{},"态":{"docs":{},"码":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}},"同":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},",":{"docs":{},"加":{"docs":{},"载":{"docs":{},"规":{"docs":{},"则":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"后":{"docs":{},"将":{"docs":{},"终":{"docs":{},"端":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"配":{"docs":{},"置":{"docs":{},"为":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"1":{"docs":{},"即":{"docs":{},"可":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"启":{"docs":{},"动":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"时":{"docs":{},"配":{"docs":{},"置":{"docs":{},"`":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"端":{"docs":{},"口":{"docs":{},"号":{"8":{"0":{"0":{"1":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"启":{"docs":{},"动":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"在":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"j":{"docs":{},"s":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"启":{"docs":{},"动":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"高":{"docs":{},"级":{"docs":{},"设":{"docs":{},"置":{"docs":{},"中":{"docs":{},",":{"docs":{},"配":{"docs":{},"置":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"代":{"docs":{},"理":{"docs":{},"即":{"docs":{},"可":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}},"构":{"docs":{},"造":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"传":{"docs":{},"入":{"docs":{},"参":{"docs":{},"数":{"docs":{},"d":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"s":{"docs":{},"l":{"docs":{},"y":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"请":{"docs":{},"求":{"docs":{},"处":{"docs":{},"理":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"发":{"docs":{},"生":{"docs":{},"错":{"docs":{},"误":{"docs":{},"时":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"并":{"docs":{},"提":{"docs":{},"供":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"错":{"docs":{},"误":{"docs":{},"信":{"docs":{},"息":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"基":{"docs":{},"于":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},",":{"docs":{},"开":{"docs":{},"放":{"docs":{},"二":{"docs":{},"次":{"docs":{},"开":{"docs":{},"发":{"docs":{},"能":{"docs":{},"力":{"docs":{},",":{"docs":{},"允":{"docs":{},"许":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"请":{"docs":{},"求":{"docs":{},"处":{"docs":{},"理":{"docs":{},"逻":{"docs":{},"辑":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"流":{"docs":{},"程":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"图":{"docs":{},"如":{"docs":{},"下":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"多":{"docs":{},"数":{"docs":{},"场":{"docs":{},"景":{"docs":{},"下":{"docs":{},",":{"docs":{},"错":{"docs":{},"误":{"docs":{},"会":{"docs":{},"在":{"docs":{},"请":{"docs":{},"求":{"docs":{},"目":{"docs":{},"标":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"发":{"docs":{},"生":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"解":{"docs":{},"析":{"docs":{},"失":{"docs":{},"败":{"docs":{},"、":{"docs":{},"请":{"docs":{},"求":{"docs":{},"超":{"docs":{},"时":{"docs":{},"等":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"下":{"docs":{},"几":{"docs":{},"种":{"docs":{},"方":{"docs":{},"案":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"来":{"docs":{},"引":{"docs":{},"用":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"何":{"docs":{},"引":{"docs":{},"用":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"果":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"返":{"docs":{},"回":{"docs":{},"了":{"docs":{},"响":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"则":{"docs":{},"立":{"docs":{},"即":{"docs":{},"把":{"docs":{},"此":{"docs":{},"响":{"docs":{},"应":{"docs":{},"返":{"docs":{},"回":{"docs":{},"到":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"(":{"docs":{},"而":{"docs":{},"不":{"docs":{},"再":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},")":{"docs":{},",":{"docs":{},"流":{"docs":{},"程":{"docs":{},"结":{"docs":{},"束":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{},"了":{"docs":{},"全":{"docs":{},"局":{"docs":{},"解":{"docs":{},"析":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"则":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"会":{"docs":{},"略":{"docs":{},"过":{"docs":{},"这":{"docs":{},"个":{"docs":{},"调":{"docs":{},"用":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"启":{"docs":{},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"解":{"docs":{},"析":{"docs":{},",":{"docs":{},"请":{"docs":{},"在":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"启":{"docs":{},"动":{"docs":{},"前":{"docs":{},"自":{"docs":{},"行":{"docs":{},"调":{"docs":{},"用":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},".":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"m":{"docs":{},"g":{"docs":{},"r":{"docs":{},"相":{"docs":{},"关":{"docs":{},"方":{"docs":{},"法":{"docs":{},"生":{"docs":{},"成":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"并":{"docs":{},"引":{"docs":{},"导":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"任":{"docs":{},"安":{"docs":{},"装":{"docs":{},"。":{"docs":{},"或":{"docs":{},"引":{"docs":{},"导":{"docs":{},"用":{"docs":{},"户":{"docs":{},"使":{"docs":{},"用":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"安":{"docs":{},"全":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"性":{"docs":{},"与":{"docs":{},"位":{"docs":{},"置":{"docs":{},"信":{"docs":{},"息":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"卓":{"docs":{},"系":{"docs":{},"统":{"docs":{},"信":{"docs":{},"任":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}},"装":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"c":{"docs":{},"a":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"对":{"docs":{},"于":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"或":{"docs":{},"者":{"docs":{},"u":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"u":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"在":{"docs":{},"安":{"docs":{},"装":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"安":{"docs":{},"装":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{},"示":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"引":{"docs":{},"入":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"当":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"请":{"docs":{},"求":{"docs":{},"经":{"docs":{},"过":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"时":{"docs":{},",":{"docs":{},"具":{"docs":{},"体":{"docs":{},"处":{"docs":{},"理":{"docs":{},"过":{"docs":{},"程":{"docs":{},"是":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"收":{"docs":{},"到":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"时":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"可":{"docs":{},"以":{"docs":{},"替":{"docs":{},"换":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"对":{"docs":{},"请":{"docs":{},"求":{"docs":{},"做":{"docs":{},"明":{"docs":{},"文":{"docs":{},"解":{"docs":{},"析":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"代":{"docs":{},"理":{"docs":{},"时":{"docs":{},",":{"docs":{},"w":{"docs":{},"s":{"docs":{},"s":{"docs":{},"也":{"docs":{},"会":{"docs":{},"被":{"docs":{},"代":{"docs":{},"理":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"记":{"docs":{},"录":{"docs":{},"。":{"docs":{},"需":{"docs":{},"要":{"docs":{},"开":{"docs":{},"启":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"访":{"docs":{},"问":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"站":{"docs":{},"点":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"会":{"docs":{},"提":{"docs":{},"示":{"docs":{},"该":{"docs":{},"站":{"docs":{},"点":{"docs":{},"不":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"安":{"docs":{},"全":{"docs":{},"的":{"docs":{},"网":{"docs":{},"站":{"docs":{},",":{"docs":{},"这":{"docs":{},"通":{"docs":{},"常":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"站":{"docs":{},"点":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"设":{"docs":{},"置":{"docs":{},"不":{"docs":{},"能":{"docs":{},"被":{"docs":{},"正":{"docs":{},"确":{"docs":{},"识":{"docs":{},"别":{"docs":{},"导":{"docs":{},"致":{"docs":{},"的":{"docs":{},"(":{"docs":{},"比":{"docs":{},"如":{"docs":{},",":{"docs":{},"站":{"docs":{},"点":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"是":{"docs":{},"自":{"docs":{},"签":{"docs":{},"发":{"docs":{},"的":{"docs":{},")":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"信":{"docs":{},"任":{"docs":{},"该":{"docs":{},"网":{"docs":{},"站":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"以":{"docs":{},"下":{"docs":{},"方":{"docs":{},"式":{"docs":{},"来":{"docs":{},"继":{"docs":{},"续":{"docs":{},"访":{"docs":{},"问":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"必":{"docs":{},"选":{"docs":{},",":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"端":{"docs":{},"口":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}},"快":{"docs":{},"速":{"docs":{},"开":{"docs":{},"始":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"我":{"docs":{},"们":{"docs":{},"自":{"docs":{},"然":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"借":{"docs":{},"助":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"个":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"我":{"docs":{},"们":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"控":{"docs":{},"制":{"docs":{},"到":{"docs":{},"只":{"docs":{},"允":{"docs":{},"许":{"docs":{},"指":{"docs":{},"定":{"docs":{},"网":{"docs":{},"址":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{},"对":{"docs":{},"不":{"docs":{},"在":{"docs":{},"列":{"docs":{},"表":{"docs":{},"的":{"docs":{},"网":{"docs":{},"址":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"强":{"docs":{},"验":{"docs":{},"证":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"有":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}},"找":{"docs":{},"到":{"docs":{},"刚":{"docs":{},"刚":{"docs":{},"导":{"docs":{},"入":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"配":{"docs":{},"置":{"docs":{},"为":{"docs":{},"信":{"docs":{},"任":{"docs":{},"(":{"docs":{},"a":{"docs":{},"l":{"docs":{},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"把":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"响":{"docs":{},"应":{"docs":{},"信":{"docs":{},"息":{"docs":{},"返":{"docs":{},"回":{"docs":{},"给":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}},"所":{"docs":{},"有":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},"拦":{"docs":{},"截":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"对":{"docs":{},"内":{"docs":{},"容":{"docs":{},"做":{"docs":{},"修":{"docs":{},"改":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"并":{"docs":{},"修":{"docs":{},"改":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"响":{"docs":{},"应":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"正":{"docs":{},"在":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"g":{"docs":{},"u":{"docs":{},"i":{"docs":{},"界":{"docs":{},"面":{"docs":{},",":{"docs":{},"用":{"docs":{},"以":{"docs":{},"观":{"docs":{},"察":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}},"了":{"docs":{},"多":{"docs":{},"种":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"可":{"docs":{},"在":{"docs":{},"下":{"docs":{},"载":{"docs":{},"安":{"docs":{},"装":{"docs":{},"时":{"docs":{},"选":{"docs":{},"择":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}},"示":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"支":{"docs":{},"持":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"的":{"docs":{},"解":{"docs":{},"析":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}},"收":{"docs":{},"集":{"docs":{},"请":{"docs":{},"求":{"docs":{},"所":{"docs":{},"有":{"docs":{},"请":{"docs":{},"求":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}},"改":{"docs":{},"成":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"并":{"docs":{},"发":{"docs":{},"送":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}},"文":{"docs":{},"件":{"docs":{},"(":{"docs":{},"已":{"docs":{},"知":{"docs":{},"如":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},"时":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"参":{"docs":{},"数":{"docs":{},"内":{"docs":{},"容":{"docs":{},"大":{"docs":{},"致":{"docs":{},"如":{"docs":{},"下":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"参":{"docs":{},"数":{"docs":{},"内":{"docs":{},"容":{"docs":{},"大":{"docs":{},"致":{"docs":{},"如":{"docs":{},"下":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"否":{"docs":{},"启":{"docs":{},"用":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"版":{"docs":{},"界":{"docs":{},"面":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}},"屏":{"docs":{},"蔽":{"docs":{},"所":{"docs":{},"有":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"输":{"docs":{},"出":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"启":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"代":{"docs":{},"理":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}},"强":{"docs":{},"制":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},",":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"忽":{"docs":{},"略":{"docs":{},"请":{"docs":{},"求":{"docs":{},"中":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}},"必":{"docs":{},"选":{"docs":{},"字":{"docs":{},"段":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"文":{"docs":{},"档":{"docs":{},"的":{"docs":{},"适":{"docs":{},"用":{"docs":{},"范":{"docs":{},"围":{"docs":{},"是":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}},"质":{"docs":{},"是":{"docs":{},"中":{"docs":{},"间":{"docs":{},"人":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}},"来":{"docs":{},"加":{"docs":{},"载":{"docs":{},"模":{"docs":{},"块":{"docs":{},"并":{"docs":{},"体":{"docs":{},"验":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"忽":{"docs":{},"略":{"docs":{},"证":{"docs":{},"书":{"docs":{},"认":{"docs":{},"证":{"docs":{},"的":{"docs":{},"错":{"docs":{},"误":{"docs":{},"。":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"该":{"docs":{},"参":{"docs":{},"数":{"docs":{},"是":{"docs":{},"全":{"docs":{},"局":{"docs":{},"生":{"docs":{},"效":{"docs":{},"的":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"在":{"docs":{},"此":{"docs":{},"期":{"docs":{},"间":{"docs":{},"访":{"docs":{},"问":{"docs":{},"了":{"docs":{},"其":{"docs":{},"他":{"docs":{},"未":{"docs":{},"知":{"docs":{},"的":{"docs":{},"网":{"docs":{},"站":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"问":{"docs":{},"题":{"docs":{},"也":{"docs":{},"会":{"docs":{},"被":{"docs":{},"忽":{"docs":{},"略":{"docs":{},",":{"docs":{},"这":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"带":{"docs":{},"来":{"docs":{},"安":{"docs":{},"全":{"docs":{},"隐":{"docs":{},"患":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"查":{"docs":{},"看":{"docs":{},"请":{"docs":{},"求":{"docs":{},"信":{"docs":{},"息":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},"校":{"docs":{},"验":{"docs":{},"系":{"docs":{},"统":{"docs":{},"内":{"docs":{},"是":{"docs":{},"否":{"docs":{},"存":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"的":{"docs":{},"根":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}},"样":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"根":{"docs":{},"据":{"docs":{},"请":{"docs":{},"求":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"向":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"发":{"docs":{},"出":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"接":{"docs":{},"收":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"响":{"docs":{},"应":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}},"模":{"docs":{},"块":{"docs":{},"介":{"docs":{},"绍":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"此":{"docs":{},"处":{"docs":{},"无":{"docs":{},"法":{"docs":{},"控":{"docs":{},"制":{"docs":{},"向":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"无":{"docs":{},"需":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}},"注":{"docs":{},"意":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"引":{"docs":{},"用":{"docs":{},"规":{"docs":{},"则":{"docs":{},"前":{"docs":{},",":{"docs":{},"请":{"docs":{},"务":{"docs":{},"必":{"docs":{},"确":{"docs":{},"保":{"docs":{},"文":{"docs":{},"件":{"docs":{},"来":{"docs":{},"源":{"docs":{},"可":{"docs":{},"靠":{"docs":{},",":{"docs":{},"以":{"docs":{},"免":{"docs":{},"发":{"docs":{},"生":{"docs":{},"安":{"docs":{},"全":{"docs":{},"问":{"docs":{},"题":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"测":{"docs":{},"试":{"docs":{},"规":{"docs":{},"则":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"访":{"docs":{},"问":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"2":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"然":{"docs":{},"后":{"docs":{},",":{"docs":{},"安":{"docs":{},"装":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}},"生":{"docs":{},"成":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"的":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},",":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},"请":{"docs":{},"引":{"docs":{},"导":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"任":{"docs":{},".":{"docs":{},"c":{"docs":{},"r":{"docs":{},"t":{"docs":{},"文":{"docs":{},"件":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"证":{"docs":{},"书":{"docs":{},"并":{"docs":{},"解":{"docs":{},"析":{"docs":{},"所":{"docs":{},"有":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}},"用":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"发":{"docs":{},"请":{"docs":{},"求":{"docs":{},"测":{"docs":{},"试":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"如":{"docs":{},"下":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}},"测":{"docs":{},"试":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"测":{"docs":{},"试":{"docs":{},":":{"docs":{},"配":{"docs":{},"置":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"代":{"docs":{},"理":{"docs":{},"为":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"会":{"docs":{},"被":{"docs":{},"解":{"docs":{},"析":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"数":{"docs":{},"据":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"证":{"docs":{},"书":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"少":{"docs":{},"部":{"docs":{},"分":{"docs":{},"仅":{"docs":{},"支":{"docs":{},"持":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},"请":{"docs":{},"求":{"docs":{},"全":{"docs":{},"部":{"docs":{},"改":{"docs":{},"到":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"本":{"docs":{},"地":{"docs":{},"数":{"docs":{},"据":{"docs":{},"代":{"docs":{},"替":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"返":{"docs":{},"回":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"里":{"docs":{},"加":{"docs":{},"上":{"docs":{},"测":{"docs":{},"试":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"并":{"docs":{},"延":{"docs":{},"迟":{"5":{"docs":{},"秒":{"docs":{},"返":{"docs":{},"回":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"docs":{}}}}}}}}}}}}},"头":{"docs":{},"里":{"docs":{},"加":{"docs":{},"上":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"最":{"docs":{},"后":{"docs":{},"追":{"docs":{},"加":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"的":{"docs":{},"签":{"docs":{},"名":{"docs":{},",":{"docs":{},"并":{"docs":{},"延":{"docs":{},"迟":{"5":{"docs":{},"秒":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"docs":{}}}}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},"码":{"docs":{},"都":{"docs":{},"改":{"docs":{},"成":{"4":{"0":{"4":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"请":{"docs":{},"求":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},":":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},",":{"docs":{},"不":{"docs":{},"再":{"docs":{},"发":{"docs":{},"起":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}},"相":{"docs":{},"比":{"3":{"docs":{},".":{"docs":{},"x":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}},"docs":{}}},"确":{"docs":{},"认":{"docs":{},"将":{"docs":{},"证":{"docs":{},"书":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"或":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0029476787030213707}}}},"简":{"docs":{},"介":{"docs":{"./":{"ref":"./","tf":10}}},"化":{"docs":{},"了":{"docs":{},"规":{"docs":{},"则":{"docs":{},"文":{"docs":{},"件":{"docs":{},"内":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"全":{"docs":{},"局":{"docs":{},"代":{"docs":{},"理":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"密":{"docs":{},"码":{"docs":{},"框":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"似":{"docs":{},"这":{"docs":{},"种":{"docs":{},"报":{"docs":{},"错":{"docs":{},"都":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"系":{"docs":{},"统":{"docs":{},"没":{"docs":{},"有":{"docs":{},"信":{"docs":{},"任":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"所":{"docs":{},"造":{"docs":{},"成":{"docs":{},"的":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"经":{"docs":{},"过":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"后":{"docs":{},",":{"docs":{},"期":{"docs":{},"望":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"如":{"docs":{},"下":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"被":{"docs":{},"明":{"docs":{},"文":{"docs":{},"解":{"docs":{},"析":{"docs":{},"后":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"处":{"docs":{},"理":{"docs":{},"流":{"docs":{},"程":{"docs":{},"同":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"一":{"docs":{},"致":{"docs":{},"。":{"docs":{},"未":{"docs":{},"明":{"docs":{},"文":{"docs":{},"解":{"docs":{},"析":{"docs":{},"请":{"docs":{},"求":{"docs":{},"不":{"docs":{},"会":{"docs":{},"再":{"docs":{},"进":{"docs":{},"入":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"做":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"规":{"docs":{},"则":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},",":{"docs":{},"除":{"docs":{},"了":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},",":{"docs":{},"都":{"docs":{},"是":{"docs":{},"由":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}},"内":{"docs":{},"提":{"docs":{},"供":{"docs":{},"`":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"`":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},"全":{"docs":{},"面":{"docs":{},"支":{"docs":{},"持":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"和":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}},"模":{"docs":{},"块":{"docs":{},"应":{"docs":{},"该":{"docs":{},"符":{"docs":{},"合":{"docs":{},"c":{"docs":{},"m":{"docs":{},"d":{"docs":{},"规":{"docs":{},"范":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"典":{"docs":{},"型":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"代":{"docs":{},"码":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"下":{"docs":{},"。":{"docs":{},"模":{"docs":{},"块":{"docs":{},"中":{"docs":{},"所":{"docs":{},"有":{"docs":{},"方":{"docs":{},"法":{"docs":{},"都":{"docs":{},"是":{"docs":{},"可":{"docs":{},"选":{"docs":{},"的":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"实":{"docs":{},"现":{"docs":{},"业":{"docs":{},"务":{"docs":{},"感":{"docs":{},"兴":{"docs":{},"趣":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"用":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"的":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"文":{"docs":{},"案":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"提":{"docs":{},"示":{"docs":{},"用":{"docs":{},"户":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"力":{"docs":{},"范":{"docs":{},"围":{"docs":{},"包":{"docs":{},"括":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}},"解":{"docs":{},"析":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"是":{"docs":{},"中":{"docs":{},"间":{"docs":{},"人":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}},"警":{"docs":{},"告":{"docs":{},":":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{},"和":{"docs":{},"系":{"docs":{},"统":{"docs":{},"安":{"docs":{},"全":{"docs":{},"息":{"docs":{},"息":{"docs":{},"相":{"docs":{},"关":{"docs":{},",":{"docs":{},"建":{"docs":{},"议":{"docs":{},"亲":{"docs":{},"自":{"docs":{},"生":{"docs":{},"成":{"docs":{},",":{"docs":{},"并":{"docs":{},"妥":{"docs":{},"善":{"docs":{},"保":{"docs":{},"管":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.002210759027266028}},"属":{"docs":{},"性":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"访":{"docs":{},"问":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"2":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"证":{"docs":{},"书":{"docs":{},"下":{"docs":{},"载":{"docs":{},"到":{"docs":{},"指":{"docs":{},"定":{"docs":{},"目":{"docs":{},"录":{"docs":{},"后":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"从":{"docs":{},"其":{"docs":{},"他":{"docs":{},"入":{"docs":{},"口":{"docs":{},"进":{"docs":{},"行":{"docs":{},"安":{"docs":{},"装":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"请":{"docs":{},"求":{"docs":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"或":{"docs":{},"者":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}},"出":{"docs":{},"错":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"的":{"docs":{},"原":{"docs":{},"始":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}}}}}}}}},"目":{"docs":{},"标":{"docs":{},"的":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{},"受":{"docs":{},"制":{"docs":{},"于":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"无":{"docs":{},"法":{"docs":{},"获":{"docs":{},"取":{"docs":{},"完":{"docs":{},"整":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"会":{"docs":{},"明":{"docs":{},"文":{"docs":{},"解":{"docs":{},"析":{"docs":{},"这":{"docs":{},"个":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"其":{"docs":{},"他":{"docs":{},"请":{"docs":{},"求":{"docs":{},"不":{"docs":{},"处":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"由":{"docs":{},"模":{"docs":{},"块":{"docs":{},"对":{"docs":{},"响":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{},"进":{"docs":{},"行":{"docs":{},"处":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"错":{"docs":{},"误":{"docs":{},"页":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}},"这":{"docs":{},"里":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"些":{"docs":{},"样":{"docs":{},"例":{"docs":{},",":{"docs":{},"来":{"docs":{},"讲":{"docs":{},"解":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"常":{"docs":{},"见":{"docs":{},"用":{"docs":{},"法":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"请":{"docs":{},"求":{"docs":{},":":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"参":{"docs":{},"数":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"来":{"docs":{},"修":{"docs":{},"改":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},",":{"docs":{},"其":{"docs":{},"配":{"docs":{},"置":{"docs":{},"也":{"docs":{},"是":{"docs":{},"全":{"docs":{},"局":{"docs":{},"性":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"网":{"docs":{},"站":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"问":{"docs":{},"题":{"docs":{},"都":{"docs":{},"会":{"docs":{},"被":{"docs":{},"忽":{"docs":{},"略":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"1":{"docs":{},"为":{"docs":{},"全":{"docs":{},"局":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"系":{"docs":{},"统":{"docs":{},"代":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}},"o":{"docs":{},"s":{"docs":{},"x":{"docs":{},"系":{"docs":{},"统":{"docs":{},"代":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"端":{"docs":{},"口":{"docs":{},",":{"docs":{},"如":{"1":{"0":{"8":{"0":{"docs":{},"端":{"docs":{},"口":{"docs":{},"启":{"docs":{},"动":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"代":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},"附":{"docs":{},"录":{"docs":{},":":{"docs":{},"如":{"docs":{},"何":{"docs":{},"信":{"docs":{},"任":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},"限":{"docs":{},"速":{"docs":{},"值":{"docs":{},",":{"docs":{},"单":{"docs":{},"位":{"docs":{},"k":{"docs":{},"b":{"docs":{},"/":{"docs":{},"s":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"不":{"docs":{},"限":{"docs":{},"速":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}},"除":{"docs":{},"了":{"docs":{},"上":{"docs":{},"述":{"docs":{},"证":{"docs":{},"书":{"docs":{},"安":{"docs":{},"装":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"编":{"docs":{},"写":{"docs":{},"一":{"docs":{},"个":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},",":{"docs":{},"在":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}},"首":{"docs":{},"先":{"docs":{},"和":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"扫":{"docs":{},"描":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"二":{"docs":{},"维":{"docs":{},"码":{"docs":{},"进":{"docs":{},"行":{"docs":{},"下":{"docs":{},"载":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"安":{"docs":{},"卓":{"docs":{},"系":{"docs":{},"统":{"docs":{},"安":{"docs":{},"装":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"可":{"docs":{},"能":{"docs":{},"有":{"docs":{},"所":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"安":{"docs":{},"装":{"docs":{},"的":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"是":{"docs":{},"类":{"docs":{},"似":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"列":{"docs":{},"举":{"docs":{},"了":{"docs":{},"几":{"docs":{},"种":{"docs":{},"类":{"docs":{},"型":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"驱":{"docs":{},"动":{"docs":{},"的":{"docs":{},",":{"docs":{},"函":{"docs":{},"数":{"docs":{},"需":{"docs":{},"要":{"docs":{},"满":{"docs":{},"足":{"docs":{},"y":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},"或":{"docs":{},"是":{"docs":{},"返":{"docs":{},"回":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"或":{"docs":{},"使":{"docs":{},"用":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"界":{"docs":{},"面":{"docs":{},"上":{"docs":{},"能":{"docs":{},"看":{"docs":{},"到":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"信":{"docs":{},"息":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}},"界":{"docs":{},"面":{"docs":{},"上":{"docs":{},"能":{"docs":{},"看":{"docs":{},"到":{"docs":{},"刚":{"docs":{},"才":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"信":{"docs":{},"息":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}},"length":642},"corpusTokens":["\"content","\"curl/7.43.0\"","\"data\":","\"https\"","\"i","\"thi","\"user","\"x","#全局包","#启动anyproxy,并解析所有https请求","#本地包","#生成rootca证书,生成后需要手动信任","&&","'","'...'","'...',","'/',","'/index.html';","'/redirect/to/another/path';","'127.0.0.1'","'8001');","'8008';","';","'a","'anyproxy';","'anyproxy.io',","'anyproxy/0.0.0';","'application/json'","'cach","'close',","'content","'get',","'get';","'hello","'http',","'http';","'http://anyproxy.io/',","'http://httpbin.org/get?show_env=1'","'http://httpbin.org/us","'https'","'https',","'i","'image/gif',","'keep","'mi","'origin","'proxi","'rule","'text/html'","'thi","'user","'{\"hello\":","(!anyproxy.utils.certmgr.ifrootcafileexists())","(!error)","()","(e)","(iswin)","(requestdetail.url","(requestdetail.url.indexof('http://httpbin.org/')","(requestdetail.url.indexof('http://httpbin.org/post')","(requestdetail.url.indexof('http://httpbin.org/us","(requestdetail.url.indexof('https://httpbin.org/us","(requestdetail.url.indexof('https://th/","*/","*/}","*beforedealhttpsrequest(requestdetail)","*beforesendrequest(requestdetail)","*beforesendresponse(requestdetail,","*onconnecterror(requestdetail,","*onerror(requestdetail,","*true*","+=",".',","...","...,","./myrulepkg/","./rule.j",".cer",".crt","/*","//","//when","//这里也可以同时加上requestopt","/^win/.test(process.platform);","0)","1.","10.3信任ca证书","10000,","1080","127.0.0.1:8001/index.html","127.0.0.1:8001,访问","1,编写规则","2,","2.","200,","3,","4,","4.0的主要变化:","4.0,欢迎提供反馈","404","404;","443;","5000);","5s","80,","8001,","8002","=","===","=>",">",">=",">关于本机",">证书信任设置",">通用","_re","_req","_req:","_res:","a:","agent","agent\":","agent'","agent')","agent':","agent']","alive',","android","anyproxi","anyproxy',","anyproxy.io","anyproxy.proxycore(options);","anyproxy.proxyserv","anyproxy.proxyserver(options)","anyproxy.proxyserver(options);","anyproxy.utils.certmgr","anyproxy.utils.certmgr.generaterootca((error,","anyproxy.utils.certmgr.generaterootca(callback)","anyproxy.utils.certmgr.ifrootcafileexists()","anyproxy.utils.systemproxymgr","anyproxy.utils.systemproxymgr.disableglobalproxy();","anyproxy.utils.systemproxymgr.enableglobalproxy('127.0.0.1',","anyproxyin","anyproxyins.start();","anyproxy使用require()加载本地规则,你可以在参数里传入一个本地的npm包路径,或是某个全局安装的npm包","anyproxy可以作为一个npm模块使用,整合进其他工具。","anyproxy向客户端发送请求前,会调用beforesendresponse,并带上参数requestdetail","anyproxy向服务端发送请求前,会调用beforesendrequest,并带上参数requestdetail","anyproxy在与目标https服务器建立连接的过程中,如果发生错误,anyproxy会调用这个方法","anyproxy提供了二次开发的能力,你可以用js编写自己的规则模块(rule),来自定义网络请求的处理逻辑。","anyproxy收到https请求时,会调用beforedealhttpsrequest,并带上参数requestdetail","anyproxy是一个开放式的http代理服务器。","anyproxy调用规则模块beforesendrequest方法,由模块做处理,返回新的请求参数,或返回响应内容","anyproxy默认不对https请求做处理,如需看到明文信息,需要配置ca证书","apt","at',","attack),需要客户端提前信任anyproxy生成的ca","befor","beforedealhttpsrequest","beforedealhttpsrequest(requestdetail)","beforesendrequest","beforesendrequest(requestdetail)","beforesendrespons","beforesendresponse(requestdetail,","body:","body三个字段","body等","body),甚至是请求的目标地址等","by']","by:","by:anyproxi","ca","ca方法。","ca,按提示扫描二维码即可安装","cert","certdir","certdir);","class:","close","co","code","code)、响应头(respons","connect","connection':","connection:","console.error('error","console.log('th","const","control':","curl","custom","cwd:","d","dangerouslyignoreunauthor","dangerouslyignoreunauthorized:","data","data\"","data'","data',","delay","doc","enabl","enable:","english","error","error)","error);","event:","exec","exec('open","exec('start","expect","fals","false,","false;","faq","file:","finish","forceproxyhttp","forceproxyhttps:","forward","found","function","function()","g","gener","github主页:https://github.com/alibaba/anyproxi","h","hack","hacked!","hacked!';","header","header),请求体(request","header,","header:","headers:","header)、响应内容等","host","host:","hostname:","http","http/1.1","http://....j/","http://127.0.0.1:8001/","http://httpbin.org/","http://httpbin.org/","http://httpbin.org/post","http://httpbin.org/us","http://localhost:8008/index.html","httpbin.org","httpbin.org,","https://httpbin.org/us","https://sample.com/rule.j","https连接服务器出错","http代理配置","http的代理模式中,这里的request是connect请求","ignor","instal","intercept","intercept`参数,按npm模块启动时配置`forceproxyhttps`参数,所有https请求都会被替换证书并解析","intercept后才会从界面上看到相应内容。","io","ios系统信任ca证书","iswin","keypath)","know.com')","legaci","local","localrespons","method:","middl","middle),用户必须信任anyproxy生成的ca证书,才能进行后续流程","modifi","module.export","myrulepkg","new","newopt","newoption.path","newoption.port","newrequestopt","newrequestoptions.headers['us","newrequestoptions.hostnam","newrequestoptions.method","newrequestoptions.path","newrequestoptions.port","newrequestoptions.rejectunauthor","newrespons","newresponse.bodi","newresponse.header['x","newresponse.statuscod","nodej","npm","null;","object.assign({},","onconnecterror","onconnecterror(requestdetail,","onerror","onerror(requestdetail,","oppo","option","osx系统信任ca证书","over","path:","port","port:","post","privat","promise((resolve,","protocol","protocol\":","protocol:","proxi","proxy.close();","proxy.on('error',","proxy.on('ready',","proxy.start();","proxyserv","proxyserver.close();","proxyserver.on('error',","proxyserver.on('ready',","proxyserver.start();","q:","r15),anyproxi","readi","redirect","ref:","reject)","rejectunauthor","request","requestdata","requestdata:","requestdetail","requestdetail.protocol","requestdetail.requestoptions);","requestdetail.requestoptions;","requestdetail;","requestopt","requestoptions:","require('anyproxy');","require('child_process').exec;","require('myrulemodule'),","require('path').dirname(keypath);","resolve({","respons","response\"}'","response',","response:","responsedetail","responsedetail)","responsedetail.response);","responsedetail.response;","return","root","rootca',","rule","rule:","rule_sample/sample_modify_request_data.j","rule_sample/sample_modify_request_header.j","rule_sample/sample_modify_request_path.j","rule_sample/sample_modify_request_protocol.j","rule_sample/sample_modify_response_data.j","rule_sample/sample_modify_response_header.j","rule_sample/sample_modify_response_statuscode.j","rule_sample/sample_use_local_response.j","rule接口文档","rule样例","rule模块","sample.j","sample:","save","settimeout(()","silent","silent:","site","ssl","start","statu","statuscode:","step","string","sudo","summari","summary():","summary:","summary:str","test:","text/plain\"","throttl","throttle:","toward","true","true,","true;","true或者false,表示是否需要anyproxy替换证书并解析http","trust","trust)","type':","type:","ui中的","unauthor","url","url:","us","user","var","webinterfac","webinterface:","webport","webport:","web版界面端口号,默认8002","web版界面配置","web版界面重构","windows系统信任ca证书","world'","ws","wsintercept","wsintercept:","x","yieldabl","{","{boolean}","{number}","{object}","{string}","|","}","})","});","},","};","下载后的证书可以直接单击打开并安装,这种方式是最简单的,直接安装即可","不做任何处理。此时anyproxy会返回一个默认的错误页。","不做任何处理,返回null","不同安卓系统支持安装的证书文件类型不尽相同,大多支持安装拓展名为","不开启websocket代理","中把anyproxy证书的开关打开,否则safari将报错。","为","为什么https请求不能进入处理函数?","主要特性包括:","举例","举例,请求","举例:请求","从sd卡安装证书。找到你下载的证书文件,进行安装","从存储设备安装。找到你下载的证书文件,进行安装","代理http","代理websocket","代理服务器发生错误","代理服务器启动完成","代理服务器都在wifi设置中配置","以chrome的switchyomega插件为例","以下任意一项都能用来改变https的处理特性:","以下几种返回都是合法的","作为npm模块使用","作为全局模块","你可以通过","使用npm包","使用举例","使用在线地址","使用本地数据","使用本地路径anyproxi","使用示例","修改发送到","修改请求bodi","修改请求协议","修改请求协议,如强制改用https发起请求","修改请求参数","修改请求头","修改请求数据","修改请求的目标地址","修改返回内容并延迟","修改返回头","修改返回状态码","修改返回的内容","修改返回的状态码","关闭代理服务器","关闭全局代理服务器","其他命令","创建代理服务器","加密与凭据","即将发送的请求配置,供require('http').request作为使用。详见:https://nodejs.org/api/http.html#http_http_request_options_callback","原始的服务端返回对象","双击打开rootca.crt","发送响应前处理","发送请求前拦截处理","只有返回true时,anyproxy才会尝试替换证书、解析https。否则只做数据流转发,无法看到明文数据。","可以是一个函数,也可以是一个普通的字符串","可修改内容包括请求头(request","可修改的内容包括http状态码(statu","同beforedealhttpsrequest中的参数","同beforesendrequest中的参数","启动","启动anyproxy,加载规则","启动代理服务器","启动后将终端http代理服务器配置为127.0.0.1:8001即可","命令行启动anyproxy时配置`","命令行启动anyproxy,默认端口号8001","命令行直接启动","在","在nodejs代码中启动","在wifi高级设置中,配置http代理即可","在构造anyproxy实例的时候,传入参数dangerouslyignoreunauthorized:true,","在请求处理过程中发生错误时,anyproxy会调用onerror方法,并提供对应的错误信息","基于node.js,开放二次开发能力,允许自定义请求处理逻辑","处理流程","处理流程图如下","多数场景下,错误会在请求目标服务器的时候发生,比如dns解析失败、请求超时等","如下几种方案都可以用来引用规则模块:","如下:","如何引用","如果beforesendrequest返回了响应内容,则立即把此响应返回到客户端(而不再发送到真正的服务端),流程结束。","如果配置了全局解析https的参数,则anyproxy会略过这个调用","如要启用https解析,请在代理服务器启动前自行调用anyproxy.utils.certmgr相关方法生成证书,并引导用户信任安装。或引导用户使用anyproxi","安全","安全性与位置信息","安卓系统信任ca证书","安装","安装ca:","对于debian或者ubuntu系统,在安装anyproxy之前,可能还需要安装","开发示例","引入","当http请求经过代理服务器时,具体处理过程是:","当代理服务器收到https请求时,anyproxy可以替换证书,对请求做明文解析。","当启用https代理时,wss也会被代理,但是不会被anyproxy记录。需要开启","当访问特定的https站点,anyproxy会提示该站点不是一个安全的网站,这通常是因为站点的证书设置不能被正确识别导致的(比如,站点的证书是自签发的)。如果您信任该网站,可以用以下方式来继续访问:","必选,代理服务器端口","快速开始","我们自然也可以借助自定义的rule来实现这个效果,而且我们还可以控制到只允许指定网址的证书错误,对不在列表的网址,进行证书的强验证。","所有http://httpbin.org","找到刚刚导入的anyproxy证书,配置为信任(alway","把","把响应信息返回给客户端","把所有发送到","把用http协议请求的","拦截https请求,对内容做修改","拦截发送到","拦截并修改服务端响应","拦截并修改正在发送的请求","提供gui界面,用以观察请求","提供了多种类型的证书文件,可在下载安装时选择。","提示","支持https的解析","收集请求所有请求参数,包括method,","改成https并发送","文件(已知如","时,requestdetail参数内容大致如下","时,responsedetail参数内容大致如下","是否启用web版界面,默认fals","是否处理https请求","是否屏蔽所有console输出,默认fals","是否开启websocket代理,默认fals","是否强制拦截所有的https,忽略规则模块的返回,默认fals","是否忽略请求中的证书错误,默认fals","是必选字段","服务端的返回信息,包括statuscod","本文档的适用范围是anyproxi","本质是中间人攻击(man","来加载模块并体验","来忽略证书认证的错误。需要注意的是,该参数是全局生效的,如果你在此期间访问了其他未知的网站,他们的证书问题也会被忽略,这可能会带来安全隐患。","查看请求信息","校验系统内是否存在anyproxy的根证书","样例","根据请求参数,向服务端发出请求,接收服务端响应。","模块介绍","此处无法控制向客户端的返回信息,无需返回值。","注意:http","注意:引用规则前,请务必确保文件来源可靠,以免发生安全问题","测试规则","浏览器访问http://127.0.0.1:8002","点击web","然后,安装anyproxi","生成anyproxy的rootca,完成后请引导用户信任.crt文件","生成证书并解析所有https请求","用curl发请求测试的方法如下","用curl测试","用浏览器测试:配置浏览器http代理为","的https请求会被解析","的post数据","的user","的证书文件,少部分仅支持","的请求全部改到","的请求,使用本地数据代替服务端返回","的返回值里加上测试信息,并延迟5秒返回","的返回头里加上","的返回最后追加anyproxy的签名,并延迟5秒","的返回状态码都改成404","直接请求服务器:curl","直接返回客户端,不再发起请求,其中statuscod","相比3.x版本,anyproxi","确认将证书添加到login或system","示例","简介","简化了规则文件内的接口","管理anyproxy的证书","管理系统的全局代理配置,方法调用时可能会弹出密码框","类似这种报错都是因为系统没有信任anyproxy生成的ca所造成的","经过代理服务器后,期望的返回如下","自定义规则模块","被明文解析后的https请求,处理流程同http一致。未明文解析请求不会再进入规则模块做处理。","规则文件中,除了summary,都是由","规则文件内提供`beforedealhttpsrequest`方法,返回","规则文件(rule)全面支持promise和gener","规则模块应该符合cmd规范,一个典型的规则模块代码结构如下。模块中所有方法都是可选的,只需实现业务感兴趣的部分即可。","规则模块是用","规则模块的介绍文案,用于anyproxy提示用户,","规则模块的能力范围包括:","解析https请求的原理是中间人攻击(man","警告:ca证书和系统安全息息相关,建议亲自生成,并妥善保管","设置","设置属性","访问http://127.0.0.1:8002","证书下载到指定目录后,需要从其他入口进行安装,包括:","证书配置","请求bodi","请求url","请求使用的协议,http或者http","请求出错的事件","请求的原始request","请求目标的host,受制于协议,这里无法获取完整url","调用规则模块beforedealhttpsrequest方法,如果返回true,会明文解析这个请求,其他请求不处理","调用规则模块beforesendresponse方法,由模块对响应内容进行处理","运行","返回值","返回自定义错误页","这里提供一些样例,来讲解规则模块的常见用法","通过代理服务器请求:curl","通过启动参数","通过自定义的rule来修改","通过这种方式初始化的anyproxy,其配置也是全局性的,所有网站的证书问题都会被忽略","配置127.0.0.1:8001为全局http代理服务器","配置ios/android系统代理","配置osx系统代理","配置启动端口,如1080端口启动","配置浏览器http代理","附录:如何信任ca证书","限速值,单位kb/s,默认不限速","除了上述证书安装过程,还需要在","需要编写一个规则模块,在","首先和ios类似,需要先扫描证书的二维码进行下载。然后不同的安卓系统安装证书的方式可能有所不同,但是安装的步骤是类似的,我们列举了几种类型。","驱动的,函数需要满足yieldable。可以使用generator方法或是返回promise。","驱动的,函数需要满足yieldable。可以返回promise或使用generator函数。",",web界面上能看到所有的请求信息",",界面上能看到刚才的请求信息"],"pipeline":["stopWordFilter","stemmer"]},"store":{"./":{"url":"./","title":"简介","keywords":"","body":"AnyProxy\n\n本文档的适用范围是AnyProxy 4.0,欢迎提供反馈\n\nRef: English Doc\nAnyProxy是一个开放式的HTTP代理服务器。\nGithub主页:https://github.com/alibaba/anyproxy\n主要特性包括:\n\n基于Node.js,开放二次开发能力,允许自定义请求处理逻辑\n支持Https的解析\n提供GUI界面,用以观察请求\n\n相比3.x版本,AnyProxy 4.0的主要变化:\n\n规则文件(Rule)全面支持Promise和Generator\n简化了规则文件内的接口\nWeb版界面重构\n\n\n快速开始\n作为全局模块\n安装\n对于Debian或者Ubuntu系统,在安装AnyProxy之前,可能还需要安装 nodejs-legacy\nsudo apt-get install nodejs-legacy\n\n然后,安装AnyProxy\nnpm install -g anyproxy\n\n启动\n\n命令行启动AnyProxy,默认端口号8001\n\nanyproxy\n\n\n启动后将终端http代理服务器配置为127.0.0.1:8001即可\n访问http://127.0.0.1:8002 ,web界面上能看到所有的请求信息\n\n其他命令\n\n配置启动端口,如1080端口启动\n\nanyproxy --port 1080\n\n作为npm模块使用\nAnyProxy可以作为一个npm模块使用,整合进其他工具。\n\n如要启用https解析,请在代理服务器启动前自行调用AnyProxy.utils.certMgr相关方法生成证书,并引导用户信任安装。或引导用户使用anyproxy-ca方法。\n\n\n引入\n\nnpm i anyproxy --save\n\n\n使用举例\n\nconst AnyProxy = require('anyproxy');\nconst options = {\n port: 8001,\n rule: require('myRuleModule'),\n webInterface: {\n enable: true,\n webPort: 8002\n },\n throttle: 10000,\n forceProxyHttps: false,\n wsIntercept: false, // 不开启websocket代理\n silent: false\n};\nconst proxyServer = new AnyProxy.ProxyServer(options);\n\nproxyServer.on('ready', () => { /* */ });\nproxyServer.on('error', (e) => { /* */ });\nproxyServer.start();\n\n//when finished\nproxyServer.close();\n\n\nClass: AnyProxy.proxyServer\n\n创建代理服务器\nconst proxy = new AnyProxy.proxyServer(options)\n\n\noptions\n\nport {number} 必选,代理服务器端口\nrule {object} 自定义规则模块\nthrottle {number} 限速值,单位kb/s,默认不限速\nforceProxyHttps {boolean} 是否强制拦截所有的https,忽略规则模块的返回,默认false\nsilent {boolean} 是否屏蔽所有console输出,默认false\ndangerouslyIgnoreUnauthorized {boolean} 是否忽略请求中的证书错误,默认false\nwsIntercept {boolean} 是否开启websocket代理,默认false\nwebInterface {object} web版界面配置\nenable {boolean} 是否启用web版界面,默认false\nwebPort {number} web版界面端口号,默认8002\n\n\n\n\nEvent: ready\n\n代理服务器启动完成\n示例\n\nproxy.on('ready', function() { })\n\n\nEvent: error\n\n代理服务器发生错误\n示例\n\nproxy.on('error', function() { })\n\n\nMethod: start\n\n启动代理服务器\n示例\n\nproxy.start();\n\n\nMethod: close\n\n关闭代理服务器\n示例\n\nproxy.close();\n\n\n\n\nAnyProxy.utils.systemProxyMgr\n\n管理系统的全局代理配置,方法调用时可能会弹出密码框\n使用示例\n\n// 配置127.0.0.1:8001为全局http代理服务器\nAnyProxy.utils.systemProxyMgr.enableGlobalProxy('127.0.0.1', '8001');\n\n// 关闭全局代理服务器\nAnyProxy.utils.systemProxyMgr.disableGlobalProxy();\n\n\nAnyProxy.utils.certMgr\n\n管理AnyProxy的证书\nAnyProxy.utils.certMgr.ifRootCAFileExists()\n校验系统内是否存在AnyProxy的根证书\n\n\nAnyProxy.utils.certMgr.generateRootCA(callback)\n生成AnyProxy的rootCA,完成后请引导用户信任.crt文件\n\n\n样例\n\n const AnyProxy = require('anyproxy');\n const exec = require('child_process').exec;\n\n if (!AnyProxy.utils.certMgr.ifRootCAFileExists()) {\n AnyProxy.utils.certMgr.generateRootCA((error, keyPath) => {\n // let users to trust this CA before using proxy\n if (!error) {\n const certDir = require('path').dirname(keyPath);\n console.log('The cert is generated at', certDir);\n const isWin = /^win/.test(process.platform);\n if (isWin) {\n exec('start .', { cwd: certDir });\n } else {\n exec('open .', { cwd: certDir });\n }\n } else {\n console.error('error when generating rootCA', error);\n }\n });\n }\n\n\n\n代理HTTPS\n\nAnyProxy默认不对https请求做处理,如需看到明文信息,需要配置CA证书\n\n\n解析https请求的原理是中间人攻击(man-in-the-middle),用户必须信任AnyProxy生成的CA证书,才能进行后续流程\n\n\n生成证书并解析所有https请求\n\nanyproxy-ca #生成rootCA证书,生成后需要手动信任\nanyproxy --intercept #启动AnyProxy,并解析所有https请求\n\n\n附录:如何信任CA证书\n\n代理WebSocket\nanyproxy --ws-intercept\n\n\n当启用HTTPS代理时,wss也会被代理,但是不会被AnyProxy记录。需要开启--ws-intercept后才会从界面上看到相应内容。\n\nrule模块\nAnyProxy提供了二次开发的能力,你可以用js编写自己的规则模块(rule),来自定义网络请求的处理逻辑。\n\n注意:引用规则前,请务必确保文件来源可靠,以免发生安全问题\n\n规则模块的能力范围包括:\n\n拦截并修改正在发送的请求\n可修改内容包括请求头(request header),请求体(request body),甚至是请求的目标地址等\n\n\n拦截并修改服务端响应\n可修改的内容包括http状态码(status code)、响应头(response header)、响应内容等\n\n\n拦截https请求,对内容做修改\n本质是中间人攻击(man-in-the-middle attack),需要客户端提前信任AnyProxy生成的CA\n\n\n\n开发示例\n\n举例\n\n需要编写一个规则模块,在 GET http://httpbin.org/user-agent 的返回值里加上测试信息,并延迟5秒返回\n\n\nStep 1,编写规则\n// file: sample.js\nmodule.exports = {\n summary: 'a rule to hack response',\n *beforeSendResponse(requestDetail, responseDetail) {\n if (requestDetail.url === 'http://httpbin.org/user-agent') {\n const newResponse = responseDetail.response;\n newResponse.body += '- AnyProxy Hacked!';\n\n return new Promise((resolve, reject) => {\n setTimeout(() => { // delay\n resolve({ response: newResponse });\n }, 5000);\n });\n }\n },\n};\n\n\nStep 2, 启动AnyProxy,加载规则\n\n运行 anyproxy --rule sample.js\n\n\nStep 3, 测试规则\n\n用curl测试\ncurl http://httpbin.org/user-agent --proxy http://127.0.0.1:8001\n\n\n用浏览器测试:配置浏览器http代理为 127.0.0.1:8001,访问 http://httpbin.org/user-agent\n\n经过代理服务器后,期望的返回如下\n\n\n{\n \"user-agent\": \"curl/7.43.0\"\n}\n- AnyProxy Hacked!\n\nStep 4, 查看请求信息\n\n浏览器访问http://127.0.0.1:8002 ,界面上能看到刚才的请求信息\n\n\n\n处理流程\n\n处理流程图如下\n\n\n\n当http请求经过代理服务器时,具体处理过程是:\n\n收集请求所有请求参数,包括method, header, body等\nAnyProxy调用规则模块beforeSendRequest方法,由模块做处理,返回新的请求参数,或返回响应内容\n如果beforeSendRequest返回了响应内容,则立即把此响应返回到客户端(而不再发送到真正的服务端),流程结束。\n根据请求参数,向服务端发出请求,接收服务端响应。\n调用规则模块beforeSendResponse方法,由模块对响应内容进行处理\n把响应信息返回给客户端\n\n\n当代理服务器收到https请求时,AnyProxy可以替换证书,对请求做明文解析。\n\n调用规则模块beforeDealHttpsRequest方法,如果返回true,会明文解析这个请求,其他请求不处理\n被明文解析后的https请求,处理流程同http一致。未明文解析请求不会再进入规则模块做处理。\n\n\n\n如何引用\n如下几种方案都可以用来引用规则模块:\n\n使用本地路径anyproxy --rule ./rule.js\n\n\n使用在线地址\nanyproxy --rule https://sample.com/rule.js\n\n\n使用npm包\n\nAnyProxy使用require()加载本地规则,你可以在参数里传入一个本地的npm包路径,或是某个全局安装的npm包\n\nanyproxy --rule ./myRulePkg/ #本地包\nnpm i -g myRulePkg && anyproxy --rule myRulePkg #全局包\n\n\n\nrule接口文档\n规则模块应该符合cmd规范,一个典型的规则模块代码结构如下。模块中所有方法都是可选的,只需实现业务感兴趣的部分即可。\nmodule.exports = {\n // 模块介绍\n summary: 'my customized rule for AnyProxy',\n // 发送请求前拦截处理\n *beforeSendRequest(requestDetail) { /* ... */ },\n // 发送响应前处理\n *beforeSendResponse(requestDetail, responseDetail) { /* ... */ },\n // 是否处理https请求\n *beforeDealHttpsRequest(requestDetail) { /* ... */ },\n // 请求出错的事件\n *onError(requestDetail, error) { /* ... */ },\n // https连接服务器出错\n *onConnectError(requestDetail, error) { /* ... */ }\n};\n\n\n规则文件中,除了summary,都是由 co 驱动的,函数需要满足yieldable。可以返回promise或使用generator函数。\n\nsummary\nsummary(): string | summary:string\n\n规则模块的介绍文案,用于AnyProxy提示用户, 可以是一个函数,也可以是一个普通的字符串\n\nbeforeSendRequest\nbeforeSendRequest(requestDetail)\n\nAnyProxy向服务端发送请求前,会调用beforeSendRequest,并带上参数requestDetail\nrequestDetail\nprotocol {string} 请求使用的协议,http或者https\nrequestOptions {object} 即将发送的请求配置,供require('http').request作为使用。详见:https://nodejs.org/api/http.html#http_http_request_options_callback\nrequestData {object} 请求Body\nurl {string} 请求url\n_req {object} 请求的原始request\n\n\n举例:请求 anyproxy.io 时,requestDetail参数内容大致如下\n{\n protocol: 'http',\n url: 'http://anyproxy.io/',\n requestOptions: {\n hostname: 'anyproxy.io',\n port: 80,\n path: '/',\n method: 'GET',\n headers: {\n Host: 'anyproxy.io',\n 'Proxy-Connection': 'keep-alive',\n 'User-Agent': '...'\n }\n },\n requestData: '...',\n _req: { /* ... */}\n}\n\n\n以下几种返回都是合法的\n\n不做任何处理,返回null\n\nreturn null;\n\n\n修改请求协议,如强制改用https发起请求\n\nreturn {\n protocol: 'https'\n};\n\n\n修改请求参数\n\nvar newOption = Object.assign({}, requestDetail.requestOptions);\nnewOption.path = '/redirect/to/another/path';\nreturn {\n requestOptions: newOption\n};\n\n\n修改请求body\n\nreturn {\n requestData: 'my new request data'\n //这里也可以同时加上requestOptions\n};\n\n\n直接返回客户端,不再发起请求,其中statusCode header 是必选字段\n\nreturn {\n response: {\n statusCode: 200,\n header: { 'content-type': 'text/html' },\n body: 'this could be a or '\n }\n};\n\n\n\nbeforeSendResponse\nbeforeSendResponse(requestDetail, responseDetail)\n\nAnyProxy向客户端发送请求前,会调用beforeSendResponse,并带上参数requestDetail responseDetail\nrequestDetail 同beforeSendRequest中的参数\nresponseDetail\nresponse {object} 服务端的返回信息,包括statusCode header body三个字段\n_res {object} 原始的服务端返回对象\n\n\n举例,请求 anyproxy.io 时,responseDetail参数内容大致如下\n{\n response: {\n statusCode: 200,\n header: {\n 'Content-Type': 'image/gif',\n Connection: 'close',\n 'Cache-Control': '...'\n },\n body: '...'\n },\n _res: { /* ... */ }\n}\n\n\n以下几种返回都是合法的\n\n不做任何处理,返回null\n\nreturn null;\n\n\n修改返回的状态码\n\nvar newResponse = Object.assign({}, responseDetail.response);\nnewResponse.statusCode = 404;\nreturn {\n response: newResponse\n};\n\n\n修改返回的内容\n\nvar newResponse = Object.assign({}, responseDetail.response);\nnewResponse.body += '--from anyproxy--';\nreturn {\n response: newResponse\n};\n\n\n\nbeforeDealHttpsRequest\nbeforeDealHttpsRequest(requestDetail)\n\nAnyProxy收到https请求时,会调用beforeDealHttpsRequest,并带上参数requestDetail\n如果配置了全局解析https的参数,则AnyProxy会略过这个调用\n只有返回true时,AnyProxy才会尝试替换证书、解析https。否则只做数据流转发,无法看到明文数据。\n注意:https over http的代理模式中,这里的request是CONNECT请求\nrequestDetail\nhost {string} 请求目标的Host,受制于协议,这里无法获取完整url\n_req {object} 请求的原始request\n\n\n返回值\ntrue或者false,表示是否需要AnyProxy替换证书并解析https\n\n\n\nonError\nonError(requestDetail, error)\n\n在请求处理过程中发生错误时,AnyProxy会调用onError方法,并提供对应的错误信息\n多数场景下,错误会在请求目标服务器的时候发生,比如DNS解析失败、请求超时等\nrequestDetail 同beforeSendRequest中的参数\n以下几种返回都是合法的\n\n不做任何处理。此时AnyProxy会返回一个默认的错误页。\n\nreturn null;\n\n\n返回自定义错误页\n\nreturn {\n response: {\n statusCode: 200,\n header: { 'content-type': 'text/html' },\n body: 'this could be a or '\n }\n};\n\n\n\nonConnectError\nonConnectError(requestDetail, error)\n\nAnyProxy在与目标HTTPS服务器建立连接的过程中,如果发生错误,AnyProxy会调用这个方法\nrequestDetail 同beforeDealHttpsRequest中的参数\n此处无法控制向客户端的返回信息,无需返回值。\n\nrule样例\n\n这里提供一些样例,来讲解规则模块的常见用法\n你可以通过 anyproxy --rule http://....js 来加载模块并体验\n用curl发请求测试的方法如下\n直接请求服务器:curl http://httpbin.org/\n通过代理服务器请求:curl http://httpbin.org/ --proxy http://127.0.0.1:8001\n\n\n\n使用本地数据\n\n拦截发送到 http://httpbin.org 的请求,使用本地数据代替服务端返回\n\nanyproxy --rule rule_sample/sample_use_local_response.js\n\n/* \n sample: \n intercept all requests toward httpbin.org, use a local response\n test:\n curl http://httpbin.org/user-agent --proxy http://127.0.0.1:8001\n*/\nmodule.exports = {\n *beforeSendRequest(requestDetail) {\n const localResponse = {\n statusCode: 200,\n header: { 'Content-Type': 'application/json' },\n body: '{\"hello\": \"this is local response\"}'\n };\n if (requestDetail.url.indexOf('http://httpbin.org/') === 0) {\n return {\n response: localResponse\n };\n }\n },\n};\n\n修改请求头\n\n修改发送到 httpbin.org 的user-agent\n\nanyproxy --rule rule_sample/sample_modify_request_header.js\n\n/* \n sample: \n modify the user-agent in requests toward httpbin.org\n test:\n curl http://httpbin.org/user-agent --proxy http://127.0.0.1:8001\n*/\nmodule.exports = {\n *beforeSendRequest(requestDetail) {\n if (requestDetail.url.indexOf('http://httpbin.org/') === 0) {\n const newRequestOptions = requestDetail.requestOptions;\n newRequestOptions.headers['User-Agent'] = 'AnyProxy/0.0.0';\n return {\n requestOptions: newRequestOptions\n };\n }\n },\n};\n\n修改请求数据\n\n修改发送到 http://httpbin.org/post 的post数据\n\nanyproxy --rule rule_sample/sample_modify_request_data.js\n\n/*\n sample:\n modify the post data towards http://httpbin.org/post\n test:\n curl -H \"Content-Type: text/plain\" -X POST -d 'original post data' http://httpbin.org/post --proxy http://127.0.0.1:8001\n expected response:\n { \"data\": \"i-am-anyproxy-modified-post-data\" }\n*/\nmodule.exports = {\n summary: 'Rule to modify request data',\n *beforeSendRequest(requestDetail) {\n if (requestDetail.url.indexOf('http://httpbin.org/post') === 0) {\n return {\n requestData: 'i-am-anyproxy-modified-post-data'\n };\n }\n },\n};\n\n修改请求的目标地址\n\n把所有发送到 http://httpbin.org/ 的请求全部改到 http://httpbin.org/user-agent\n\nanyproxy --rule rule_sample/sample_modify_request_path.js\n\n/*\n sample:\n redirect all https://httpbin.org/user-agent requests to http://localhost:8008/index.html\n test:\n curl https://httpbin.org/user-agent --proxy http://127.0.0.1:8001\n expected response:\n 'hello world' from 127.0.0.1:8001/index.html\n*/\nmodule.exports = {\n *beforeSendRequest(requestDetail) {\n if (requestDetail.url.indexOf('https://httpbin.org/user-agent') === 0) {\n const newRequestOptions = requestDetail.requestOptions;\n requestDetail.protocol = 'http';\n newRequestOptions.hostname = '127.0.0.1'\n newRequestOptions.port = '8008';\n newRequestOptions.path = '/index.html';\n newRequestOptions.method = 'GET';\n return requestDetail;\n }\n },\n *beforeDealHttpsRequest(requestDetail) {\n return true;\n }\n};\n\n修改请求协议\n\n把用http协议请求的 http://httpbin.org 改成https并发送\n\nanyproxy --rule rule_sample/sample_modify_request_protocol.js\n\n/* \n sample: \n redirect all http requests of httpbin.org to https\n test:\n curl 'http://httpbin.org/get?show_env=1' --proxy http://127.0.0.1:8001\n expected response:\n { \"X-Forwarded-Protocol\": \"https\" }\n*/\nmodule.exports = {\n *beforeSendRequest(requestDetail) {\n if (requestDetail.url.indexOf('http://httpbin.org/') === 0) {\n const newOption = requestDetail.requestOptions;\n newOption.port = 443;\n return {\n protocol: 'https',\n requestOptions: newOption\n };\n }\n }\n};\n\n修改返回状态码\n\n把 所有http://httpbin.org 的返回状态码都改成404\n\nanyproxy --rule rule_sample/sample_modify_response_statuscode.js\n\n/* \n sample: \n modify all status code of http://httpbin.org/ to 404\n test:\n curl -I 'http://httpbin.org/user-agent' --proxy http://127.0.0.1:8001\n expected response:\n HTTP/1.1 404 Not Found\n*/\nmodule.exports = {\n *beforeSendResponse(requestDetail, responseDetail) {\n if (requestDetail.url.indexOf('http://httpbin.org/') === 0) {\n const newResponse = responseDetail.response;\n newResponse.statusCode = 404;\n return {\n response: newResponse\n };\n }\n }\n};\n\n修改返回头\n\n在 http://httpbin.org/user-agent 的返回头里加上 X-Proxy-By:AnyProxy\n\nanyproxy --rule rule_sample/sample_modify_response_header.js\n\n/* \n sample: \n modify response header of http://httpbin.org/user-agent\n test:\n curl -I 'http://httpbin.org/user-agent' --proxy http://127.0.0.1:8001\n expected response:\n X-Proxy-By: AnyProxy\n*/\nmodule.exports = {\n *beforeSendResponse(requestDetail, responseDetail) {\n if (requestDetail.url.indexOf('http://httpbin.org/user-agent') === 0) {\n const newResponse = responseDetail.response;\n newResponse.header['X-Proxy-By'] = 'AnyProxy';\n return {\n response: newResponse\n };\n }\n }\n};\n\n修改返回内容并延迟\n\n在 http://httpbin.org/user-agent 的返回最后追加AnyProxy的签名,并延迟5秒\n\nanyproxy --rule rule_sample/sample_modify_response_data.js\n\n/* \n sample: \n modify response data of http://httpbin.org/user-agent\n test:\n curl 'http://httpbin.org/user-agent' --proxy http://127.0.0.1:8001\n expected response:\n { \"user-agent\": \"curl/7.43.0\" } -- AnyProxy Hacked! --\n*/\n\nmodule.exports = {\n *beforeSendResponse(requestDetail, responseDetail) {\n if (requestDetail.url === 'http://httpbin.org/user-agent') {\n const newResponse = responseDetail.response;\n newResponse.body += '-- AnyProxy Hacked! --';\n return new Promise((resolve, reject) => {\n setTimeout(() => { // delay the response for 5s\n resolve({ response: newResponse });\n }, 5000);\n });\n }\n },\n};\n\n证书配置\nOSX系统信任CA证书\n\n类似这种报错都是因为系统没有信任AnyProxy生成的CA所造成的\n\n\n\n警告:CA证书和系统安全息息相关,建议亲自生成,并妥善保管\n\n安装CA:\n\n双击打开rootCA.crt\n\n确认将证书添加到login或system\n\n\n\n\n找到刚刚导入的AnyProxy证书,配置为信任(Always Trust)\n\n\nWindows系统信任CA证书\n\n配置OSX系统代理\n\n在wifi高级设置中,配置http代理即可\n\n\n配置浏览器HTTP代理\n\n以Chrome的SwitchyOmega插件为例\n\n\niOS系统信任CA证书\n\n点击web ui中的 Root CA,按提示扫描二维码即可安装\n\n\niOS >= 10.3信任CA证书\n\n除了上述证书安装过程,还需要在 设置->通用->关于本机->证书信任设置 中把AnyProxy证书的开关打开,否则safari将报错。\n\n\n安卓系统信任CA证书\n首先和iOS类似,需要先扫描证书的二维码进行下载。然后不同的安卓系统安装证书的方式可能有所不同,但是安装的步骤是类似的,我们列举了几种类型。\n\n下载后的证书可以直接单击打开并安装,这种方式是最简单的,直接安装即可\n证书下载到指定目录后,需要从其他入口进行安装,包括:\n设置 -> 安全性与位置信息 -> 加密与凭据 -> 从存储设备安装。找到你下载的证书文件,进行安装\n设置 -> 安全 -> 从SD卡安装证书。找到你下载的证书文件,进行安装\n\n\n\n不同安卓系统支持安装的证书文件类型不尽相同,大多支持安装拓展名为 .crt 的证书文件,少部分仅支持 .cer 文件(已知如 OPPO R15),AnyProxy 提供了多种类型的证书文件,可在下载安装时选择。\n配置iOS/Android系统代理\n\n代理服务器都在wifi设置中配置\n\niOS HTTP代理配置\n\n\n\n\nAndroid HTTP代理配置\n\n\nFAQ\nQ: 为什么https请求不能进入处理函数?\n A: 以下任意一项都能用来改变https的处理特性:\n 1. 命令行启动AnyProxy时配置`--intercept`参数,按npm模块启动时配置`forceProxyHttps`参数,所有Https请求都会被替换证书并解析\n 2. 规则文件内提供`beforeDealHttpsRequest`方法,返回 *true* 的https请求会被解析\nQ: 提示 function is not yieldable\n\nA: 规则模块是用 co 驱动的,函数需要满足yieldable。可以使用generator方法或是返回Promise。\n\nQ: The connection is not private\n当访问特定的HTTPS站点,AnyProxy会提示该站点不是一个安全的网站,这通常是因为站点的证书设置不能被正确识别导致的(比如,站点的证书是自签发的)。如果您信任该网站,可以用以下方式来继续访问:\n\n命令行直接启动\n通过启动参数 --ignore-unauthorized-ssl 来忽略证书认证的错误。需要注意的是,该参数是全局生效的,如果你在此期间访问了其他未知的网站,他们的证书问题也会被忽略,这可能会带来安全隐患。\nanyproxy -i --ignore-unauthorized-ssl\n\n\n在Nodejs代码中启动\n在构造AnyProxy实例的时候,传入参数dangerouslyIgnoreUnauthorized:true, 如下:\n const options = {\n ...,\n dangerouslyIgnoreUnauthorized: true\n };\n\n const anyproxyIns = new AnyProxy.ProxyCore(options);\n anyproxyIns.start();\n\n通过这种方式初始化的AnyProxy,其配置也是全局性的,所有网站的证书问题都会被忽略\n\n通过自定义的Rule来修改\n我们自然也可以借助自定义的Rule来实现这个效果,而且我们还可以控制到只允许指定网址的证书错误,对不在列表的网址,进行证书的强验证。\nmodule.exports = {\n *beforeSendRequest(requestDetail) {\n if (requestDetail.url.indexOf('https://the-site-you-know.com/') === 0) {\n const newRequestOptions = requestDetail.requestOptions;\n // 设置属性 rejectUnauthorized 为 false\n newRequestOptions.rejectUnauthorized = false;\n return {\n requestOptions: newRequestOptions\n };\n }\n },\n};\n\n\n\n"}}} \ No newline at end of file diff --git a/docs/cn/src_doc.md b/docs/cn/src_doc.md index aebcb15d8..e0adc0975 100644 --- a/docs/cn/src_doc.md +++ b/docs/cn/src_doc.md @@ -164,7 +164,7 @@ proxyServer.close(); * 样例 ```js - const AnyProxy = require('AnyProxy'); + const AnyProxy = require('anyproxy'); const exec = require('child_process').exec; if (!AnyProxy.utils.certMgr.ifRootCAFileExists()) { @@ -628,6 +628,8 @@ module.exports = { * 设置 -> 安全性与位置信息 -> 加密与凭据 -> 从存储设备安装。找到你下载的证书文件,进行安装 * 设置 -> 安全 -> 从SD卡安装证书。找到你下载的证书文件,进行安装 +不同安卓系统支持安装的证书文件类型不尽相同,大多支持安装拓展名为 .crt 的证书文件,少部分仅支持 .cer 文件(已知如 OPPO R15),AnyProxy 提供了多种类型的证书文件,可在下载安装时选择。 + ### 配置iOS/Android系统代理 * 代理服务器都在wifi设置中配置 diff --git a/docs/en/index.html b/docs/en/index.html index 9eb5683e9..d63e6c679 100644 --- a/docs/en/index.html +++ b/docs/en/index.html @@ -909,7 +909,7 @@

      Use AnyProxy as an npm module

    • Sample
    -
      const AnyProxy = require('AnyProxy');
    +
      const AnyProxy = require('anyproxy');
       const exec = require('child_process').exec;
     
       if (!AnyProxy.utils.certMgr.ifRootCAFileExists()) {
    @@ -1532,6 +1532,7 @@ 

    trust root CA in iOS after 10.3

    • Besides installing root CA, you have to "turn on" the certificate for web manually in settings - general - about - Certificate Trust Settings. Otherwire, safari will not trust the root CA generated by AnyProxy.
    +

    trust root CA in Android

    First of all, you need to download the root CA by clicking Root CA in web ui, and then scan the QR code. Installing CA in Android could be different based on the system, we list some common steps as below, but you can find the right way in you system with similar menu path.

    @@ -1543,7 +1544,7 @@

    trust root CA in Android

    -

    +

    There are several file extensions of CA file which may not be compatible with all kinds of Android phones. .crt file is the most popular, while a few systems could only use .cer file such as OPPO R15. In AnyProxy, you can choose the type of certificate you need before installing.

    config iOS/Android proxy server

    • proxy settings are placed in wifi setting

      @@ -1646,7 +1647,7 @@

      No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Introduction","level":"1.1","depth":1,"next":{"title":"Getting-Start","level":"1.2","depth":1,"anchor":"#getting-start","path":"README.md","ref":"README.md#getting-start","articles":[{"title":"Install","level":"1.2.1","depth":2,"anchor":"#install","path":"README.md","ref":"README.md#install","articles":[]},{"title":"Launch","level":"1.2.2","depth":2,"anchor":"#launch","path":"README.md","ref":"README.md#launch","articles":[]},{"title":"Options","level":"1.2.3","depth":2,"anchor":"#options","path":"README.md","ref":"README.md#options","articles":[]},{"title":"As Node Module","level":"1.2.4","depth":2,"anchor":"#use-anyproxy-as-an-npm-module","path":"README.md","ref":"README.md#use-anyproxy-as-an-npm-module","articles":[]}]},"dir":"ltr"},"config":{"plugins":[],"styles":{"website":"styles/website.css"},"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"theme":"default","author":"AnyProxy","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"AnyProxy","language":"en","gitbook":"*","description":"A fully configurable http/https proxy in NodeJS"},"file":{"path":"README.md","mtime":"2018-02-05T16:06:47.880Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2018-02-05T16:06:49.493Z"},"basePath":".","book":{"language":"en"}}); + gitbook.page.hasChanged({"page":{"title":"Introduction","level":"1.1","depth":1,"next":{"title":"Getting-Start","level":"1.2","depth":1,"anchor":"#getting-start","path":"README.md","ref":"README.md#getting-start","articles":[{"title":"Install","level":"1.2.1","depth":2,"anchor":"#install","path":"README.md","ref":"README.md#install","articles":[]},{"title":"Launch","level":"1.2.2","depth":2,"anchor":"#launch","path":"README.md","ref":"README.md#launch","articles":[]},{"title":"Options","level":"1.2.3","depth":2,"anchor":"#options","path":"README.md","ref":"README.md#options","articles":[]},{"title":"As Node Module","level":"1.2.4","depth":2,"anchor":"#use-anyproxy-as-an-npm-module","path":"README.md","ref":"README.md#use-anyproxy-as-an-npm-module","articles":[]}]},"dir":"ltr"},"config":{"plugins":[],"styles":{"website":"styles/website.css"},"pluginsConfig":{"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"theme":"default","author":"AnyProxy","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"AnyProxy","language":"en","gitbook":"*","description":"A fully configurable http/https proxy in NodeJS"},"file":{"path":"README.md","mtime":"2019-03-26T12:49:35.828Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2019-03-26T12:49:36.852Z"},"basePath":".","book":{"language":"en"}}); }); @@ -1656,6 +1657,10 @@

      No results matching " + + + + diff --git a/docs/en/search_index.json b/docs/en/search_index.json index 128c94d93..6eea2a589 100644 --- a/docs/en/search_index.json +++ b/docs/en/search_index.json @@ -1 +1 @@ -{"index":{"version":"0.5.12","fields":[{"name":"title","boost":10},{"name":"keywords","boost":15},{"name":"body","boost":1}],"ref":"url","documentStore":{"store":{"./":["\"content","\"curl/7.43.0\"","\"data\":","\"https\"","\"i","\"thi","\"turn","\"user","\"x","#gener","#global","#launch","#local","&","&&","'","'...'","'...',","'/',","'/index.html';","'/redirect/to/another/path';","'127.0.0.1'","'8001');","'8008';","';","'a","'anyproxy';","'anyproxy.io',","'anyproxy/0.0.0';","'application/json'","'cach","'close',","'content","'get',","'get';","'hello","'http',","'http';","'http://anyproxy.io/',","'http://httpbin.org/get?show_env=1'","'http://httpbin.org/us","'https'","'https',","'i","'image/gif',","'keep","'mi","'origin","'proxi","'rule","'text/html'","'thi","'user","'{\"hello\":","(!anyproxy.utils.certmgr.ifrootcafileexists())","(!error)","()","(e)","(iswin)","(requestdetail.url","(requestdetail.url.indexof('http://httpbin.org/')","(requestdetail.url.indexof('http://httpbin.org/post')","(requestdetail.url.indexof('http://httpbin.org/us","(requestdetail.url.indexof('https://httpbin.org/us","(requestdetail.url.indexof('https://th/","*/","*/}","*beforedealhttpsrequest(requestdetail)","*beforesendrequest(requestdetail)","*beforesendresponse(requestdetail,","*onconnecterror(requestdetail,","*onerror(requestdetail,","+=",",",".",".',","...","...,","./myrulepkg/","./rule.j","/*","//","//when","/^win/.test(process.platform);","0)","10.3","10000,","1080","127.0.0.1:8001","127.0.0.1:8001,","127.0.0.1:8001/index.html","1,write","2,","200,","3,","3.x:","4,","404","404;","443;","5","5000);","5s","80,","8001","8001,","8002","=","===","=>",">","[switchyomega]","_re","_req","_req:","_res:","a:","abil","abliti","activ","add","address","advanc","advance.","agent","agent\":","agent'","agent')","agent':","agent']","agent,","alive',","all,","alway","android","anyprox","anyproxi","anyproxy',","anyproxy.","anyproxy.io,","anyproxy.proxycore(options);","anyproxy.proxyserv","anyproxy.proxyserver(options)","anyproxy.proxyserver(options);","anyproxy.utils.certmgr","anyproxy.utils.certmgr.generaterootca((error,","anyproxy.utils.certmgr.generaterootca(callback)","anyproxy.utils.certmgr.ifrootcafileexists()","anyproxy.utils.systemproxymgr","anyproxy.utils.systemproxymgr.disableglobalproxy();","anyproxy.utils.systemproxymgr.enableglobalproxy('127.0.0.1',","anyproxyin","anyproxyins.start();","append","appendix:how","apt","as:","at',","attack","attack.","automat","base","be","befor","beforedealhttpsrequest","beforedealhttpsrequest(requestdetail)","beforesendrequest","beforesendrequest(requestdetail)","beforesendrespons","beforesendresponse(requestdetail,","below,","below.","below:","besid","bodi","body,","body:","bonou","browser","browser.","by']","by:","by:anyproxi","ca","ca,","ca.","call","card,","caus","cert","certdir","certdir);","certif","certificate.","certificates,","certificates.","certifyc","chang","chart","chrome","class:","cli,","cli.","click","clicking,","client","client,","close","co","co.","code","code,","code.","collect","command","common","config","config.","configur","connect","connection':","connection:","connections.","console,","console.error('error","console.log('th","const","content","content,","control':","couldn't","course.","creat","credenti","curl","curl:","custom","cwd:","d","dangerouslyignoreunauthor","dangerouslyignoreunauthorized:","dangerouslyignoreunauthorized:true,","data","data\"","data'","data',","deal","dealed.","deall","debian","decrypt","default","default.","defin","delay","demo","design","detect","determin","differ","directli","disabl","dn","doubl","download","driven","due","dure","e.g.","easist","edit","emit","enabl","enable:","encrypt","end","entir","error","error)","error);","errors,","event:","example(https://chrome.google.com/webstore/detail/padekgcemlokbadohgkifijomclgjgif)为例","except","exec","exec('open","exec('start","exist","expect","extent","face","fail","failure,","fals","false,","false;","faq","feature,","features:","field","file","file,","file.","file:","find","finish","first","flow","follow","follows.","forc","forceproxyhttp","forceproxyhttps:","forward","found","frequent","full","fulli","function","function()","function.","g","gener","get","github:","give","global","go,","gui","guid","h","hack","hacked!","hacked!';","handl","handling.","happen","header","header,","header:","headers:","headersar","help","here","here,","here.","hood,","host","host:","hostname:","http","http.rquest,","http/1.1","http/http","http://....j/","http://127.0.0.1:8001/","http://127.0.0.1:8002/","http://127.0.0.1:8002,","http://httpbin.org/","http://httpbin.org/","http://httpbin.org/post","http://httpbin.org/us","http://localhost:8008/index.html","httpbin.org","httpbin.org,","https://github.com/alibaba/anyproxi","https://httpbin.org/us","https://nodejs.org/api/http.html#http_http_request_options_callback","https://sample.com/rule.j","i.e.","ignor","import","in.","includ","influenc","info","info,","insid","instal","instruct","intercept","interest","interfac","interface,","introduct","invok","io","ios/android","issu","iswin","it,","it.","javascript.","js","kb/s,","keep","keypath)","kind","know","know.com')","known","launch","launching,","legaci","line","line,","list","load","local","localrespons","locat","log","logic","login","longer.","luanch","make","man","manag","manual","menu","menu,","messag","method","method,","method:","middl","mind","modifi","modul","module,","module.","module.export","myrulepkg","nativ","need","network.","new","newli","newopt","newoption.path","newoption.port","newrequestopt","newrequestoptions.headers['us","newrequestoptions.hostnam","newrequestoptions.method","newrequestoptions.path","newrequestoptions.port","newrequestoptions.rejectunauthor","newrespons","newresponse.bodi","newresponse.header['x","newresponse.statuscod","node.j","nodej","nodejs.","nothing,","now","npm","null","null;","number","object","object.","object.assign({},","offer","on","on\"","on,","onconnecterror","onconnecterror(requestdetail,","one.","onerror","onerror(requestdetail,","onlin","option","option,","optional,","osx","otherwire,","otherwise,","own.","page","param","part","pass","password","path.","path:","place","pleas","point","port","port:","post","privat","process","promis","promise((resolve,","propmt","protocol","protocol\":","protocol,","protocol:","protocol,i.e.","provid","proxi","proxy.close();","proxy.on('error',","proxy.on('ready',","proxy.start();","proxyserv","proxyserver.close();","proxyserver.on('error',","proxyserver.on('ready',","proxyserver.start();","q:","qr","quest","read","readi","receiv","record","redirect","ref:","refer","reject)","rejectunauthor","replac","request","request,","request.","requestdata","requestdata:","requestdetail","requestdetail.protocol","requestdetail.requestoptions);","requestdetail.requestoptions;","requestdetail;","requesting,","requestopt","requestoptions:","requests,","requests.","requir","require('anyproxy');","require('child_process').exec;","require('http').request","require('myrulemodule'),","require('path').dirname(keypath);","require()","required,","resolve({","respons","response\"}'","response',","response:","responsedetail","responsedetail)","responsedetail.response);","responsedetail.response;","return","right","risk.","root","rootca","rootca',","rootca.crt","rule","rule:","rule_sample/sample_modify_request_data.j","rule_sample/sample_modify_request_header.j","rule_sample/sample_modify_request_path.j","rule_sample/sample_modify_request_protocol.j","rule_sample/sample_modify_response_data.j","rule_sample/sample_modify_response_header.j","rule_sample/sample_modify_response_statuscode.j","rule_sample/sample_use_local_response.j","run","safari","safe","same","sampl","sample.j","sample:","save","scan","scenario,","sd","second","seconds.","secur","security.","see","self","send","sent","server","server,","server.","set","settimeout(()","settings.","side","signed.","silent","silent:","similar","simpl","simplifi","site","site(s)","situation.","skip","someth","source.","specifi","ssl","start","statu","statuscod","statuscode:","step","storage,","stuff:","such","sudo","summari","summary,","summary:","support","sure","system","system,","take","target","tell","test","test:","text","text/plain\"","that.","this:","throttl","throttle:","time","timeout","tip","to!","toward","traffic","tri","true","true,","true;","trust","turn","type':","type:","typic","ubuntu","ui,","unauthor","under","unknown","unlimit","unsecur","untrust","url","url:","us","use,","user","user.","users,","usual","valid","valu","var","via","view","visit","want","warning:","way","web","webinterfac","webinterface:","webport","webport:","websocket","websocket,","whether","wifi","window","without","work","world'","write","written","ws","wsintercept","wsintercept:","wss","x","yieldabl","yieldable,","you'r","{","{boolean}","{number}","{object}","{string}","}","})","});","},","};","中文文档",":"]},"length":1},"tokenStore":{"root":{"0":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0036330608537693005}}}},"1":{"0":{"0":{"0":{"0":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"docs":{}},"docs":{}},"8":{"0":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"docs":{}},"docs":{},".":{"3":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"信":{"docs":{},"任":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"docs":{}}},"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"1":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}},",":{"docs":{},"访":{"docs":{},"问":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},",":{"docs":{},"编":{"docs":{},"写":{"docs":{},"规":{"docs":{},"则":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"2":{"0":{"0":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}}}},"docs":{}},"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},".":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"3":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},".":{"docs":{},"x":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"4":{"0":{"4":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},";":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}},"docs":{}},"4":{"3":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"docs":{}},"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},".":{"0":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"变":{"docs":{},"化":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}},",":{"docs":{},"欢":{"docs":{},"迎":{"docs":{},"提":{"docs":{},"供":{"docs":{},"反":{"docs":{},"馈":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}},"docs":{}}},"5":{"0":{"0":{"0":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"docs":{}},"docs":{}},"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"s":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"8":{"0":{"0":{"1":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"2":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"docs":{}},"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"docs":{}},"docs":{},"\"":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"/":{"7":{"docs":{},".":{"4":{"3":{"docs":{},".":{"0":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"\"":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"i":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}},"x":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"#":{"docs":{},"全":{"docs":{},"局":{"docs":{},"包":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"启":{"docs":{},"动":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},",":{"docs":{},"并":{"docs":{},"解":{"docs":{},"析":{"docs":{},"所":{"docs":{},"有":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"地":{"docs":{},"包":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"生":{"docs":{},"成":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"后":{"docs":{},"需":{"docs":{},"要":{"docs":{},"手":{"docs":{},"动":{"docs":{},"信":{"docs":{},"任":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"&":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"&":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"'":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"8":{"0":{"0":{"1":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"8":{"docs":{},"'":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{"./":{"ref":"./","tf":0.002270663033605813}},".":{"docs":{},".":{"docs":{},".":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"/":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"'":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"/":{"docs":{},"t":{"docs":{},"o":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"'":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}},"a":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"'":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}},"/":{"0":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},"'":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"?":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},"=":{"1":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"docs":{}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"i":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"f":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"m":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}}}}},"h":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"{":{"docs":{},"\"":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"\"":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}},"(":{"docs":{},"!":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},".":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"m":{"docs":{},"g":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},")":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"e":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"i":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},".":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"'":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"'":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}}}},"/":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"'":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"*":{"docs":{},"/":{"docs":{"./":{"ref":"./","tf":0.007266121707538601}},"}":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.003178928247048138}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"*":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}},"+":{"docs":{},"=":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}},".":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}},".":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.003178928247048138}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"/":{"docs":{},"m":{"docs":{},"y":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"p":{"docs":{},"k":{"docs":{},"g":{"docs":{},"/":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}},"/":{"docs":{},"*":{"docs":{"./":{"ref":"./","tf":0.007720254314259764}}},"/":{"docs":{"./":{"ref":"./","tf":0.006357856494096276}},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"这":{"docs":{},"里":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"同":{"docs":{},"时":{"docs":{},"加":{"docs":{},"上":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}},"^":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},".":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},".":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{"./":{"ref":"./","tf":0.020435967302452316}},"=":{"docs":{},"=":{"docs":{"./":{"ref":"./","tf":0.004541326067211626}}}},">":{"docs":{"./":{"ref":"./","tf":0.003178928247048138}}}},">":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}},"=":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"关":{"docs":{},"于":{"docs":{},"本":{"docs":{},"机":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"证":{"docs":{},"书":{"docs":{},"信":{"docs":{},"任":{"docs":{},"设":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}},"通":{"docs":{},"用":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"q":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"a":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.005449591280653951}},"\"":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}},"'":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},")":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}}},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"]":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},",":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}}}},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"i":{"docs":{"./":{"ref":"./","tf":0.0326975476839237}}},"y":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},".":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"i":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}},",":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"m":{"docs":{},"g":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"(":{"docs":{},"(":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"m":{"docs":{},"g":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"(":{"docs":{},"'":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"s":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"加":{"docs":{},"载":{"docs":{},"本":{"docs":{},"地":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"参":{"docs":{},"数":{"docs":{},"里":{"docs":{},"传":{"docs":{},"入":{"docs":{},"一":{"docs":{},"个":{"docs":{},"本":{"docs":{},"地":{"docs":{},"的":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"包":{"docs":{},"路":{"docs":{},"径":{"docs":{},",":{"docs":{},"或":{"docs":{},"是":{"docs":{},"某":{"docs":{},"个":{"docs":{},"全":{"docs":{},"局":{"docs":{},"安":{"docs":{},"装":{"docs":{},"的":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"包":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"作":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"模":{"docs":{},"块":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"整":{"docs":{},"合":{"docs":{},"进":{"docs":{},"其":{"docs":{},"他":{"docs":{},"工":{"docs":{},"具":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}},"向":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"送":{"docs":{},"请":{"docs":{},"求":{"docs":{},"前":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"并":{"docs":{},"带":{"docs":{},"上":{"docs":{},"参":{"docs":{},"数":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"发":{"docs":{},"送":{"docs":{},"请":{"docs":{},"求":{"docs":{},"前":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{},"并":{"docs":{},"带":{"docs":{},"上":{"docs":{},"参":{"docs":{},"数":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"与":{"docs":{},"目":{"docs":{},"标":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"发":{"docs":{},"生":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"二":{"docs":{},"次":{"docs":{},"开":{"docs":{},"发":{"docs":{},"的":{"docs":{},"能":{"docs":{},"力":{"docs":{},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"j":{"docs":{},"s":{"docs":{},"编":{"docs":{},"写":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"(":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{},"来":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"收":{"docs":{},"到":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{},"并":{"docs":{},"带":{"docs":{},"上":{"docs":{},"参":{"docs":{},"数":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"开":{"docs":{},"放":{"docs":{},"式":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"由":{"docs":{},"模":{"docs":{},"块":{"docs":{},"做":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"新":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"或":{"docs":{},"返":{"docs":{},"回":{"docs":{},"响":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"不":{"docs":{},"对":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"做":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"如":{"docs":{},"需":{"docs":{},"看":{"docs":{},"到":{"docs":{},"明":{"docs":{},"文":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"配":{"docs":{},"置":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"i":{"docs":{},"x":{"docs":{},":":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}},"t":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},")":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"提":{"docs":{},"前":{"docs":{},"信":{"docs":{},"任":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"b":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"d":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"e":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"b":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0027247956403269754}},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},"e":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"o":{"docs":{},"d":{"docs":{},"y":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}}},"三":{"docs":{},"个":{"docs":{},"字":{"docs":{},"段":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"等":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},")":{"docs":{},",":{"docs":{},"甚":{"docs":{},"至":{"docs":{},"是":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"目":{"docs":{},"标":{"docs":{},"地":{"docs":{},"址":{"docs":{},"等":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"i":{"docs":{"./":{"ref":"./","tf":0.003178928247048138}}}},"n":{"docs":{},"o":{"docs":{},"u":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"y":{"docs":{},"'":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}},"c":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.009990917347865577}},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},",":{"docs":{},"按":{"docs":{},"提":{"docs":{},"示":{"docs":{},"扫":{"docs":{},"描":{"docs":{},"二":{"docs":{},"维":{"docs":{},"码":{"docs":{},"即":{"docs":{},"可":{"docs":{},"安":{"docs":{},"装":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},".":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}},"l":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.004087193460490463}}}},"r":{"docs":{},"d":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"i":{"docs":{},"f":{"docs":{"./":{"ref":"./","tf":0.004995458673932788}},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"s":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"y":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"i":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"c":{"docs":{},"k":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}},",":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}},"o":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"d":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}},")":{"docs":{},"、":{"docs":{},"响":{"docs":{},"应":{"docs":{},"头":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"s":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"'":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"(":{"docs":{},"'":{"docs":{},"t":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"t":{"docs":{"./":{"ref":"./","tf":0.00862851952770209}}}},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"'":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.004995458673932788}},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"u":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"o":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.005449591280653951}},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}}}},"w":{"docs":{},"d":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}},"d":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"s":{"docs":{},"l":{"docs":{},"y":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.0027247956403269754}},"\"":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"'":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}}}}},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0027247956403269754}},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"l":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"b":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"c":{"docs":{},"r":{"docs":{},"y":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}}}},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0036330608537693005}},".":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"m":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"o":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}}},"i":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"n":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}},"u":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"r":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"c":{"docs":{},"r":{"docs":{},"y":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"d":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"t":{"docs":{},"i":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.006811989100817439}},")":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"s":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"(":{"docs":{},"'":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.003178928247048138}}}}}},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"k":{"docs":{},"g":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"l":{"docs":{},"o":{"docs":{},"k":{"docs":{},"b":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"h":{"docs":{},"g":{"docs":{},"k":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"j":{"docs":{},"o":{"docs":{},"m":{"docs":{},"c":{"docs":{},"l":{"docs":{},"g":{"docs":{},"j":{"docs":{},"g":{"docs":{},"i":{"docs":{},"f":{"docs":{},")":{"docs":{},"为":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},".":{"docs":{},"g":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0036330608537693005}},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"q":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"c":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.004541326067211626}},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},",":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"d":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}}}},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}},"s":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0027247956403269754}},"(":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}},".":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}}},"l":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"i":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}},"g":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.004541326067211626}}}}},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"主":{"docs":{},"页":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"v":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}}}},"o":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"u":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"d":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"h":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"e":{"docs":{},"d":{"docs":{},"!":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},"'":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}}}}}}},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}},")":{"docs":{},",":{"docs":{},"请":{"docs":{},"求":{"docs":{},"体":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}},":":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}}},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"a":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},")":{"docs":{},"、":{"docs":{},"响":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{},"等":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}},"l":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"r":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"o":{"docs":{},"d":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.014986376021798364}},"/":{"1":{"docs":{},".":{"1":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"docs":{}}},"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},":":{"docs":{},"/":{"docs":{},"/":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"1":{"docs":{"./":{"ref":"./","tf":0.004541326067211626}}},"2":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},"/":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}}},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.004541326067211626}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"8":{"0":{"0":{"8":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"j":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"#":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"连":{"docs":{},"接":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"出":{"docs":{},"错":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}},"代":{"docs":{},"理":{"docs":{},"配":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}}},"的":{"docs":{},"代":{"docs":{},"理":{"docs":{},"模":{"docs":{},"式":{"docs":{},"中":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"是":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"r":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.003178928247048138}}}}}},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.008174386920980926}}}},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"i":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.009082652134423252}},"`":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"按":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"模":{"docs":{},"块":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"配":{"docs":{},"置":{"docs":{},"`":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"`":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"都":{"docs":{},"会":{"docs":{},"被":{"docs":{},"替":{"docs":{},"换":{"docs":{},"证":{"docs":{},"书":{"docs":{},"并":{"docs":{},"解":{"docs":{},"析":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"后":{"docs":{},"才":{"docs":{},"会":{"docs":{},"从":{"docs":{},"界":{"docs":{},"面":{"docs":{},"上":{"docs":{},"看":{"docs":{},"到":{"docs":{},"相":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":10.001362397820163}}}}}}}}},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"o":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},",":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"o":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},"s":{"docs":{},"系":{"docs":{},"统":{"docs":{},"信":{"docs":{},"任":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"s":{"docs":{},"u":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}},".":{"docs":{},"e":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"t":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},".":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"e":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"'":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"n":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"b":{"docs":{},"/":{"docs":{},"s":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0027247956403269754}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}}}},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"a":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}}}},"g":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"i":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"n":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"u":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}},":":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"n":{"docs":{},"u":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"e":{"docs":{},")":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"必":{"docs":{},"须":{"docs":{},"信":{"docs":{},"任":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"才":{"docs":{},"能":{"docs":{},"进":{"docs":{},"行":{"docs":{},"后":{"docs":{},"续":{"docs":{},"流":{"docs":{},"程":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.01226158038147139}}}}},"u":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.009082652134423252}},"e":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.004995458673932788}}}}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"y":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"p":{"docs":{},"k":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}}}},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"n":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"a":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.003178928247048138}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"[":{"docs":{},"'":{"docs":{},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"r":{"docs":{},"e":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.005449591280653951}},"e":{"docs":{},".":{"docs":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"[":{"docs":{},"'":{"docs":{},"x":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"e":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}}}},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}},"s":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}}}}},"w":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"p":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.0036330608537693005}}}},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},";":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"(":{"docs":{},"{":{"docs":{},"}":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}},"n":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"\"":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.004541326067211626}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"a":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}},"s":{"docs":{},"x":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"系":{"docs":{},"统":{"docs":{},"信":{"docs":{},"任":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"w":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"s":{"docs":{},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}}}}}}}},"w":{"docs":{},"n":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"g":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.003178928247048138}}}},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"s":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0027247956403269754}},":":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0027247956403269754}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},"e":{"docs":{},"(":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},"\"":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},":":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},",":{"docs":{},"i":{"docs":{},".":{"docs":{},"e":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.01634877384196185}}},"y":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"'":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"y":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"'":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"y":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}},"p":{"docs":{},"m":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}}}},"q":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"i":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}},"f":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.023614895549500452}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},":":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}}},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.004087193460490463}},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},";":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}}}}}}}}}}}}}}}}}},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}}}}}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.0027247956403269754}}},".":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"s":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"i":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},"e":{"docs":{},"(":{"docs":{},"'":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"y":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}},")":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"d":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"{":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.014986376021798364}},"e":{"docs":{},"\"":{"docs":{},"}":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},":":{"docs":{"./":{"ref":"./","tf":0.007266121707538601}}},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},")":{"docs":{"./":{"ref":"./","tf":0.0027247956403269754}}},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}},";":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.01634877384196185}}}}}},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.005903723887375113}},"c":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},".":{"docs":{},"c":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.02134423251589464}},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"_":{"docs":{},"s":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"/":{"docs":{},"s":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"口":{"docs":{},"文":{"docs":{},"档":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"样":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"模":{"docs":{},"块":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"n":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"s":{"docs":{},"k":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"s":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.004995458673932788}},"e":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}},":":{"docs":{"./":{"ref":"./","tf":0.0036330608537693005}}}}}},"e":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}}}},"v":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}},"f":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"e":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.003178928247048138}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"s":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"u":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"e":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"l":{"docs":{},"f":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.004541326067211626}}},"t":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.008174386920980926}},",":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"t":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"(":{"docs":{},"s":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"u":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}},"d":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"g":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"p":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"s":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}}}},"t":{"docs":{},"u":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}}}}}}}}}}},"e":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"u":{"docs":{},"f":{"docs":{},"f":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"u":{"docs":{},"d":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}},"y":{"docs":{},"(":{"docs":{},")":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},":":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"c":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"r":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}},"d":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"k":{"docs":{},"i":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.0027247956403269754}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},":":{"docs":{"./":{"ref":"./","tf":0.0036330608537693005}}}}},"x":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"/":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"a":{"docs":{},"t":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"i":{"docs":{},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"o":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0027247956403269754}}}}}},"!":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},",":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"或":{"docs":{},"者":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"替":{"docs":{},"换":{"docs":{},"证":{"docs":{},"书":{"docs":{},"并":{"docs":{},"解":{"docs":{},"析":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.005449591280653951}},")":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}},"i":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"'":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}}}},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"i":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.003178928247048138}}}}}}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"p":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"u":{"docs":{},"i":{"docs":{},"中":{"docs":{},"的":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},",":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}},"n":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"k":{"docs":{},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"l":{"docs":{},"i":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"s":{"docs":{"./":{"ref":"./","tf":0.009082652134423252}},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"s":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"u":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}},"u":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}}}}},"i":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}},"e":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{"./":{"ref":"./","tf":0.003178928247048138}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"版":{"docs":{},"界":{"docs":{},"面":{"docs":{},"端":{"docs":{},"口":{"docs":{},"号":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"8":{"0":{"0":{"2":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}},"配":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"重":{"docs":{},"构":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"s":{"docs":{},"系":{"docs":{},"统":{"docs":{},"信":{"docs":{},"任":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"o":{"docs":{},"r":{"docs":{},"l":{"docs":{},"d":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"k":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"s":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}},"s":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"r":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"y":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}},"h":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"x":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}},"y":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"'":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"{":{"docs":{"./":{"ref":"./","tf":0.03996366939146231}},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.0036330608537693005}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}}}}}}},"|":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"}":{"docs":{"./":{"ref":"./","tf":0.013623978201634877}},")":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},";":{"docs":{"./":{"ref":"./","tf":0.004087193460490463}}}},",":{"docs":{"./":{"ref":"./","tf":0.009082652134423252}}},";":{"docs":{"./":{"ref":"./","tf":0.012715712988192553}}}},"下":{"docs":{},"载":{"docs":{},"后":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"单":{"docs":{},"击":{"docs":{},"打":{"docs":{},"开":{"docs":{},"并":{"docs":{},"安":{"docs":{},"装":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"是":{"docs":{},"最":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"安":{"docs":{},"装":{"docs":{},"即":{"docs":{},"可":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"做":{"docs":{},"任":{"docs":{},"何":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{},"此":{"docs":{},"时":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"错":{"docs":{},"误":{"docs":{},"页":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}}}}}}}}}}},"开":{"docs":{},"启":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"代":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}},"中":{"docs":{},"把":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"开":{"docs":{},"关":{"docs":{},"打":{"docs":{},"开":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"s":{"docs":{},"a":{"docs":{},"f":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"将":{"docs":{},"报":{"docs":{},"错":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"文":{"docs":{},"档":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"为":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"什":{"docs":{},"么":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"不":{"docs":{},"能":{"docs":{},"进":{"docs":{},"入":{"docs":{},"处":{"docs":{},"理":{"docs":{},"函":{"docs":{},"数":{"docs":{},"?":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"要":{"docs":{},"特":{"docs":{},"性":{"docs":{},"包":{"docs":{},"括":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"举":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},",":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},":":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"从":{"docs":{},"s":{"docs":{},"d":{"docs":{},"卡":{"docs":{},"安":{"docs":{},"装":{"docs":{},"证":{"docs":{},"书":{"docs":{},"。":{"docs":{},"找":{"docs":{},"到":{"docs":{},"你":{"docs":{},"下":{"docs":{},"载":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"安":{"docs":{},"装":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}},"存":{"docs":{},"储":{"docs":{},"设":{"docs":{},"备":{"docs":{},"安":{"docs":{},"装":{"docs":{},"。":{"docs":{},"找":{"docs":{},"到":{"docs":{},"你":{"docs":{},"下":{"docs":{},"载":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"安":{"docs":{},"装":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"理":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"发":{"docs":{},"生":{"docs":{},"错":{"docs":{},"误":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"启":{"docs":{},"动":{"docs":{},"完":{"docs":{},"成":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"都":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"设":{"docs":{},"置":{"docs":{},"中":{"docs":{},"配":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}},"以":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"的":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"y":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"插":{"docs":{},"件":{"docs":{},"为":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"任":{"docs":{},"意":{"docs":{},"一":{"docs":{},"项":{"docs":{},"都":{"docs":{},"能":{"docs":{},"用":{"docs":{},"来":{"docs":{},"改":{"docs":{},"变":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"特":{"docs":{},"性":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}},"几":{"docs":{},"种":{"docs":{},"返":{"docs":{},"回":{"docs":{},"都":{"docs":{},"是":{"docs":{},"合":{"docs":{},"法":{"docs":{},"的":{"docs":{"./":{"ref":"./","tf":0.002223869532987398}}}}}}}}}}}}},"作":{"docs":{},"为":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"模":{"docs":{},"块":{"docs":{},"使":{"docs":{},"用":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"全":{"docs":{},"局":{"docs":{},"模":{"docs":{},"块":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"使":{"docs":{},"用":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"包":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"举":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"在":{"docs":{},"线":{"docs":{},"地":{"docs":{},"址":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"本":{"docs":{},"地":{"docs":{},"数":{"docs":{},"据":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"路":{"docs":{},"径":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"修":{"docs":{},"改":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}},"请":{"docs":{},"求":{"docs":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"协":{"docs":{},"议":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},",":{"docs":{},"如":{"docs":{},"强":{"docs":{},"制":{"docs":{},"改":{"docs":{},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"发":{"docs":{},"起":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}},"参":{"docs":{},"数":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"头":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"数":{"docs":{},"据":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"的":{"docs":{},"目":{"docs":{},"标":{"docs":{},"地":{"docs":{},"址":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"内":{"docs":{},"容":{"docs":{},"并":{"docs":{},"延":{"docs":{},"迟":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"头":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"状":{"docs":{},"态":{"docs":{},"码":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"状":{"docs":{},"态":{"docs":{},"码":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}},"关":{"docs":{},"闭":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"全":{"docs":{},"局":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}},"其":{"docs":{},"他":{"docs":{},"命":{"docs":{},"令":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"创":{"docs":{},"建":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"加":{"docs":{},"密":{"docs":{},"与":{"docs":{},"凭":{"docs":{},"据":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"即":{"docs":{},"将":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"供":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"'":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"作":{"docs":{},"为":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{},"详":{"docs":{},"见":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"j":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"#":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"原":{"docs":{},"始":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"返":{"docs":{},"回":{"docs":{},"对":{"docs":{},"象":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}},"双":{"docs":{},"击":{"docs":{},"打":{"docs":{},"开":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},".":{"docs":{},"c":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}},"发":{"docs":{},"送":{"docs":{},"响":{"docs":{},"应":{"docs":{},"前":{"docs":{},"处":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"请":{"docs":{},"求":{"docs":{},"前":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"处":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}},"只":{"docs":{},"有":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"时":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"才":{"docs":{},"会":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"替":{"docs":{},"换":{"docs":{},"证":{"docs":{},"书":{"docs":{},"、":{"docs":{},"解":{"docs":{},"析":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"。":{"docs":{},"否":{"docs":{},"则":{"docs":{},"只":{"docs":{},"做":{"docs":{},"数":{"docs":{},"据":{"docs":{},"流":{"docs":{},"转":{"docs":{},"发":{"docs":{},",":{"docs":{},"无":{"docs":{},"法":{"docs":{},"看":{"docs":{},"到":{"docs":{},"明":{"docs":{},"文":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"普":{"docs":{},"通":{"docs":{},"的":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}},"修":{"docs":{},"改":{"docs":{},"内":{"docs":{},"容":{"docs":{},"包":{"docs":{},"括":{"docs":{},"请":{"docs":{},"求":{"docs":{},"头":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"包":{"docs":{},"括":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"状":{"docs":{},"态":{"docs":{},"码":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}},"同":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},",":{"docs":{},"加":{"docs":{},"载":{"docs":{},"规":{"docs":{},"则":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"后":{"docs":{},"将":{"docs":{},"终":{"docs":{},"端":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"配":{"docs":{},"置":{"docs":{},"为":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"1":{"docs":{},"即":{"docs":{},"可":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"启":{"docs":{},"动":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"时":{"docs":{},"配":{"docs":{},"置":{"docs":{},"`":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"端":{"docs":{},"口":{"docs":{},"号":{"8":{"0":{"0":{"1":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"启":{"docs":{},"动":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"在":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"j":{"docs":{},"s":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"启":{"docs":{},"动":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"高":{"docs":{},"级":{"docs":{},"设":{"docs":{},"置":{"docs":{},"中":{"docs":{},",":{"docs":{},"配":{"docs":{},"置":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"代":{"docs":{},"理":{"docs":{},"即":{"docs":{},"可":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}},"构":{"docs":{},"造":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"传":{"docs":{},"入":{"docs":{},"参":{"docs":{},"数":{"docs":{},"d":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"s":{"docs":{},"l":{"docs":{},"y":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"请":{"docs":{},"求":{"docs":{},"处":{"docs":{},"理":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"发":{"docs":{},"生":{"docs":{},"错":{"docs":{},"误":{"docs":{},"时":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"并":{"docs":{},"提":{"docs":{},"供":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"错":{"docs":{},"误":{"docs":{},"信":{"docs":{},"息":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"基":{"docs":{},"于":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},",":{"docs":{},"开":{"docs":{},"放":{"docs":{},"二":{"docs":{},"次":{"docs":{},"开":{"docs":{},"发":{"docs":{},"能":{"docs":{},"力":{"docs":{},",":{"docs":{},"允":{"docs":{},"许":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"请":{"docs":{},"求":{"docs":{},"处":{"docs":{},"理":{"docs":{},"逻":{"docs":{},"辑":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"流":{"docs":{},"程":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"图":{"docs":{},"如":{"docs":{},"下":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"多":{"docs":{},"数":{"docs":{},"场":{"docs":{},"景":{"docs":{},"下":{"docs":{},",":{"docs":{},"错":{"docs":{},"误":{"docs":{},"会":{"docs":{},"在":{"docs":{},"请":{"docs":{},"求":{"docs":{},"目":{"docs":{},"标":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"发":{"docs":{},"生":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"解":{"docs":{},"析":{"docs":{},"失":{"docs":{},"败":{"docs":{},"、":{"docs":{},"请":{"docs":{},"求":{"docs":{},"超":{"docs":{},"时":{"docs":{},"等":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"下":{"docs":{},"几":{"docs":{},"种":{"docs":{},"方":{"docs":{},"案":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"来":{"docs":{},"引":{"docs":{},"用":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"何":{"docs":{},"引":{"docs":{},"用":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"果":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"返":{"docs":{},"回":{"docs":{},"了":{"docs":{},"响":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"则":{"docs":{},"立":{"docs":{},"即":{"docs":{},"把":{"docs":{},"此":{"docs":{},"响":{"docs":{},"应":{"docs":{},"返":{"docs":{},"回":{"docs":{},"到":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"(":{"docs":{},"而":{"docs":{},"不":{"docs":{},"再":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},")":{"docs":{},",":{"docs":{},"流":{"docs":{},"程":{"docs":{},"结":{"docs":{},"束":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{},"了":{"docs":{},"全":{"docs":{},"局":{"docs":{},"解":{"docs":{},"析":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"则":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"会":{"docs":{},"略":{"docs":{},"过":{"docs":{},"这":{"docs":{},"个":{"docs":{},"调":{"docs":{},"用":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"启":{"docs":{},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"解":{"docs":{},"析":{"docs":{},",":{"docs":{},"请":{"docs":{},"在":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"启":{"docs":{},"动":{"docs":{},"前":{"docs":{},"自":{"docs":{},"行":{"docs":{},"调":{"docs":{},"用":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},".":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"m":{"docs":{},"g":{"docs":{},"r":{"docs":{},"相":{"docs":{},"关":{"docs":{},"方":{"docs":{},"法":{"docs":{},"生":{"docs":{},"成":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"并":{"docs":{},"引":{"docs":{},"导":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"任":{"docs":{},"安":{"docs":{},"装":{"docs":{},"。":{"docs":{},"或":{"docs":{},"引":{"docs":{},"导":{"docs":{},"用":{"docs":{},"户":{"docs":{},"使":{"docs":{},"用":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"安":{"docs":{},"全":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"性":{"docs":{},"与":{"docs":{},"位":{"docs":{},"置":{"docs":{},"信":{"docs":{},"息":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"卓":{"docs":{},"系":{"docs":{},"统":{"docs":{},"信":{"docs":{},"任":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}},"装":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"c":{"docs":{},"a":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"对":{"docs":{},"于":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"或":{"docs":{},"者":{"docs":{},"u":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"u":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"在":{"docs":{},"安":{"docs":{},"装":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"安":{"docs":{},"装":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{},"示":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"引":{"docs":{},"入":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"当":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"请":{"docs":{},"求":{"docs":{},"经":{"docs":{},"过":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"时":{"docs":{},",":{"docs":{},"具":{"docs":{},"体":{"docs":{},"处":{"docs":{},"理":{"docs":{},"过":{"docs":{},"程":{"docs":{},"是":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"收":{"docs":{},"到":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"时":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"可":{"docs":{},"以":{"docs":{},"替":{"docs":{},"换":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"对":{"docs":{},"请":{"docs":{},"求":{"docs":{},"做":{"docs":{},"明":{"docs":{},"文":{"docs":{},"解":{"docs":{},"析":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"代":{"docs":{},"理":{"docs":{},"时":{"docs":{},",":{"docs":{},"w":{"docs":{},"s":{"docs":{},"s":{"docs":{},"也":{"docs":{},"会":{"docs":{},"被":{"docs":{},"代":{"docs":{},"理":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"记":{"docs":{},"录":{"docs":{},"。":{"docs":{},"需":{"docs":{},"要":{"docs":{},"开":{"docs":{},"启":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"访":{"docs":{},"问":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"站":{"docs":{},"点":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"会":{"docs":{},"提":{"docs":{},"示":{"docs":{},"该":{"docs":{},"站":{"docs":{},"点":{"docs":{},"不":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"安":{"docs":{},"全":{"docs":{},"的":{"docs":{},"网":{"docs":{},"站":{"docs":{},",":{"docs":{},"这":{"docs":{},"通":{"docs":{},"常":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"站":{"docs":{},"点":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"设":{"docs":{},"置":{"docs":{},"不":{"docs":{},"能":{"docs":{},"被":{"docs":{},"正":{"docs":{},"确":{"docs":{},"识":{"docs":{},"别":{"docs":{},"导":{"docs":{},"致":{"docs":{},"的":{"docs":{},"(":{"docs":{},"比":{"docs":{},"如":{"docs":{},",":{"docs":{},"站":{"docs":{},"点":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"是":{"docs":{},"自":{"docs":{},"签":{"docs":{},"发":{"docs":{},"的":{"docs":{},")":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"信":{"docs":{},"任":{"docs":{},"该":{"docs":{},"网":{"docs":{},"站":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"以":{"docs":{},"下":{"docs":{},"方":{"docs":{},"式":{"docs":{},"来":{"docs":{},"继":{"docs":{},"续":{"docs":{},"访":{"docs":{},"问":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"必":{"docs":{},"选":{"docs":{},",":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"端":{"docs":{},"口":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}},"快":{"docs":{},"速":{"docs":{},"开":{"docs":{},"始":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"我":{"docs":{},"们":{"docs":{},"自":{"docs":{},"然":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"借":{"docs":{},"助":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"个":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"我":{"docs":{},"们":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"控":{"docs":{},"制":{"docs":{},"到":{"docs":{},"只":{"docs":{},"允":{"docs":{},"许":{"docs":{},"指":{"docs":{},"定":{"docs":{},"网":{"docs":{},"址":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{},"对":{"docs":{},"不":{"docs":{},"在":{"docs":{},"列":{"docs":{},"表":{"docs":{},"的":{"docs":{},"网":{"docs":{},"址":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"强":{"docs":{},"验":{"docs":{},"证":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"有":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}},"找":{"docs":{},"到":{"docs":{},"刚":{"docs":{},"刚":{"docs":{},"导":{"docs":{},"入":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"配":{"docs":{},"置":{"docs":{},"为":{"docs":{},"信":{"docs":{},"任":{"docs":{},"(":{"docs":{},"a":{"docs":{},"l":{"docs":{},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"把":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"响":{"docs":{},"应":{"docs":{},"信":{"docs":{},"息":{"docs":{},"返":{"docs":{},"回":{"docs":{},"给":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}},"所":{"docs":{},"有":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}},"拦":{"docs":{},"截":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"对":{"docs":{},"内":{"docs":{},"容":{"docs":{},"做":{"docs":{},"修":{"docs":{},"改":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"并":{"docs":{},"修":{"docs":{},"改":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"响":{"docs":{},"应":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"正":{"docs":{},"在":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"g":{"docs":{},"u":{"docs":{},"i":{"docs":{},"界":{"docs":{},"面":{"docs":{},",":{"docs":{},"用":{"docs":{},"以":{"docs":{},"观":{"docs":{},"察":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}},"示":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"支":{"docs":{},"持":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"的":{"docs":{},"解":{"docs":{},"析":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}},"收":{"docs":{},"集":{"docs":{},"请":{"docs":{},"求":{"docs":{},"所":{"docs":{},"有":{"docs":{},"请":{"docs":{},"求":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}},"改":{"docs":{},"成":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"并":{"docs":{},"发":{"docs":{},"送":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}},"时":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"参":{"docs":{},"数":{"docs":{},"内":{"docs":{},"容":{"docs":{},"大":{"docs":{},"致":{"docs":{},"如":{"docs":{},"下":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"参":{"docs":{},"数":{"docs":{},"内":{"docs":{},"容":{"docs":{},"大":{"docs":{},"致":{"docs":{},"如":{"docs":{},"下":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"否":{"docs":{},"启":{"docs":{},"用":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"版":{"docs":{},"界":{"docs":{},"面":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}},"屏":{"docs":{},"蔽":{"docs":{},"所":{"docs":{},"有":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"输":{"docs":{},"出":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"启":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"代":{"docs":{},"理":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}},"强":{"docs":{},"制":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},",":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"忽":{"docs":{},"略":{"docs":{},"请":{"docs":{},"求":{"docs":{},"中":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}},"必":{"docs":{},"选":{"docs":{},"字":{"docs":{},"段":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"文":{"docs":{},"档":{"docs":{},"的":{"docs":{},"适":{"docs":{},"用":{"docs":{},"范":{"docs":{},"围":{"docs":{},"是":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}},"质":{"docs":{},"是":{"docs":{},"中":{"docs":{},"间":{"docs":{},"人":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}},"来":{"docs":{},"加":{"docs":{},"载":{"docs":{},"模":{"docs":{},"块":{"docs":{},"并":{"docs":{},"体":{"docs":{},"验":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"忽":{"docs":{},"略":{"docs":{},"证":{"docs":{},"书":{"docs":{},"认":{"docs":{},"证":{"docs":{},"的":{"docs":{},"错":{"docs":{},"误":{"docs":{},"。":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"该":{"docs":{},"参":{"docs":{},"数":{"docs":{},"是":{"docs":{},"全":{"docs":{},"局":{"docs":{},"生":{"docs":{},"效":{"docs":{},"的":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"在":{"docs":{},"此":{"docs":{},"期":{"docs":{},"间":{"docs":{},"访":{"docs":{},"问":{"docs":{},"了":{"docs":{},"其":{"docs":{},"他":{"docs":{},"未":{"docs":{},"知":{"docs":{},"的":{"docs":{},"网":{"docs":{},"站":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"问":{"docs":{},"题":{"docs":{},"也":{"docs":{},"会":{"docs":{},"被":{"docs":{},"忽":{"docs":{},"略":{"docs":{},",":{"docs":{},"这":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"带":{"docs":{},"来":{"docs":{},"安":{"docs":{},"全":{"docs":{},"隐":{"docs":{},"患":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"查":{"docs":{},"看":{"docs":{},"请":{"docs":{},"求":{"docs":{},"信":{"docs":{},"息":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}},"校":{"docs":{},"验":{"docs":{},"系":{"docs":{},"统":{"docs":{},"内":{"docs":{},"是":{"docs":{},"否":{"docs":{},"存":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"的":{"docs":{},"根":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}},"样":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"根":{"docs":{},"据":{"docs":{},"请":{"docs":{},"求":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"向":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"发":{"docs":{},"出":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"接":{"docs":{},"收":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"响":{"docs":{},"应":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}},"模":{"docs":{},"块":{"docs":{},"介":{"docs":{},"绍":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"此":{"docs":{},"处":{"docs":{},"无":{"docs":{},"法":{"docs":{},"控":{"docs":{},"制":{"docs":{},"向":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"无":{"docs":{},"需":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}},"注":{"docs":{},"意":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"引":{"docs":{},"用":{"docs":{},"规":{"docs":{},"则":{"docs":{},"前":{"docs":{},",":{"docs":{},"请":{"docs":{},"务":{"docs":{},"必":{"docs":{},"确":{"docs":{},"保":{"docs":{},"文":{"docs":{},"件":{"docs":{},"来":{"docs":{},"源":{"docs":{},"可":{"docs":{},"靠":{"docs":{},",":{"docs":{},"以":{"docs":{},"免":{"docs":{},"发":{"docs":{},"生":{"docs":{},"安":{"docs":{},"全":{"docs":{},"问":{"docs":{},"题":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"测":{"docs":{},"试":{"docs":{},"规":{"docs":{},"则":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"访":{"docs":{},"问":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"2":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"然":{"docs":{},"后":{"docs":{},",":{"docs":{},"安":{"docs":{},"装":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}},"生":{"docs":{},"成":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"的":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},",":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},"请":{"docs":{},"引":{"docs":{},"导":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"任":{"docs":{},".":{"docs":{},"c":{"docs":{},"r":{"docs":{},"t":{"docs":{},"文":{"docs":{},"件":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"证":{"docs":{},"书":{"docs":{},"并":{"docs":{},"解":{"docs":{},"析":{"docs":{},"所":{"docs":{},"有":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}},"用":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"发":{"docs":{},"请":{"docs":{},"求":{"docs":{},"测":{"docs":{},"试":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"如":{"docs":{},"下":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}},"测":{"docs":{},"试":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"测":{"docs":{},"试":{"docs":{},":":{"docs":{},"配":{"docs":{},"置":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"代":{"docs":{},"理":{"docs":{},"为":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"会":{"docs":{},"被":{"docs":{},"解":{"docs":{},"析":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"数":{"docs":{},"据":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"请":{"docs":{},"求":{"docs":{},"全":{"docs":{},"部":{"docs":{},"改":{"docs":{},"到":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"本":{"docs":{},"地":{"docs":{},"数":{"docs":{},"据":{"docs":{},"代":{"docs":{},"替":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"返":{"docs":{},"回":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"里":{"docs":{},"加":{"docs":{},"上":{"docs":{},"测":{"docs":{},"试":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"并":{"docs":{},"延":{"docs":{},"迟":{"5":{"docs":{},"秒":{"docs":{},"返":{"docs":{},"回":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"docs":{}}}}}}}}}}}}},"头":{"docs":{},"里":{"docs":{},"加":{"docs":{},"上":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"最":{"docs":{},"后":{"docs":{},"追":{"docs":{},"加":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"的":{"docs":{},"签":{"docs":{},"名":{"docs":{},",":{"docs":{},"并":{"docs":{},"延":{"docs":{},"迟":{"5":{"docs":{},"秒":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"docs":{}}}}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},"码":{"docs":{},"都":{"docs":{},"改":{"docs":{},"成":{"4":{"0":{"4":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"请":{"docs":{},"求":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},":":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},",":{"docs":{},"不":{"docs":{},"再":{"docs":{},"发":{"docs":{},"起":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}},"相":{"docs":{},"比":{"3":{"docs":{},".":{"docs":{},"x":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}},"docs":{}}},"确":{"docs":{},"认":{"docs":{},"将":{"docs":{},"证":{"docs":{},"书":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"或":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0029651593773165306}}}},"简":{"docs":{},"介":{"docs":{"./":{"ref":"./","tf":10}}},"化":{"docs":{},"了":{"docs":{},"规":{"docs":{},"则":{"docs":{},"文":{"docs":{},"件":{"docs":{},"内":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"全":{"docs":{},"局":{"docs":{},"代":{"docs":{},"理":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"密":{"docs":{},"码":{"docs":{},"框":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"似":{"docs":{},"这":{"docs":{},"种":{"docs":{},"报":{"docs":{},"错":{"docs":{},"都":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"系":{"docs":{},"统":{"docs":{},"没":{"docs":{},"有":{"docs":{},"信":{"docs":{},"任":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"所":{"docs":{},"造":{"docs":{},"成":{"docs":{},"的":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"经":{"docs":{},"过":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"后":{"docs":{},",":{"docs":{},"期":{"docs":{},"望":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"如":{"docs":{},"下":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"被":{"docs":{},"明":{"docs":{},"文":{"docs":{},"解":{"docs":{},"析":{"docs":{},"后":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"处":{"docs":{},"理":{"docs":{},"流":{"docs":{},"程":{"docs":{},"同":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"一":{"docs":{},"致":{"docs":{},"。":{"docs":{},"未":{"docs":{},"明":{"docs":{},"文":{"docs":{},"解":{"docs":{},"析":{"docs":{},"请":{"docs":{},"求":{"docs":{},"不":{"docs":{},"会":{"docs":{},"再":{"docs":{},"进":{"docs":{},"入":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"做":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"规":{"docs":{},"则":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},",":{"docs":{},"除":{"docs":{},"了":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},",":{"docs":{},"都":{"docs":{},"是":{"docs":{},"由":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}},"内":{"docs":{},"提":{"docs":{},"供":{"docs":{},"`":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"`":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},"全":{"docs":{},"面":{"docs":{},"支":{"docs":{},"持":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"和":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}},"模":{"docs":{},"块":{"docs":{},"应":{"docs":{},"该":{"docs":{},"符":{"docs":{},"合":{"docs":{},"c":{"docs":{},"m":{"docs":{},"d":{"docs":{},"规":{"docs":{},"范":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"典":{"docs":{},"型":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"代":{"docs":{},"码":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"下":{"docs":{},"。":{"docs":{},"模":{"docs":{},"块":{"docs":{},"中":{"docs":{},"所":{"docs":{},"有":{"docs":{},"方":{"docs":{},"法":{"docs":{},"都":{"docs":{},"是":{"docs":{},"可":{"docs":{},"选":{"docs":{},"的":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"实":{"docs":{},"现":{"docs":{},"业":{"docs":{},"务":{"docs":{},"感":{"docs":{},"兴":{"docs":{},"趣":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"用":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"的":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"文":{"docs":{},"案":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"提":{"docs":{},"示":{"docs":{},"用":{"docs":{},"户":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"力":{"docs":{},"范":{"docs":{},"围":{"docs":{},"包":{"docs":{},"括":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}},"解":{"docs":{},"析":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"是":{"docs":{},"中":{"docs":{},"间":{"docs":{},"人":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}},"警":{"docs":{},"告":{"docs":{},":":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{},"和":{"docs":{},"系":{"docs":{},"统":{"docs":{},"安":{"docs":{},"全":{"docs":{},"息":{"docs":{},"息":{"docs":{},"相":{"docs":{},"关":{"docs":{},",":{"docs":{},"建":{"docs":{},"议":{"docs":{},"亲":{"docs":{},"自":{"docs":{},"生":{"docs":{},"成":{"docs":{},",":{"docs":{},"并":{"docs":{},"妥":{"docs":{},"善":{"docs":{},"保":{"docs":{},"管":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.002223869532987398}},"属":{"docs":{},"性":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"访":{"docs":{},"问":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"2":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"证":{"docs":{},"书":{"docs":{},"下":{"docs":{},"载":{"docs":{},"到":{"docs":{},"指":{"docs":{},"定":{"docs":{},"目":{"docs":{},"录":{"docs":{},"后":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"从":{"docs":{},"其":{"docs":{},"他":{"docs":{},"入":{"docs":{},"口":{"docs":{},"进":{"docs":{},"行":{"docs":{},"安":{"docs":{},"装":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"请":{"docs":{},"求":{"docs":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"或":{"docs":{},"者":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}},"出":{"docs":{},"错":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"的":{"docs":{},"原":{"docs":{},"始":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}}}}}}}}},"目":{"docs":{},"标":{"docs":{},"的":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{},"受":{"docs":{},"制":{"docs":{},"于":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"无":{"docs":{},"法":{"docs":{},"获":{"docs":{},"取":{"docs":{},"完":{"docs":{},"整":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"会":{"docs":{},"明":{"docs":{},"文":{"docs":{},"解":{"docs":{},"析":{"docs":{},"这":{"docs":{},"个":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"其":{"docs":{},"他":{"docs":{},"请":{"docs":{},"求":{"docs":{},"不":{"docs":{},"处":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"由":{"docs":{},"模":{"docs":{},"块":{"docs":{},"对":{"docs":{},"响":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{},"进":{"docs":{},"行":{"docs":{},"处":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"错":{"docs":{},"误":{"docs":{},"页":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}},"这":{"docs":{},"里":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"些":{"docs":{},"样":{"docs":{},"例":{"docs":{},",":{"docs":{},"来":{"docs":{},"讲":{"docs":{},"解":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"常":{"docs":{},"见":{"docs":{},"用":{"docs":{},"法":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"请":{"docs":{},"求":{"docs":{},":":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"参":{"docs":{},"数":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"来":{"docs":{},"修":{"docs":{},"改":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},",":{"docs":{},"其":{"docs":{},"配":{"docs":{},"置":{"docs":{},"也":{"docs":{},"是":{"docs":{},"全":{"docs":{},"局":{"docs":{},"性":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"网":{"docs":{},"站":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"问":{"docs":{},"题":{"docs":{},"都":{"docs":{},"会":{"docs":{},"被":{"docs":{},"忽":{"docs":{},"略":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"1":{"docs":{},"为":{"docs":{},"全":{"docs":{},"局":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"系":{"docs":{},"统":{"docs":{},"代":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}},"o":{"docs":{},"s":{"docs":{},"x":{"docs":{},"系":{"docs":{},"统":{"docs":{},"代":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"端":{"docs":{},"口":{"docs":{},",":{"docs":{},"如":{"1":{"0":{"8":{"0":{"docs":{},"端":{"docs":{},"口":{"docs":{},"启":{"docs":{},"动":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"代":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}},"附":{"docs":{},"录":{"docs":{},":":{"docs":{},"如":{"docs":{},"何":{"docs":{},"信":{"docs":{},"任":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}},"限":{"docs":{},"速":{"docs":{},"值":{"docs":{},",":{"docs":{},"单":{"docs":{},"位":{"docs":{},"k":{"docs":{},"b":{"docs":{},"/":{"docs":{},"s":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"不":{"docs":{},"限":{"docs":{},"速":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}},"除":{"docs":{},"了":{"docs":{},"上":{"docs":{},"述":{"docs":{},"证":{"docs":{},"书":{"docs":{},"安":{"docs":{},"装":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"编":{"docs":{},"写":{"docs":{},"一":{"docs":{},"个":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},",":{"docs":{},"在":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}},"首":{"docs":{},"先":{"docs":{},"和":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"扫":{"docs":{},"描":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"二":{"docs":{},"维":{"docs":{},"码":{"docs":{},"进":{"docs":{},"行":{"docs":{},"下":{"docs":{},"载":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"安":{"docs":{},"卓":{"docs":{},"系":{"docs":{},"统":{"docs":{},"安":{"docs":{},"装":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"可":{"docs":{},"能":{"docs":{},"有":{"docs":{},"所":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"安":{"docs":{},"装":{"docs":{},"的":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"是":{"docs":{},"类":{"docs":{},"似":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"列":{"docs":{},"举":{"docs":{},"了":{"docs":{},"几":{"docs":{},"种":{"docs":{},"类":{"docs":{},"型":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"驱":{"docs":{},"动":{"docs":{},"的":{"docs":{},",":{"docs":{},"函":{"docs":{},"数":{"docs":{},"需":{"docs":{},"要":{"docs":{},"满":{"docs":{},"足":{"docs":{},"y":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},"或":{"docs":{},"是":{"docs":{},"返":{"docs":{},"回":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"或":{"docs":{},"使":{"docs":{},"用":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"界":{"docs":{},"面":{"docs":{},"上":{"docs":{},"能":{"docs":{},"看":{"docs":{},"到":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"信":{"docs":{},"息":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}},"界":{"docs":{},"面":{"docs":{},"上":{"docs":{},"能":{"docs":{},"看":{"docs":{},"到":{"docs":{},"刚":{"docs":{},"才":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"信":{"docs":{},"息":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"[":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"y":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}},"s":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"length":1354},"corpusTokens":["\"content","\"curl/7.43.0\"","\"data\":","\"https\"","\"i","\"thi","\"turn","\"user","\"x","#gener","#global","#launch","#local","#全局包","#启动anyproxy,并解析所有https请求","#本地包","#生成rootca证书,生成后需要手动信任","&","&&","'","'...'","'...',","'/',","'/index.html';","'/redirect/to/another/path';","'127.0.0.1'","'8001');","'8008';","';","'a","'anyproxy';","'anyproxy.io',","'anyproxy/0.0.0';","'application/json'","'cach","'close',","'content","'get',","'get';","'hello","'http',","'http';","'http://anyproxy.io/',","'http://httpbin.org/get?show_env=1'","'http://httpbin.org/us","'https'","'https',","'i","'image/gif',","'keep","'mi","'origin","'proxi","'rule","'text/html'","'thi","'user","'{\"hello\":","(!anyproxy.utils.certmgr.ifrootcafileexists())","(!error)","()","(e)","(iswin)","(requestdetail.url","(requestdetail.url.indexof('http://httpbin.org/')","(requestdetail.url.indexof('http://httpbin.org/post')","(requestdetail.url.indexof('http://httpbin.org/us","(requestdetail.url.indexof('https://httpbin.org/us","(requestdetail.url.indexof('https://th/","*/","*/}","*beforedealhttpsrequest(requestdetail)","*beforesendrequest(requestdetail)","*beforesendresponse(requestdetail,","*onconnecterror(requestdetail,","*onerror(requestdetail,","*true*","+=",",",".",".',","...","...,","./myrulepkg/","./rule.j","/*","//","//when","//这里也可以同时加上requestopt","/^win/.test(process.platform);","0)","1.","10.3","10.3信任ca证书","10000,","1080","127.0.0.1:8001","127.0.0.1:8001,","127.0.0.1:8001/index.html","127.0.0.1:8001,访问","1,write","1,编写规则","2,","2.","200,","3,","3.x:","4,","4.0的主要变化:","4.0,欢迎提供反馈","404","404;","443;","5","5000);","5s","80,","8001","8001,","8002","=","===","=>",">",">=",">关于本机",">证书信任设置",">通用","[switchyomega]","_re","_req","_req:","_res:","a:","abil","abliti","activ","add","address","advanc","advance.","agent","agent\":","agent'","agent')","agent':","agent']","agent,","alive',","all,","alway","android","anyprox","anyproxi","anyproxy',","anyproxy.","anyproxy.io","anyproxy.io,","anyproxy.proxycore(options);","anyproxy.proxyserv","anyproxy.proxyserver(options)","anyproxy.proxyserver(options);","anyproxy.utils.certmgr","anyproxy.utils.certmgr.generaterootca((error,","anyproxy.utils.certmgr.generaterootca(callback)","anyproxy.utils.certmgr.ifrootcafileexists()","anyproxy.utils.systemproxymgr","anyproxy.utils.systemproxymgr.disableglobalproxy();","anyproxy.utils.systemproxymgr.enableglobalproxy('127.0.0.1',","anyproxyin","anyproxyins.start();","anyproxy使用require()加载本地规则,你可以在参数里传入一个本地的npm包路径,或是某个全局安装的npm包","anyproxy可以作为一个npm模块使用,整合进其他工具。","anyproxy向客户端发送请求前,会调用beforesendresponse,并带上参数requestdetail","anyproxy向服务端发送请求前,会调用beforesendrequest,并带上参数requestdetail","anyproxy在与目标https服务器建立连接的过程中,如果发生错误,anyproxy会调用这个方法","anyproxy提供了二次开发的能力,你可以用js编写自己的规则模块(rule),来自定义网络请求的处理逻辑。","anyproxy收到https请求时,会调用beforedealhttpsrequest,并带上参数requestdetail","anyproxy是一个开放式的http代理服务器。","anyproxy调用规则模块beforesendrequest方法,由模块做处理,返回新的请求参数,或返回响应内容","anyproxy默认不对https请求做处理,如需看到明文信息,需要配置ca证书","append","appendix:how","apt","as:","at',","attack","attack.","attack),需要客户端提前信任anyproxy生成的ca","automat","base","be","befor","beforedealhttpsrequest","beforedealhttpsrequest(requestdetail)","beforesendrequest","beforesendrequest(requestdetail)","beforesendrespons","beforesendresponse(requestdetail,","below,","below.","below:","besid","bodi","body,","body:","body三个字段","body等","body),甚至是请求的目标地址等","bonou","browser","browser.","by']","by:","by:anyproxi","ca","ca,","ca.","call","card,","caus","ca方法。","ca,按提示扫描二维码即可安装","cert","certdir","certdir);","certif","certificate.","certificates,","certificates.","certifyc","chang","chart","chrome","class:","cli,","cli.","click","clicking,","client","client,","close","co","co.","code","code)、响应头(respons","code,","code.","collect","command","common","config","config.","configur","connect","connection':","connection:","connections.","console,","console.error('error","console.log('th","const","content","content,","control':","couldn't","course.","creat","credenti","curl","curl:","custom","cwd:","d","dangerouslyignoreunauthor","dangerouslyignoreunauthorized:","dangerouslyignoreunauthorized:true,","data","data\"","data'","data',","deal","dealed.","deall","debian","decrypt","default","default.","defin","delay","demo","design","detect","determin","differ","directli","disabl","dn","doc","doubl","download","driven","due","dure","e.g.","easist","edit","emit","enabl","enable:","encrypt","end","english","entir","error","error)","error);","errors,","event:","example(https://chrome.google.com/webstore/detail/padekgcemlokbadohgkifijomclgjgif)为例","except","exec","exec('open","exec('start","exist","expect","extent","face","fail","failure,","fals","false,","false;","faq","feature,","features:","field","file","file,","file.","file:","find","finish","first","flow","follow","follows.","forc","forceproxyhttp","forceproxyhttps:","forward","found","frequent","full","fulli","function","function()","function.","g","gener","get","github:","github主页:https://github.com/alibaba/anyproxi","give","global","go,","gui","guid","h","hack","hacked!","hacked!';","handl","handling.","happen","header","header),请求体(request","header,","header:","headers:","headersar","header)、响应内容等","help","here","here,","here.","hood,","host","host:","hostname:","http","http.rquest,","http/1.1","http/http","http://....j/","http://127.0.0.1:8001/","http://127.0.0.1:8002/","http://127.0.0.1:8002,","http://httpbin.org/","http://httpbin.org/","http://httpbin.org/post","http://httpbin.org/us","http://localhost:8008/index.html","httpbin.org","httpbin.org,","https://github.com/alibaba/anyproxi","https://httpbin.org/us","https://nodejs.org/api/http.html#http_http_request_options_callback","https://sample.com/rule.j","https连接服务器出错","http代理配置","http的代理模式中,这里的request是connect请求","i.e.","ignor","import","in.","includ","influenc","info","info,","insid","instal","instruct","intercept","intercept`参数,按npm模块启动时配置`forceproxyhttps`参数,所有https请求都会被替换证书并解析","intercept后才会从界面上看到相应内容。","interest","interfac","interface,","introduct","invok","io","ios/android","ios系统信任ca证书","issu","iswin","it,","it.","javascript.","js","kb/s,","keep","keypath)","kind","know","know.com')","known","launch","launching,","legaci","line","line,","list","load","local","localrespons","locat","log","logic","login","longer.","luanch","make","man","manag","manual","menu","menu,","messag","method","method,","method:","middl","middle),用户必须信任anyproxy生成的ca证书,才能进行后续流程","mind","modifi","modul","module,","module.","module.export","myrulepkg","nativ","need","network.","new","newli","newopt","newoption.path","newoption.port","newrequestopt","newrequestoptions.headers['us","newrequestoptions.hostnam","newrequestoptions.method","newrequestoptions.path","newrequestoptions.port","newrequestoptions.rejectunauthor","newrespons","newresponse.bodi","newresponse.header['x","newresponse.statuscod","node.j","nodej","nodejs.","nothing,","now","npm","null","null;","number","object","object.","object.assign({},","offer","on","on\"","on,","onconnecterror","onconnecterror(requestdetail,","one.","onerror","onerror(requestdetail,","onlin","option","option,","optional,","osx","osx系统信任ca证书","otherwire,","otherwise,","over","own.","page","param","part","pass","password","path.","path:","place","pleas","point","port","port:","post","privat","process","promis","promise((resolve,","propmt","protocol","protocol\":","protocol,","protocol:","protocol,i.e.","provid","proxi","proxy.close();","proxy.on('error',","proxy.on('ready',","proxy.start();","proxyserv","proxyserver.close();","proxyserver.on('error',","proxyserver.on('ready',","proxyserver.start();","q:","qr","quest","read","readi","receiv","record","redirect","ref:","refer","reject)","rejectunauthor","replac","request","request,","request.","requestdata","requestdata:","requestdetail","requestdetail.protocol","requestdetail.requestoptions);","requestdetail.requestoptions;","requestdetail;","requesting,","requestopt","requestoptions:","requests,","requests.","requir","require('anyproxy');","require('child_process').exec;","require('http').request","require('myrulemodule'),","require('path').dirname(keypath);","require()","required,","resolve({","respons","response\"}'","response',","response:","responsedetail","responsedetail)","responsedetail.response);","responsedetail.response;","return","right","risk.","root","rootca","rootca',","rootca.crt","rule","rule:","rule_sample/sample_modify_request_data.j","rule_sample/sample_modify_request_header.j","rule_sample/sample_modify_request_path.j","rule_sample/sample_modify_request_protocol.j","rule_sample/sample_modify_response_data.j","rule_sample/sample_modify_response_header.j","rule_sample/sample_modify_response_statuscode.j","rule_sample/sample_use_local_response.j","rule接口文档","rule样例","rule模块","run","safari","safe","same","sampl","sample.j","sample:","save","scan","scenario,","sd","second","seconds.","secur","security.","see","self","send","sent","server","server,","server.","set","settimeout(()","settings.","side","signed.","silent","silent:","similar","simpl","simplifi","site","site(s)","situation.","skip","someth","source.","specifi","ssl","start","statu","statuscod","statuscode:","step","storage,","string","stuff:","such","sudo","summari","summary():","summary,","summary:","summary:str","support","sure","system","system,","take","target","tell","test","test:","text","text/plain\"","that.","this:","throttl","throttle:","time","timeout","tip","to!","toward","traffic","tri","true","true,","true;","true或者false,表示是否需要anyproxy替换证书并解析http","trust","trust)","turn","type':","type:","typic","ubuntu","ui,","ui中的","unauthor","under","unknown","unlimit","unsecur","untrust","url","url:","us","use,","user","user.","users,","usual","valid","valu","var","via","view","visit","want","warning:","way","web","webinterfac","webinterface:","webport","webport:","websocket","websocket,","web版界面端口号,默认8002","web版界面配置","web版界面重构","whether","wifi","window","windows系统信任ca证书","without","work","world'","write","written","ws","wsintercept","wsintercept:","wss","x","yieldabl","yieldable,","you'r","{","{boolean}","{number}","{object}","{string}","|","}","})","});","},","};","下载后的证书可以直接单击打开并安装,这种方式是最简单的,直接安装即可","不做任何处理。此时anyproxy会返回一个默认的错误页。","不做任何处理,返回null","不开启websocket代理","中把anyproxy证书的开关打开,否则safari将报错。","中文文档","为","为什么https请求不能进入处理函数?","主要特性包括:","举例","举例,请求","举例:请求","从sd卡安装证书。找到你下载的证书文件,进行安装","从存储设备安装。找到你下载的证书文件,进行安装","代理http","代理websocket","代理服务器发生错误","代理服务器启动完成","代理服务器都在wifi设置中配置","以chrome的switchyomega插件为例","以下任意一项都能用来改变https的处理特性:","以下几种返回都是合法的","作为npm模块使用","作为全局模块","你可以通过","使用npm包","使用举例","使用在线地址","使用本地数据","使用本地路径anyproxi","使用示例","修改发送到","修改请求bodi","修改请求协议","修改请求协议,如强制改用https发起请求","修改请求参数","修改请求头","修改请求数据","修改请求的目标地址","修改返回内容并延迟","修改返回头","修改返回状态码","修改返回的内容","修改返回的状态码","关闭代理服务器","关闭全局代理服务器","其他命令","创建代理服务器","加密与凭据","即将发送的请求配置,供require('http').request作为使用。详见:https://nodejs.org/api/http.html#http_http_request_options_callback","原始的服务端返回对象","双击打开rootca.crt","发送响应前处理","发送请求前拦截处理","只有返回true时,anyproxy才会尝试替换证书、解析https。否则只做数据流转发,无法看到明文数据。","可以是一个函数,也可以是一个普通的字符串","可修改内容包括请求头(request","可修改的内容包括http状态码(statu","同beforedealhttpsrequest中的参数","同beforesendrequest中的参数","启动","启动anyproxy,加载规则","启动代理服务器","启动后将终端http代理服务器配置为127.0.0.1:8001即可","命令行启动anyproxy时配置`","命令行启动anyproxy,默认端口号8001","命令行直接启动","在","在nodejs代码中启动","在wifi高级设置中,配置http代理即可","在构造anyproxy实例的时候,传入参数dangerouslyignoreunauthorized:true,","在请求处理过程中发生错误时,anyproxy会调用onerror方法,并提供对应的错误信息","基于node.js,开放二次开发能力,允许自定义请求处理逻辑","处理流程","处理流程图如下","多数场景下,错误会在请求目标服务器的时候发生,比如dns解析失败、请求超时等","如下几种方案都可以用来引用规则模块:","如下:","如何引用","如果beforesendrequest返回了响应内容,则立即把此响应返回到客户端(而不再发送到真正的服务端),流程结束。","如果配置了全局解析https的参数,则anyproxy会略过这个调用","如要启用https解析,请在代理服务器启动前自行调用anyproxy.utils.certmgr相关方法生成证书,并引导用户信任安装。或引导用户使用anyproxi","安全","安全性与位置信息","安卓系统信任ca证书","安装","安装ca:","对于debian或者ubuntu系统,在安装anyproxy之前,可能还需要安装","开发示例","引入","当http请求经过代理服务器时,具体处理过程是:","当代理服务器收到https请求时,anyproxy可以替换证书,对请求做明文解析。","当启用https代理时,wss也会被代理,但是不会被anyproxy记录。需要开启","当访问特定的https站点,anyproxy会提示该站点不是一个安全的网站,这通常是因为站点的证书设置不能被正确识别导致的(比如,站点的证书是自签发的)。如果您信任该网站,可以用以下方式来继续访问:","必选,代理服务器端口","快速开始","我们自然也可以借助自定义的rule来实现这个效果,而且我们还可以控制到只允许指定网址的证书错误,对不在列表的网址,进行证书的强验证。","所有http://httpbin.org","找到刚刚导入的anyproxy证书,配置为信任(alway","把","把响应信息返回给客户端","把所有发送到","把用http协议请求的","拦截https请求,对内容做修改","拦截发送到","拦截并修改服务端响应","拦截并修改正在发送的请求","提供gui界面,用以观察请求","提示","支持https的解析","收集请求所有请求参数,包括method,","改成https并发送","时,requestdetail参数内容大致如下","时,responsedetail参数内容大致如下","是否启用web版界面,默认fals","是否处理https请求","是否屏蔽所有console输出,默认fals","是否开启websocket代理,默认fals","是否强制拦截所有的https,忽略规则模块的返回,默认fals","是否忽略请求中的证书错误,默认fals","是必选字段","服务端的返回信息,包括statuscod","本文档的适用范围是anyproxi","本质是中间人攻击(man","来加载模块并体验","来忽略证书认证的错误。需要注意的是,该参数是全局生效的,如果你在此期间访问了其他未知的网站,他们的证书问题也会被忽略,这可能会带来安全隐患。","查看请求信息","校验系统内是否存在anyproxy的根证书","样例","根据请求参数,向服务端发出请求,接收服务端响应。","模块介绍","此处无法控制向客户端的返回信息,无需返回值。","注意:http","注意:引用规则前,请务必确保文件来源可靠,以免发生安全问题","测试规则","浏览器访问http://127.0.0.1:8002","点击web","然后,安装anyproxi","生成anyproxy的rootca,完成后请引导用户信任.crt文件","生成证书并解析所有https请求","用curl发请求测试的方法如下","用curl测试","用浏览器测试:配置浏览器http代理为","的https请求会被解析","的post数据","的user","的请求全部改到","的请求,使用本地数据代替服务端返回","的返回值里加上测试信息,并延迟5秒返回","的返回头里加上","的返回最后追加anyproxy的签名,并延迟5秒","的返回状态码都改成404","直接请求服务器:curl","直接返回客户端,不再发起请求,其中statuscod","相比3.x版本,anyproxi","确认将证书添加到login或system","示例","简介","简化了规则文件内的接口","管理anyproxy的证书","管理系统的全局代理配置,方法调用时可能会弹出密码框","类似这种报错都是因为系统没有信任anyproxy生成的ca所造成的","经过代理服务器后,期望的返回如下","自定义规则模块","被明文解析后的https请求,处理流程同http一致。未明文解析请求不会再进入规则模块做处理。","规则文件中,除了summary,都是由","规则文件内提供`beforedealhttpsrequest`方法,返回","规则文件(rule)全面支持promise和gener","规则模块应该符合cmd规范,一个典型的规则模块代码结构如下。模块中所有方法都是可选的,只需实现业务感兴趣的部分即可。","规则模块是用","规则模块的介绍文案,用于anyproxy提示用户,","规则模块的能力范围包括:","解析https请求的原理是中间人攻击(man","警告:ca证书和系统安全息息相关,建议亲自生成,并妥善保管","设置","设置属性","访问http://127.0.0.1:8002","证书下载到指定目录后,需要从其他入口进行安装,包括:","证书配置","请求bodi","请求url","请求使用的协议,http或者http","请求出错的事件","请求的原始request","请求目标的host,受制于协议,这里无法获取完整url","调用规则模块beforedealhttpsrequest方法,如果返回true,会明文解析这个请求,其他请求不处理","调用规则模块beforesendresponse方法,由模块对响应内容进行处理","运行","返回值","返回自定义错误页","这里提供一些样例,来讲解规则模块的常见用法","通过代理服务器请求:curl","通过启动参数","通过自定义的rule来修改","通过这种方式初始化的anyproxy,其配置也是全局性的,所有网站的证书问题都会被忽略","配置127.0.0.1:8001为全局http代理服务器","配置ios/android系统代理","配置osx系统代理","配置启动端口,如1080端口启动","配置浏览器http代理","附录:如何信任ca证书","限速值,单位kb/s,默认不限速","除了上述证书安装过程,还需要在","需要编写一个规则模块,在","首先和ios类似,需要先扫描证书的二维码进行下载。然后不同的安卓系统安装证书的方式可能有所不同,但是安装的步骤是类似的,我们列举了几种类型。","驱动的,函数需要满足yieldable。可以使用generator方法或是返回promise。","驱动的,函数需要满足yieldable。可以返回promise或使用generator函数。",",web界面上能看到所有的请求信息",",界面上能看到刚才的请求信息",":"],"pipeline":["stopWordFilter","stemmer"]},"store":{"./":{"url":"./","title":"Introduction","keywords":"","body":"AnyProxy\nAnyProxy is a fully configurable http/https proxy in NodeJS.\nRef: 中文文档\nGithub:\n\nhttps://github.com/alibaba/anyproxy\n\nFeatures:\n\nOffer you the ablity to handle http traffic by invoking a js module\nIntercept https\nGUI webinterface\n\nChange Logs since 3.x:\n\nSupport Promise and Generator in rule module\nSimplified interface in rule module\nA newly designed web interface\n\n\nGetting Start\ninstall\nTo Debian and Ubuntu users, you may need to install nodejs-legacy at the same time\nsudo apt-get install nodejs-legacy\n\nThen install the AnyProxy\nnpm install -g anyproxy\n\nlaunch\n\nstart AnyProxy in command line, with default port 8001\n\nanyproxy\n\n\nnow you can use http proxy server by 127.0.0.1:8001\nvisit http://127.0.0.1:8002 to see the http requests\n\noptions\n\nspecify the port of http proxy\n\nanyproxy --port 1080\n\nUse AnyProxy as an npm module\nAnyProxy can be used as an npm module\n\nTo enable https feature, please guide users to use anyproxy-ca in cli. Or use methods under AnyProxy.utils.certMgr to generate certificates.\n\n\ninstall\n\nnpm i anyproxy --save\n\n\nsample\n\nconst AnyProxy = require('anyproxy');\nconst options = {\n port: 8001,\n rule: require('myRuleModule'),\n webInterface: {\n enable: true,\n webPort: 8002\n },\n throttle: 10000,\n forceProxyHttps: false,\n wsIntercept: false,\n silent: false\n};\nconst proxyServer = new AnyProxy.ProxyServer(options);\n\nproxyServer.on('ready', () => { /* */ });\nproxyServer.on('error', (e) => { /* */ });\nproxyServer.start();\n\n//when finished\nproxyServer.close();\n\n\nClass: AnyProxy.proxyServer\n\ncreate a proxy server\nconst proxy = new AnyProxy.proxyServer(options)\n\n\noptions\n\nport {number} required, port number of proxy server\nrule {object} your rule module\nthrottle {number} throttle in kb/s, unlimited for default\nforceProxyHttps {boolean} in force intercept all https request, default to false\nsilent {boolean} if keep silent in console, false for default false\ndangerouslyIgnoreUnauthorized {boolean} if ignore certificate error in request, default to false\nwsIntercept {boolean} whether to intercept websocket, default to false\nwebInterface {object} config for web interface\nenable {boolean} if enable web interface, default to false\nwebPort {number} port number for web interface\n\n\n\n\nEvent: ready\n\nemit when proxy server is ready\nsample\n\nproxy.on('ready', function() { })\n\n\nEvent: error\n\nemit when error happened inside proxy server\nsample\n\nproxy.on('error', function() { })\n\n\nMethod: start\n\nstart proxy server\nsample\n\nproxy.start();\n\n\nMethod: close\n\nclose proxy server\nsample\n\nproxy.close();\n\n\n\n\nAnyProxy.utils.systemProxyMgr\n\nmanage the system proxy config. sudo password may be required\nsample\n\n// set 127.0.0.1:8001 as system http server\nAnyProxy.utils.systemProxyMgr.enableGlobalProxy('127.0.0.1', '8001');\n\n// disable global proxy server\nAnyProxy.utils.systemProxyMgr.disableGlobalProxy();\n\n\nAnyProxy.utils.certMgr\n\nManage certificates of AnyProxy\nAnyProxy.utils.certMgr.ifRootCAFileExists()\ndetect if AnyProx rootCA exists\n\n\nAnyProxy.utils.certMgr.generateRootCA(callback)\ngenerate a rootCA\n\n\nSample\n\n const AnyProxy = require('AnyProxy');\n const exec = require('child_process').exec;\n\n if (!AnyProxy.utils.certMgr.ifRootCAFileExists()) {\n AnyProxy.utils.certMgr.generateRootCA((error, keyPath) => {\n // let users to trust this CA before using proxy\n if (!error) {\n const certDir = require('path').dirname(keyPath);\n console.log('The cert is generated at', certDir);\n const isWin = /^win/.test(process.platform);\n if (isWin) {\n exec('start .', { cwd: certDir });\n } else {\n exec('open .', { cwd: certDir });\n }\n } else {\n console.error('error when generating rootCA', error);\n }\n });\n }\n\n\n\nProxy Https\n\nAnyProxy does NOT intercept https requests by default. To view decrypted info, you have to config the CA certificate.\n\n\nUnder the hood, AnyProxy decryptes https requests by man-in-the-middle attack. Users have to trust the CA cert in advance. Otherwise, client side will issue errors about unsecure network.\n\n\ngenerate certifycates and intercept\n\nanyproxy-ca #generate root CA. manually trust it after that.\nanyproxy --intercept #launch anyproxy and intercept all https traffic\n\n\nAppendix:how to trust CA\n\nProxy WebSocket\nanyproxy --ws-intercept\n\n\nThe wss requests will be handled automatically when the HTTPS intercept is turned on, but AnyProxy will not record the data by default. You need to specify the --ws-intercept to tell AnyProxy to record it.\n\nRule Introduction\nAnyProxy provides the ability to load your own rules written in javascript. With rule module, you could customize the logic to handle requests.\n\nMake sure your rule file is got from a trusted source. Otherwise, you may face some unknown security risk.\n\nRule module could do the following stuff:\n\nintercept and modify the request which is being sent\neditable fields include request header, body, target address\n\n\nintercept and modify the response from server\neditable fields include response status code, header, body\n\n\nintercept https requests, modify request and response\n\nsample\n\nTarget\n\nwrite a rule module to append some text to the response of GET http://httpbin.org/user-agent, and delay the response for 5 seconds\n\n\nStep 1,Write the rule file, save as sample.js\n// file: sample.js\nmodule.exports = {\n summary: 'a rule to hack response',\n *beforeSendResponse(requestDetail, responseDetail) {\n if (requestDetail.url === 'http://httpbin.org/user-agent') {\n const newResponse = responseDetail.response;\n newResponse.body += '- AnyProxy Hacked!';\n\n return new Promise((resolve, reject) => {\n setTimeout(() => { // delay\n resolve({ response: newResponse });\n }, 5000);\n });\n }\n },\n};\n\n\nStep 2, start AnyProxy and load the rule file\n\nrun anyproxy --rule sample.js\n\n\nStep 3, test\n\nuse curl\ncurl http://httpbin.org/user-agent --proxy http://127.0.0.1:8001\n\n\nuse browser. Point the http proxy of browser to 127.0.0.1:8001, then visit http://httpbin.org/user-agent\n\nthe expected response from proxy is\n\n\n{\n \"user-agent\": \"curl/7.43.0\"\n}\n- AnyProxy Hacked!\n\nStep 4, view the request log\n\nvisit http://127.0.0.1:8002, the request just sent should be listed here\n\n\n\nhow does it work\n\nThe flow chart is as follows\n\n\n\nWhen got an http request, the entire process of proxy server is\n\nAnyProxy collects all the quest info, include method, header, body\nAnyProxy calls beforeSendRequest of the rule module. Rule module deal the request, return new request param or response content\nIf beforeSendRequest returns the response content, AnyProxy will send the response to client without sending to target server. The process ends here.\nSend request to target server, collect response\nCall beforeSendResponse of the rule module. Rule module deal the response data\nSend response to client\n\n\nWhen AnyProxy get https request, it could replace the certificate and decrypt the request data\n\nAnyProxy calls beforeDealHttpsRequest of the rule module\nIf the function returns true, AnyProxy will do the man-in-the-middle attack to it. Otherwise, the request will not be dealed.\n\n\n\nhow to load rule module\n\nuse local file\nanyproxy --rule ./rule.js\n\n\nuse an online rule file\nanyproxy --rule https://sample.com/rule.js\n\n\nuse an npm module\n\nAnyProxy uses require() to load rule module. You could either load a local npm module or a global-installed one.\n\nanyproxy --rule ./myRulePkg/ #local module\nnpm i -g myRulePkg && anyproxy --rule myRulePkg #global-installed module\n\n\n\nRule module interface\nA typical rule module is as follows. All the functions are optional, just write the part you are interested in.\nmodule.exports = {\n // introduction\n summary: 'my customized rule for AnyProxy',\n // intercept before send request to server\n *beforeSendRequest(requestDetail) { /* ... */ },\n // deal response before send to client\n *beforeSendResponse(requestDetail, responseDetail) { /* ... */ },\n // if deal https request\n *beforeDealHttpsRequest(requestDetail) { /* ... */ },\n // error happened when dealing requests\n *onError(requestDetail, error) { /* ... */ },\n // error happened when connect to https server\n *onConnectError(requestDetail, error) { /* ... */ }\n};\n\n\nAll functions in your rule file, except summary, are all driven by co . They should be yieldable, i.e. return a promise or be a generator function.\n\nsummary\nsummary\n\nIntroduction of this rule file. AnyProxy will read this field and give some tip to user.\n\nbeforeSendRequest\nbeforeSendRequest(requestDetail)\n\nBefore sending request to server, AnyProxy will call beforeSendRequest with param requestDetail\nrequestDetail\nprotocol {string} the protocol to use, http or https\nrequestOptions {object} the options of the request-to-go, a param of require('http').request . ref: https://nodejs.org/api/http.html#http_http_request_options_callback\nrequestData {object} request body\nurl {string} request url\n_req {object} the native node.js request object\n\n\ne.g. When requesting anyproxy.io, requestDetail is something like the following\n{\n protocol: 'http',\n url: 'http://anyproxy.io/',\n requestOptions: {\n hostname: 'anyproxy.io',\n port: 80,\n path: '/',\n method: 'GET',\n headers: {\n Host: 'anyproxy.io',\n 'Proxy-Connection': 'keep-alive',\n 'User-Agent': '...'\n }\n },\n requestData: '...',\n _req: { /* ... */}\n}\n\n\nAny of these return values are valid\n\ndo nothing, and return null\n\nreturn null;\n\n\nmodify the request protocol,i.e. force use https\n\nreturn {\n protocol: 'https'\n};\n\n\nmodify request param\n\nvar newOption = Object.assign({}, requestDetail.requestOptions);\nnewOption.path = '/redirect/to/another/path';\nreturn {\n requestOptions: newOption\n};\n\n\nmodify request body\n\nreturn {\n requestData: 'my new request data'\n // requestOptions can also be used here\n};\n\n\ngive response to the client, not sending request any longer. statusCode headersare required is this situation.\n\nreturn {\n response: {\n statusCode: 200,\n header: { 'content-type': 'text/html' },\n body: 'this could be a or '\n }\n};\n\n\n\nbeforeSendResponse\nbeforeSendResponse(requestDetail, responseDetail)\n\nBefore sending response to client, AnyProxy will call beforeSendResponse with param requestDetail responseDetail\nrequestDetail is the same param as in beforeSendRequest\nresponseDetail\nresponse {object} the response from server, includes statusCode header body\n_res {object} the native node.js response object\n\n\ne.g. When requesting anyproxy.io, responseDetail is something like the following\n{\n response: {\n statusCode: 200,\n header: {\n 'Content-Type': 'image/gif',\n Connection: 'close',\n 'Cache-Control': '...'\n },\n body: '...'\n },\n _res: { /* ... */ }\n}\n\n\nAny of these return values are valid\n\ndo nothing, and return null\n\nreturn null;\n\n\nmodify the response status code\n\nvar newResponse = Object.assign({}, responseDetail.response);\nnewResponse.statusCode = 404;\nreturn {\n response: newResponse\n};\n\n\nmodify the response content\n\nvar newResponse = Object.assign({}, responseDetail.response);\nnewResponse.body += '--from anyproxy--';\nreturn {\n response: newResponse\n};\n\n\n\nbeforeDealHttpsRequest\nbeforeDealHttpsRequest(requestDetail)\n\nWhen receiving https request, AnyProxy will call beforeDealHttpsRequest with param requestDetail\nIf configed with forceProxyHttps in launching, AnyProxy will skip calling this method\nOnly by returning true, AnyProxy will try to replace the certificate and intercept the https request.\nrequestDetail\nhost {string} the target host to request. Due to the request protocol, full url couldn't be got here\n_req {object} the native node.js request object. The _req here refers to the CONNECT request.\n\n\nreturn value\ntrue or false, whether AnyProxy should intercept the https request\n\n\n\nonError\nonError(requestDetail, error)\n\nAnyProxy will call this method when an error happened in request handling.\nErrors usually are issued during requesting, e.g. DNS failure, request timeout\nrequestDetail is the same one as in beforeSendRequest\nAny of these return values are valid\n\ndo nothing, and AnyProxy will response a default error page\n\nreturn null;\n\n\nreturn a customized error page\n\nreturn {\n response: {\n statusCode: 200,\n header: { 'content-type': 'text/html' },\n body: 'this could be a or '\n }\n};\n\n\n\nonConnectError\nonConnectError(requestDetail, error)\n\nAnyProxy will call this method when failed to connect target server in https request\nrequestDetail is the same one as in beforeDealHttpsRequest\nno return value is required\n\nRule Samples\n\nhere are some samples about frequently used rule file\ntry these samples by anyproxy --rule http://....js\nhow to test with curl:\nrequest the server directly curl http://httpbin.org/\nrequest the server via proxy curl http://httpbin.org/ --proxy http://127.0.0.1:8001\n\n\n\nuse local response\n\nintercept the request towards http://httpbin.org , return the local-defined response\n\nanyproxy --rule rule_sample/sample_use_local_response.js\n\n/* \n sample: \n intercept all requests toward httpbin.org, use a local response\n test:\n curl http://httpbin.org/user-agent --proxy http://127.0.0.1:8001\n*/\nmodule.exports = {\n *beforeSendRequest(requestDetail) {\n const localResponse = {\n statusCode: 200,\n header: { 'Content-Type': 'application/json' },\n body: '{\"hello\": \"this is local response\"}'\n };\n if (requestDetail.url.indexOf('http://httpbin.org/') === 0) {\n return {\n response: localResponse\n };\n }\n },\n};\n\nmodify request header\n\nmodify the user-agent sent to httpbin.org\n\nanyproxy --rule rule_sample/sample_modify_request_header.js\n\n/* \n sample: \n modify the user-agent in requests toward httpbin.org\n test:\n curl http://httpbin.org/user-agent --proxy http://127.0.0.1:8001\n*/\nmodule.exports = {\n *beforeSendRequest(requestDetail) {\n if (requestDetail.url.indexOf('http://httpbin.org/') === 0) {\n const newRequestOptions = requestDetail.requestOptions;\n newRequestOptions.headers['User-Agent'] = 'AnyProxy/0.0.0';\n return {\n requestOptions: newRequestOptions\n };\n }\n },\n};\n\nmodify request body\n\nmodify the post body of http://httpbin.org/post\n\nanyproxy --rule rule_sample/sample_modify_request_data.js\n\n/*\n sample:\n modify the post data towards http://httpbin.org/post\n test:\n curl -H \"Content-Type: text/plain\" -X POST -d 'original post data' http://httpbin.org/post --proxy http://127.0.0.1:8001\n expected response:\n { \"data\": \"i-am-anyproxy-modified-post-data\" }\n*/\nmodule.exports = {\n summary: 'Rule to modify request data',\n *beforeSendRequest(requestDetail) {\n if (requestDetail.url.indexOf('http://httpbin.org/post') === 0) {\n return {\n requestData: 'i-am-anyproxy-modified-post-data'\n };\n }\n },\n};\n\nmodify the request target\n\nsend all the request towards http://httpbin.org/ to http://httpbin.org/user-agent\n\nanyproxy --rule rule_sample/sample_modify_request_path.js\n\n/*\n sample:\n redirect all https://httpbin.org/user-agent requests to http://localhost:8008/index.html\n test:\n curl https://httpbin.org/user-agent --proxy http://127.0.0.1:8001\n expected response:\n 'hello world' from 127.0.0.1:8001/index.html\n*/\nmodule.exports = {\n *beforeSendRequest(requestDetail) {\n if (requestDetail.url.indexOf('https://httpbin.org/user-agent') === 0) {\n const newRequestOptions = requestDetail.requestOptions;\n requestDetail.protocol = 'http';\n newRequestOptions.hostname = '127.0.0.1'\n newRequestOptions.port = '8008';\n newRequestOptions.path = '/index.html';\n newRequestOptions.method = 'GET';\n return requestDetail;\n }\n },\n *beforeDealHttpsRequest(requestDetail) {\n return true;\n }\n};\n\nmodify request protocol\n\nmodify the http request towards http://httpbin.org to https\n\nanyproxy --rule rule_sample/sample_modify_request_protocol.js\n\n/* \n sample: \n redirect all http requests of httpbin.org to https\n test:\n curl 'http://httpbin.org/get?show_env=1' --proxy http://127.0.0.1:8001\n expected response:\n { \"X-Forwarded-Protocol\": \"https\" }\n*/\nmodule.exports = {\n *beforeSendRequest(requestDetail) {\n if (requestDetail.url.indexOf('http://httpbin.org/') === 0) {\n const newOption = requestDetail.requestOptions;\n newOption.port = 443;\n return {\n protocol: 'https',\n requestOptions: newOption\n };\n }\n }\n};\n\nmodify response status code\n\nmodify all status code from http://httpbin.org to 404\n\nanyproxy --rule rule_sample/sample_modify_response_statuscode.js\n\n/* \n sample: \n modify all status code of http://httpbin.org/ to 404\n test:\n curl -I 'http://httpbin.org/user-agent' --proxy http://127.0.0.1:8001\n expected response:\n HTTP/1.1 404 Not Found\n*/\nmodule.exports = {\n *beforeSendResponse(requestDetail, responseDetail) {\n if (requestDetail.url.indexOf('http://httpbin.org/') === 0) {\n const newResponse = responseDetail.response;\n newResponse.statusCode = 404;\n return {\n response: newResponse\n };\n }\n }\n};\n\nmodify the response header\n\nadd X-Proxy-By:AnyProxy to the response header from http://httpbin.org/user-agent\n\nanyproxy --rule rule_sample/sample_modify_response_header.js\n\n/* \n sample: \n modify response header of http://httpbin.org/user-agent\n test:\n curl -I 'http://httpbin.org/user-agent' --proxy http://127.0.0.1:8001\n expected response:\n X-Proxy-By: AnyProxy\n*/\nmodule.exports = {\n *beforeSendResponse(requestDetail, responseDetail) {\n if (requestDetail.url.indexOf('http://httpbin.org/user-agent') === 0) {\n const newResponse = responseDetail.response;\n newResponse.header['X-Proxy-By'] = 'AnyProxy';\n return {\n response: newResponse\n };\n }\n }\n};\n\nmodify response data and delay\n\nappend some info to the response of http://httpbin.org/user-agent, then delay the response for 5 seconds.\n\nanyproxy --rule rule_sample/sample_modify_response_data.js\n\n/* \n sample: \n modify response data of http://httpbin.org/user-agent\n test:\n curl 'http://httpbin.org/user-agent' --proxy http://127.0.0.1:8001\n expected response:\n { \"user-agent\": \"curl/7.43.0\" } -- AnyProxy Hacked! --\n*/\n\nmodule.exports = {\n *beforeSendResponse(requestDetail, responseDetail) {\n if (requestDetail.url === 'http://httpbin.org/user-agent') {\n const newResponse = responseDetail.response;\n newResponse.body += '-- AnyProxy Hacked! --';\n return new Promise((resolve, reject) => {\n setTimeout(() => { // delay the response for 5s\n resolve({ response: newResponse });\n }, 5000);\n });\n }\n },\n};\n\nConfig Certification\nConfig root CA in OSX\n\nthis kind of errors is usually caused by untrusted root CA\n\n\n\nWarning: please keep your root CA safe since it may influence your system security.\n\ninstall :\n\ndouble click rootCA.crt\n\nadd cert into login or system\n\n\n\n\nfind the newly imported AnyProxy certificates, configured as Always Trust\n\n\nConfig root CA in windows\n\nConfig OSX system proxy\n\nthe config is in wifi - advanced\n\n\nconfig http proxy server\n\ntake Chrome extent [SwitchyOmega] as an example(https://chrome.google.com/webstore/detail/padekgcemlokbadohgkifijomclgjgif)为例\n\n\ntrust root CA in iOS\n\nClick Root CA in web ui, and follow the instruction to install\n\n\ntrust root CA in iOS after 10.3\n\nBesides installing root CA, you have to \"turn on\" the certificate for web manually in settings - general - about - Certificate Trust Settings. Otherwire, safari will not trust the root CA generated by AnyProxy.\n\ntrust root CA in Android\nFirst of all, you need to download the root CA by clicking Root CA in web ui, and then scan the QR code.\nInstalling CA in Android could be different based on the system, we list some common steps as below, but you can find the right way in you system with similar menu path.\n\nThe downloaded CA file can be directly installed by clicking, this is the easist way\nYou need to install the CA file from other menu, such as:\nSettings -> Security & Location > Encryption & credentials -> Install from storage, and find your CA file to install\nSettings -> Security -> Install from SD card, and find you CA file to install\n\n\n\n\nconfig iOS/Android proxy server\n\nproxy settings are placed in wifi setting\n\niOS\n\n\n\n\nAndroid\n\n\nFAQ\nQ: can not deal https request in rule module.\n\nA: Any of these options could be used to change the way AnyProxy deall https requests\nconfig --intercept when luanching AnyProxy via cli, or use forceProxyHttps when using as an npm module\nplace a beforeDealHttpsRequest function in your rule file and determine which request to intercept by your own.\n\n\n\nQ: get an error says function is not yieldable\n\nA: Rule module is driven by co. The functions inside should be yieldable, i.e. return a promise or be a generator function.\n\nQ: The connection is not private\nAnyProxy will propmt this message when the certification of the site you're visiting is not issued by a common known CA. This happens when the certification is self-signed. If you know and trust it, you can ignore the error as below.\n\nIf you run AnyProxy by command line\nPass in the option --ignore-unauthorized-ssl to ignore the certification errors, please mind that the option will be active for all connections.\nanyproxy -i --ignore-unauthorized-ssl\n\n\nIf you run AnyProxy by Nodejs\nPass in the option dangerouslyIgnoreUnauthorized:true, like this:\nconst options = {\n ...,\n dangerouslyIgnoreUnauthorized: true\n};\n\nconst anyproxyIns = new AnyProxy.ProxyCore(options);\nanyproxyIns.start();\n\nThis is also a global option, all certification errors will be ignored\n\nWith the help of AnyProxy Rule\nYou can change the request with rule of course. For this scenario, all you need is to pass in an option to Nodejs Http.rquest, as we do in AnyProxy. A simple demo below:\nmodule.exports = {\n *beforeSendRequest(requestDetail) {\n if (requestDetail.url.indexOf('https://the-site-you-know.com/') === 0) {\n const newRequestOptions = requestDetail.requestOptions;\n // set rejectUnauthorized as false\n newRequestOptions.rejectUnauthorized = false;\n return {\n requestOptions: newRequestOptions\n };\n }\n },\n};\n\nAnd we get a bonous here, AnyProxy will only ignore the errors for the site(s) we want it to!\n\n\n"}}} \ No newline at end of file +{"index":{"version":"0.5.12","fields":[{"name":"title","boost":10},{"name":"keywords","boost":15},{"name":"body","boost":1}],"ref":"url","documentStore":{"store":{"./":["\"content","\"curl/7.43.0\"","\"data\":","\"https\"","\"i","\"thi","\"turn","\"user","\"x","#gener","#global","#launch","#local","&","&&","'","'...'","'...',","'/',","'/index.html';","'/redirect/to/another/path';","'127.0.0.1'","'8001');","'8008';","';","'a","'anyproxy';","'anyproxy.io',","'anyproxy/0.0.0';","'application/json'","'cach","'close',","'content","'get',","'get';","'hello","'http',","'http';","'http://anyproxy.io/',","'http://httpbin.org/get?show_env=1'","'http://httpbin.org/us","'https'","'https',","'i","'image/gif',","'keep","'mi","'origin","'proxi","'rule","'text/html'","'thi","'user","'{\"hello\":","(!anyproxy.utils.certmgr.ifrootcafileexists())","(!error)","()","(e)","(iswin)","(requestdetail.url","(requestdetail.url.indexof('http://httpbin.org/')","(requestdetail.url.indexof('http://httpbin.org/post')","(requestdetail.url.indexof('http://httpbin.org/us","(requestdetail.url.indexof('https://httpbin.org/us","(requestdetail.url.indexof('https://th/","*/","*/}","*beforedealhttpsrequest(requestdetail)","*beforesendrequest(requestdetail)","*beforesendresponse(requestdetail,","*onconnecterror(requestdetail,","*onerror(requestdetail,","+=",",",".",".',","...","...,","./myrulepkg/","./rule.j",".cer",".crt","/*","//","//when","/^win/.test(process.platform);","0)","10.3","10000,","1080","127.0.0.1:8001","127.0.0.1:8001,","127.0.0.1:8001/index.html","1,write","2,","200,","3,","3.x:","4,","404","404;","443;","5","5000);","5s","80,","8001","8001,","8002","=","===","=>",">","[switchyomega]","_re","_req","_req:","_res:","a:","abil","abliti","activ","add","address","advanc","advance.","agent","agent\":","agent'","agent')","agent':","agent']","agent,","alive',","all,","alway","android","anyprox","anyproxi","anyproxy',","anyproxy,","anyproxy.","anyproxy.io,","anyproxy.proxycore(options);","anyproxy.proxyserv","anyproxy.proxyserver(options)","anyproxy.proxyserver(options);","anyproxy.utils.certmgr","anyproxy.utils.certmgr.generaterootca((error,","anyproxy.utils.certmgr.generaterootca(callback)","anyproxy.utils.certmgr.ifrootcafileexists()","anyproxy.utils.systemproxymgr","anyproxy.utils.systemproxymgr.disableglobalproxy();","anyproxy.utils.systemproxymgr.enableglobalproxy('127.0.0.1',","anyproxyin","anyproxyins.start();","append","appendix:how","apt","as:","at',","attack","attack.","automat","base","be","befor","beforedealhttpsrequest","beforedealhttpsrequest(requestdetail)","beforesendrequest","beforesendrequest(requestdetail)","beforesendrespons","beforesendresponse(requestdetail,","below,","below.","below:","besid","bodi","body,","body:","bonou","browser","browser.","by']","by:","by:anyproxi","ca","ca,","ca.","call","card,","caus","cert","certdir","certdir);","certif","certificate.","certificates,","certificates.","certifyc","chang","chart","choos","chrome","class:","cli,","cli.","click","clicking,","client","client,","close","co","co.","code","code,","code.","collect","command","common","compat","config","config.","configur","connect","connection':","connection:","connections.","console,","console.error('error","console.log('th","const","content","content,","control':","couldn't","course.","creat","credenti","curl","curl:","custom","cwd:","d","dangerouslyignoreunauthor","dangerouslyignoreunauthorized:","dangerouslyignoreunauthorized:true,","data","data\"","data'","data',","deal","dealed.","deall","debian","decrypt","default","default.","defin","delay","demo","design","detect","determin","differ","directli","disabl","dn","doubl","download","driven","due","dure","e.g.","easist","edit","emit","enabl","enable:","encrypt","end","entir","error","error)","error);","errors,","event:","example(https://chrome.google.com/webstore/detail/padekgcemlokbadohgkifijomclgjgif)为例","except","exec","exec('open","exec('start","exist","expect","extens","extent","face","fail","failure,","fals","false,","false;","faq","feature,","features:","few","field","file","file,","file.","file:","find","finish","first","flow","follow","follows.","forc","forceproxyhttp","forceproxyhttps:","forward","found","frequent","full","fulli","function","function()","function.","g","gener","get","github:","give","global","go,","gui","guid","h","hack","hacked!","hacked!';","handl","handling.","happen","header","header,","header:","headers:","headersar","help","here","here,","here.","hood,","host","host:","hostname:","http","http.rquest,","http/1.1","http/http","http://....j/","http://127.0.0.1:8001/","http://127.0.0.1:8002/","http://127.0.0.1:8002,","http://httpbin.org/","http://httpbin.org/","http://httpbin.org/post","http://httpbin.org/us","http://localhost:8008/index.html","httpbin.org","httpbin.org,","https://github.com/alibaba/anyproxi","https://httpbin.org/us","https://nodejs.org/api/http.html#http_http_request_options_callback","https://sample.com/rule.j","i.e.","ignor","import","in.","includ","influenc","info","info,","insid","instal","installing.","instruct","intercept","interest","interfac","interface,","introduct","invok","io","ios/android","issu","iswin","it,","it.","javascript.","js","kb/s,","keep","keypath)","kind","know","know.com')","known","launch","launching,","legaci","line","line,","list","load","local","localrespons","locat","log","logic","login","longer.","luanch","make","man","manag","manual","menu","menu,","messag","method","method,","method:","middl","mind","modifi","modul","module,","module.","module.export","myrulepkg","nativ","need","network.","new","newli","newopt","newoption.path","newoption.port","newrequestopt","newrequestoptions.headers['us","newrequestoptions.hostnam","newrequestoptions.method","newrequestoptions.path","newrequestoptions.port","newrequestoptions.rejectunauthor","newrespons","newresponse.bodi","newresponse.header['x","newresponse.statuscod","node.j","nodej","nodejs.","nothing,","now","npm","null","null;","number","object","object.","object.assign({},","offer","on","on\"","on,","onconnecterror","onconnecterror(requestdetail,","one.","onerror","onerror(requestdetail,","onlin","oppo","option","option,","optional,","osx","otherwire,","otherwise,","own.","page","param","part","pass","password","path.","path:","phones.","place","pleas","point","popular,","port","port:","post","privat","process","promis","promise((resolve,","propmt","protocol","protocol\":","protocol,","protocol:","protocol,i.e.","provid","proxi","proxy.close();","proxy.on('error',","proxy.on('ready',","proxy.start();","proxyserv","proxyserver.close();","proxyserver.on('error',","proxyserver.on('ready',","proxyserver.start();","q:","qr","quest","r15.","read","readi","receiv","record","redirect","ref:","refer","reject)","rejectunauthor","replac","request","request,","request.","requestdata","requestdata:","requestdetail","requestdetail.protocol","requestdetail.requestoptions);","requestdetail.requestoptions;","requestdetail;","requesting,","requestopt","requestoptions:","requests,","requests.","requir","require('anyproxy');","require('child_process').exec;","require('http').request","require('myrulemodule'),","require('path').dirname(keypath);","require()","required,","resolve({","respons","response\"}'","response',","response:","responsedetail","responsedetail)","responsedetail.response);","responsedetail.response;","return","right","risk.","root","rootca","rootca',","rootca.crt","rule","rule:","rule_sample/sample_modify_request_data.j","rule_sample/sample_modify_request_header.j","rule_sample/sample_modify_request_path.j","rule_sample/sample_modify_request_protocol.j","rule_sample/sample_modify_response_data.j","rule_sample/sample_modify_response_header.j","rule_sample/sample_modify_response_statuscode.j","rule_sample/sample_use_local_response.j","run","safari","safe","same","sampl","sample.j","sample:","save","scan","scenario,","sd","second","seconds.","secur","security.","see","self","send","sent","server","server,","server.","set","settimeout(()","settings.","sever","side","signed.","silent","silent:","similar","simpl","simplifi","site","site(s)","situation.","skip","someth","source.","specifi","ssl","start","statu","statuscod","statuscode:","step","storage,","stuff:","such","sudo","summari","summary,","summary:","support","sure","system","system,","take","target","tell","test","test:","text","text/plain\"","that.","this:","throttl","throttle:","time","timeout","tip","to!","toward","traffic","tri","true","true,","true;","trust","turn","type","type':","type:","typic","ubuntu","ui,","unauthor","under","unknown","unlimit","unsecur","untrust","url","url:","us","use,","user","user.","users,","usual","valid","valu","var","via","view","visit","want","warning:","way","web","webinterfac","webinterface:","webport","webport:","websocket","websocket,","whether","wifi","window","without","work","world'","write","written","ws","wsintercept","wsintercept:","wss","x","yieldabl","yieldable,","you'r","{","{boolean}","{number}","{object}","{string}","}","})","});","},","};","中文文档",":"]},"length":1},"tokenStore":{"root":{"0":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.003589053387169134}}}},"1":{"0":{"0":{"0":{"0":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"docs":{}},"docs":{}},"8":{"0":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"docs":{}},"docs":{},".":{"3":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"信":{"docs":{},"任":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"docs":{}}},"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"1":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}},",":{"docs":{},"访":{"docs":{},"问":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},",":{"docs":{},"编":{"docs":{},"写":{"docs":{},"规":{"docs":{},"则":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"2":{"0":{"0":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}}}},"docs":{}},"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},".":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"3":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},".":{"docs":{},"x":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"4":{"0":{"4":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},";":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}},"docs":{}},"4":{"3":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"docs":{}},"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},".":{"0":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"变":{"docs":{},"化":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},",":{"docs":{},"欢":{"docs":{},"迎":{"docs":{},"提":{"docs":{},"供":{"docs":{},"反":{"docs":{},"馈":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}},"docs":{}}},"5":{"0":{"0":{"0":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"docs":{}},"docs":{}},"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"s":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"8":{"0":{"0":{"1":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"2":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"docs":{}},"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"docs":{}},"docs":{},"\"":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"/":{"7":{"docs":{},".":{"4":{"3":{"docs":{},".":{"0":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"\"":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"i":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}},"x":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"#":{"docs":{},"全":{"docs":{},"局":{"docs":{},"包":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"启":{"docs":{},"动":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},",":{"docs":{},"并":{"docs":{},"解":{"docs":{},"析":{"docs":{},"所":{"docs":{},"有":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"地":{"docs":{},"包":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"生":{"docs":{},"成":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"后":{"docs":{},"需":{"docs":{},"要":{"docs":{},"手":{"docs":{},"动":{"docs":{},"信":{"docs":{},"任":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"&":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"&":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"'":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"8":{"0":{"0":{"1":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"8":{"docs":{},"'":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{"./":{"ref":"./","tf":0.0022431583669807087}},".":{"docs":{},".":{"docs":{},".":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"/":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"'":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"/":{"docs":{},"t":{"docs":{},"o":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"'":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}},"a":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"'":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}},"/":{"0":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},"'":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"?":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},"=":{"1":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"docs":{}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"i":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"f":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"m":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}}}}},"h":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"{":{"docs":{},"\"":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"\"":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}},"(":{"docs":{},"!":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},".":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"m":{"docs":{},"g":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},")":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"e":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"i":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},".":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"'":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"'":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}}}},"/":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"'":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"*":{"docs":{},"/":{"docs":{"./":{"ref":"./","tf":0.007178106774338268}},"}":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0031404217137729925}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"*":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},"+":{"docs":{},"=":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}},".":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}},".":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0031404217137729925}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"/":{"docs":{},"m":{"docs":{},"y":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"p":{"docs":{},"k":{"docs":{},"g":{"docs":{},"/":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"/":{"docs":{},"*":{"docs":{"./":{"ref":"./","tf":0.00762673844773441}}},"/":{"docs":{"./":{"ref":"./","tf":0.006280843427545985}},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"这":{"docs":{},"里":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"同":{"docs":{},"时":{"docs":{},"加":{"docs":{},"上":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}},"^":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},".":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},".":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{"./":{"ref":"./","tf":0.020188425302826378}},"=":{"docs":{},"=":{"docs":{"./":{"ref":"./","tf":0.004486316733961417}}}},">":{"docs":{"./":{"ref":"./","tf":0.0031404217137729925}}}},">":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}},"=":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"关":{"docs":{},"于":{"docs":{},"本":{"docs":{},"机":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"证":{"docs":{},"书":{"docs":{},"信":{"docs":{},"任":{"docs":{},"设":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},"通":{"docs":{},"用":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"q":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"a":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.005383580080753701}},"\"":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}},"'":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},")":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}}},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"]":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},",":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}}}}}}},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"i":{"docs":{"./":{"ref":"./","tf":0.03230148048452221}}},"y":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},".":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"i":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}},",":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"m":{"docs":{},"g":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"(":{"docs":{},"(":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"m":{"docs":{},"g":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"(":{"docs":{},"'":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"s":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"加":{"docs":{},"载":{"docs":{},"本":{"docs":{},"地":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"参":{"docs":{},"数":{"docs":{},"里":{"docs":{},"传":{"docs":{},"入":{"docs":{},"一":{"docs":{},"个":{"docs":{},"本":{"docs":{},"地":{"docs":{},"的":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"包":{"docs":{},"路":{"docs":{},"径":{"docs":{},",":{"docs":{},"或":{"docs":{},"是":{"docs":{},"某":{"docs":{},"个":{"docs":{},"全":{"docs":{},"局":{"docs":{},"安":{"docs":{},"装":{"docs":{},"的":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"包":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"作":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"模":{"docs":{},"块":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"整":{"docs":{},"合":{"docs":{},"进":{"docs":{},"其":{"docs":{},"他":{"docs":{},"工":{"docs":{},"具":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}},"向":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"送":{"docs":{},"请":{"docs":{},"求":{"docs":{},"前":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"并":{"docs":{},"带":{"docs":{},"上":{"docs":{},"参":{"docs":{},"数":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"发":{"docs":{},"送":{"docs":{},"请":{"docs":{},"求":{"docs":{},"前":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{},"并":{"docs":{},"带":{"docs":{},"上":{"docs":{},"参":{"docs":{},"数":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"与":{"docs":{},"目":{"docs":{},"标":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"发":{"docs":{},"生":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"二":{"docs":{},"次":{"docs":{},"开":{"docs":{},"发":{"docs":{},"的":{"docs":{},"能":{"docs":{},"力":{"docs":{},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"j":{"docs":{},"s":{"docs":{},"编":{"docs":{},"写":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"(":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{},"来":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"收":{"docs":{},"到":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{},"并":{"docs":{},"带":{"docs":{},"上":{"docs":{},"参":{"docs":{},"数":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"开":{"docs":{},"放":{"docs":{},"式":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"由":{"docs":{},"模":{"docs":{},"块":{"docs":{},"做":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"新":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"或":{"docs":{},"返":{"docs":{},"回":{"docs":{},"响":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"不":{"docs":{},"对":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"做":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"如":{"docs":{},"需":{"docs":{},"看":{"docs":{},"到":{"docs":{},"明":{"docs":{},"文":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"配":{"docs":{},"置":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"i":{"docs":{},"x":{"docs":{},":":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}},"t":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},")":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"提":{"docs":{},"前":{"docs":{},"信":{"docs":{},"任":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"b":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"d":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"e":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"b":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0026917900403768506}},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0026917900403768506}},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},"e":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"o":{"docs":{},"d":{"docs":{},"y":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}}},"三":{"docs":{},"个":{"docs":{},"字":{"docs":{},"段":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"等":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},")":{"docs":{},",":{"docs":{},"甚":{"docs":{},"至":{"docs":{},"是":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"目":{"docs":{},"标":{"docs":{},"地":{"docs":{},"址":{"docs":{},"等":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"i":{"docs":{"./":{"ref":"./","tf":0.0031404217137729925}}}},"n":{"docs":{},"o":{"docs":{},"u":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"y":{"docs":{},"'":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}},"c":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.01031852848811126}},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},",":{"docs":{},"按":{"docs":{},"提":{"docs":{},"示":{"docs":{},"扫":{"docs":{},"描":{"docs":{},"二":{"docs":{},"维":{"docs":{},"码":{"docs":{},"即":{"docs":{},"可":{"docs":{},"安":{"docs":{},"装":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},".":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}},"l":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.004037685060565276}}}},"r":{"docs":{},"d":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"i":{"docs":{},"f":{"docs":{"./":{"ref":"./","tf":0.005383580080753701}},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"s":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"y":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"i":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"c":{"docs":{},"k":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}},",":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}},"o":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"d":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}},")":{"docs":{},"、":{"docs":{},"响":{"docs":{},"应":{"docs":{},"头":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"s":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"'":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"(":{"docs":{},"'":{"docs":{},"t":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"t":{"docs":{"./":{"ref":"./","tf":0.008524001794526694}}}},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"'":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.00493494840735756}},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"u":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"o":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.005383580080753701}},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}}}}},"w":{"docs":{},"d":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"o":{"docs":{},"o":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}},"d":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"s":{"docs":{},"l":{"docs":{},"y":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.0026917900403768506}},"\"":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"'":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}}}}},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0026917900403768506}},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"l":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"b":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"c":{"docs":{},"r":{"docs":{},"y":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}}}}},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.003589053387169134}},".":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"m":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"o":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}}},"i":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"n":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}},"u":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"r":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"c":{"docs":{},"r":{"docs":{},"y":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"d":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"t":{"docs":{},"i":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.006729475100942127}},")":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"s":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"(":{"docs":{},"'":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0031404217137729925}}}}}},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"k":{"docs":{},"g":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"l":{"docs":{},"o":{"docs":{},"k":{"docs":{},"b":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"h":{"docs":{},"g":{"docs":{},"k":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"j":{"docs":{},"o":{"docs":{},"m":{"docs":{},"c":{"docs":{},"l":{"docs":{},"g":{"docs":{},"j":{"docs":{},"g":{"docs":{},"i":{"docs":{},"f":{"docs":{},")":{"docs":{},"为":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},".":{"docs":{},"g":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}}},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.003589053387169134}},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"q":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"c":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.006280843427545985}},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},",":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"d":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}}}},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}}},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}},"s":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0026917900403768506}},"(":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}},".":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}}},"l":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"i":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"w":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}},"g":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.004486316733961417}}}}},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"主":{"docs":{},"页":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"v":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}}}}},"o":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"u":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"d":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"h":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"e":{"docs":{},"d":{"docs":{},"!":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},"'":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}}}}}}},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}},")":{"docs":{},",":{"docs":{},"请":{"docs":{},"求":{"docs":{},"体":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}},":":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}}},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"a":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},")":{"docs":{},"、":{"docs":{},"响":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{},"等":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},"l":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"r":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"o":{"docs":{},"d":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.014804845222072678}},"/":{"1":{"docs":{},".":{"1":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"docs":{}}},"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},":":{"docs":{},"/":{"docs":{},"/":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"1":{"docs":{"./":{"ref":"./","tf":0.004486316733961417}}},"2":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},"/":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}}}},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.004486316733961417}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"8":{"0":{"0":{"8":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"j":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"#":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"连":{"docs":{},"接":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"出":{"docs":{},"错":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}},"代":{"docs":{},"理":{"docs":{},"配":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}}},"的":{"docs":{},"代":{"docs":{},"理":{"docs":{},"模":{"docs":{},"式":{"docs":{},"中":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"是":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"r":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0031404217137729925}}}}}},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.008075370121130552}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"i":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.008972633467922835}},"`":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"按":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"模":{"docs":{},"块":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"配":{"docs":{},"置":{"docs":{},"`":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"`":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"都":{"docs":{},"会":{"docs":{},"被":{"docs":{},"替":{"docs":{},"换":{"docs":{},"证":{"docs":{},"书":{"docs":{},"并":{"docs":{},"解":{"docs":{},"析":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"后":{"docs":{},"才":{"docs":{},"会":{"docs":{},"从":{"docs":{},"界":{"docs":{},"面":{"docs":{},"上":{"docs":{},"看":{"docs":{},"到":{"docs":{},"相":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":10.001345895020188}}}}}}}}},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"o":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},",":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"o":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},"s":{"docs":{},"系":{"docs":{},"统":{"docs":{},"信":{"docs":{},"任":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"s":{"docs":{},"u":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}}},".":{"docs":{},"e":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"t":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},".":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"e":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"'":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"n":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"b":{"docs":{},"/":{"docs":{},"s":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0026917900403768506}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}}}},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"a":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}}}},"g":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"i":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"n":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"u":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}},":":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"n":{"docs":{},"u":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"e":{"docs":{},")":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"必":{"docs":{},"须":{"docs":{},"信":{"docs":{},"任":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"才":{"docs":{},"能":{"docs":{},"进":{"docs":{},"行":{"docs":{},"后":{"docs":{},"续":{"docs":{},"流":{"docs":{},"程":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.012113055181695828}}}}},"u":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.008972633467922835}},"e":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00493494840735756}}}}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"y":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"p":{"docs":{},"k":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}}}},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"n":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"a":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.0031404217137729925}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"[":{"docs":{},"'":{"docs":{},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"r":{"docs":{},"e":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.005383580080753701}},"e":{"docs":{},".":{"docs":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"[":{"docs":{},"'":{"docs":{},"x":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"e":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0026917900403768506}}}},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}},"s":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}}}}}},"w":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"p":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.003589053387169134}}}},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},";":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}}},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"(":{"docs":{},"{":{"docs":{},"}":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}}}}}}}}}}}}}}}},"n":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"\"":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.004486316733961417}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"a":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}},"s":{"docs":{},"x":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"系":{"docs":{},"统":{"docs":{},"信":{"docs":{},"任":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"w":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"s":{"docs":{},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}}}}}}}}},"w":{"docs":{},"n":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"g":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.0031404217137729925}}}},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"s":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0026917900403768506}},":":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0026917900403768506}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"p":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},"e":{"docs":{},"(":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},"\"":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},":":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},",":{"docs":{},"i":{"docs":{},".":{"docs":{},"e":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.016150740242261104}}},"y":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"'":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"y":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"'":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"y":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}},"p":{"docs":{},"m":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}}}}},"q":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"r":{"1":{"5":{"docs":{},")":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"docs":{}},"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"i":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}},"f":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.02332884701659937}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},":":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}}}},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.004037685060565276}},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},";":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}}}}}}}}}}}}}}}}}},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}}}}}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.0026917900403768506}}},".":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"s":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"i":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},"e":{"docs":{},"(":{"docs":{},"'":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"y":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}},")":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"d":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"{":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.014804845222072678}},"e":{"docs":{},"\"":{"docs":{},"}":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},":":{"docs":{"./":{"ref":"./","tf":0.007178106774338268}}},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},")":{"docs":{"./":{"ref":"./","tf":0.0026917900403768506}}},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}},";":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.016150740242261104}}}}}},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.005832211754149843}},"c":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},".":{"docs":{},"c":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.021085688649618663}},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"_":{"docs":{},"s":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"/":{"docs":{},"s":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"口":{"docs":{},"文":{"docs":{},"档":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"样":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"模":{"docs":{},"块":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"n":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"s":{"docs":{},"k":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"s":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00493494840735756}},"e":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}},":":{"docs":{"./":{"ref":"./","tf":0.003589053387169134}}}}}},"e":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}}}},"v":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}},"f":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"e":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0031404217137729925}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"s":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"u":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"e":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"l":{"docs":{},"f":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.004486316733961417}}},"t":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.008075370121130552}},",":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"t":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"(":{"docs":{},"s":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"u":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}},"d":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"g":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"p":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"s":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}}}},"t":{"docs":{},"u":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}}}}}}}}}}},"e":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"u":{"docs":{},"f":{"docs":{},"f":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"u":{"docs":{},"d":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}},"y":{"docs":{},"(":{"docs":{},")":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},":":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"c":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"r":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}},"d":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"k":{"docs":{},"i":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.0031404217137729925}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},":":{"docs":{"./":{"ref":"./","tf":0.003589053387169134}}}}},"x":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"/":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"a":{"docs":{},"t":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"i":{"docs":{},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"o":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0026917900403768506}}}}}},"!":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},",":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"或":{"docs":{},"者":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"替":{"docs":{},"换":{"docs":{},"证":{"docs":{},"书":{"docs":{},"并":{"docs":{},"解":{"docs":{},"析":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.005383580080753701}},")":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}},"i":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"'":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}}}},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"i":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0031404217137729925}}}}}}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"p":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"u":{"docs":{},"i":{"docs":{},"中":{"docs":{},"的":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},",":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}},"n":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"k":{"docs":{},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"l":{"docs":{},"i":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"s":{"docs":{"./":{"ref":"./","tf":0.009421265141318977}},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"s":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"u":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}},"u":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}}}}},"i":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}},"e":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{"./":{"ref":"./","tf":0.0031404217137729925}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"版":{"docs":{},"界":{"docs":{},"面":{"docs":{},"端":{"docs":{},"口":{"docs":{},"号":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"8":{"0":{"0":{"2":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}},"配":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"重":{"docs":{},"构":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"s":{"docs":{},"系":{"docs":{},"统":{"docs":{},"信":{"docs":{},"任":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"o":{"docs":{},"r":{"docs":{},"l":{"docs":{},"d":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"k":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"s":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}},"s":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"r":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"y":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}},"h":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"x":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}},"y":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"'":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"{":{"docs":{"./":{"ref":"./","tf":0.03947958725886048}},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.003589053387169134}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}}}}}}}},"|":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"}":{"docs":{"./":{"ref":"./","tf":0.013458950201884253}},")":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},";":{"docs":{"./":{"ref":"./","tf":0.004037685060565276}}}},",":{"docs":{"./":{"ref":"./","tf":0.008972633467922835}}},";":{"docs":{"./":{"ref":"./","tf":0.01256168685509197}}}},"下":{"docs":{},"载":{"docs":{},"后":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"单":{"docs":{},"击":{"docs":{},"打":{"docs":{},"开":{"docs":{},"并":{"docs":{},"安":{"docs":{},"装":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"是":{"docs":{},"最":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"安":{"docs":{},"装":{"docs":{},"即":{"docs":{},"可":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"做":{"docs":{},"任":{"docs":{},"何":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{},"此":{"docs":{},"时":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"错":{"docs":{},"误":{"docs":{},"页":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}}}}}}}}}}},"同":{"docs":{},"安":{"docs":{},"卓":{"docs":{},"系":{"docs":{},"统":{"docs":{},"支":{"docs":{},"持":{"docs":{},"安":{"docs":{},"装":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"文":{"docs":{},"件":{"docs":{},"类":{"docs":{},"型":{"docs":{},"不":{"docs":{},"尽":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"大":{"docs":{},"多":{"docs":{},"支":{"docs":{},"持":{"docs":{},"安":{"docs":{},"装":{"docs":{},"拓":{"docs":{},"展":{"docs":{},"名":{"docs":{},"为":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"启":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"代":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}},"中":{"docs":{},"把":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"开":{"docs":{},"关":{"docs":{},"打":{"docs":{},"开":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"s":{"docs":{},"a":{"docs":{},"f":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"将":{"docs":{},"报":{"docs":{},"错":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"文":{"docs":{},"档":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"为":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"什":{"docs":{},"么":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"不":{"docs":{},"能":{"docs":{},"进":{"docs":{},"入":{"docs":{},"处":{"docs":{},"理":{"docs":{},"函":{"docs":{},"数":{"docs":{},"?":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"要":{"docs":{},"特":{"docs":{},"性":{"docs":{},"包":{"docs":{},"括":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"举":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},",":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},":":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"从":{"docs":{},"s":{"docs":{},"d":{"docs":{},"卡":{"docs":{},"安":{"docs":{},"装":{"docs":{},"证":{"docs":{},"书":{"docs":{},"。":{"docs":{},"找":{"docs":{},"到":{"docs":{},"你":{"docs":{},"下":{"docs":{},"载":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"安":{"docs":{},"装":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}},"存":{"docs":{},"储":{"docs":{},"设":{"docs":{},"备":{"docs":{},"安":{"docs":{},"装":{"docs":{},"。":{"docs":{},"找":{"docs":{},"到":{"docs":{},"你":{"docs":{},"下":{"docs":{},"载":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"安":{"docs":{},"装":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"理":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"发":{"docs":{},"生":{"docs":{},"错":{"docs":{},"误":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"启":{"docs":{},"动":{"docs":{},"完":{"docs":{},"成":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"都":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"设":{"docs":{},"置":{"docs":{},"中":{"docs":{},"配":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}},"以":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"的":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"y":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"插":{"docs":{},"件":{"docs":{},"为":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"任":{"docs":{},"意":{"docs":{},"一":{"docs":{},"项":{"docs":{},"都":{"docs":{},"能":{"docs":{},"用":{"docs":{},"来":{"docs":{},"改":{"docs":{},"变":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"特":{"docs":{},"性":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}},"几":{"docs":{},"种":{"docs":{},"返":{"docs":{},"回":{"docs":{},"都":{"docs":{},"是":{"docs":{},"合":{"docs":{},"法":{"docs":{},"的":{"docs":{"./":{"ref":"./","tf":0.002210759027266028}}}}}}}}}}}}},"作":{"docs":{},"为":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"模":{"docs":{},"块":{"docs":{},"使":{"docs":{},"用":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"全":{"docs":{},"局":{"docs":{},"模":{"docs":{},"块":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"使":{"docs":{},"用":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"包":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"举":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"在":{"docs":{},"线":{"docs":{},"地":{"docs":{},"址":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"本":{"docs":{},"地":{"docs":{},"数":{"docs":{},"据":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"路":{"docs":{},"径":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"修":{"docs":{},"改":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}},"请":{"docs":{},"求":{"docs":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"协":{"docs":{},"议":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},",":{"docs":{},"如":{"docs":{},"强":{"docs":{},"制":{"docs":{},"改":{"docs":{},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"发":{"docs":{},"起":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}},"参":{"docs":{},"数":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"头":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"数":{"docs":{},"据":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"的":{"docs":{},"目":{"docs":{},"标":{"docs":{},"地":{"docs":{},"址":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"内":{"docs":{},"容":{"docs":{},"并":{"docs":{},"延":{"docs":{},"迟":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"头":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"状":{"docs":{},"态":{"docs":{},"码":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"状":{"docs":{},"态":{"docs":{},"码":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}},"关":{"docs":{},"闭":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"全":{"docs":{},"局":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}},"其":{"docs":{},"他":{"docs":{},"命":{"docs":{},"令":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"创":{"docs":{},"建":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"加":{"docs":{},"密":{"docs":{},"与":{"docs":{},"凭":{"docs":{},"据":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"即":{"docs":{},"将":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"供":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"'":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"作":{"docs":{},"为":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{},"详":{"docs":{},"见":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"j":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"#":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"原":{"docs":{},"始":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"返":{"docs":{},"回":{"docs":{},"对":{"docs":{},"象":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}},"双":{"docs":{},"击":{"docs":{},"打":{"docs":{},"开":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},".":{"docs":{},"c":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}},"发":{"docs":{},"送":{"docs":{},"响":{"docs":{},"应":{"docs":{},"前":{"docs":{},"处":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"请":{"docs":{},"求":{"docs":{},"前":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"处":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}},"只":{"docs":{},"有":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"时":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"才":{"docs":{},"会":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"替":{"docs":{},"换":{"docs":{},"证":{"docs":{},"书":{"docs":{},"、":{"docs":{},"解":{"docs":{},"析":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"。":{"docs":{},"否":{"docs":{},"则":{"docs":{},"只":{"docs":{},"做":{"docs":{},"数":{"docs":{},"据":{"docs":{},"流":{"docs":{},"转":{"docs":{},"发":{"docs":{},",":{"docs":{},"无":{"docs":{},"法":{"docs":{},"看":{"docs":{},"到":{"docs":{},"明":{"docs":{},"文":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"普":{"docs":{},"通":{"docs":{},"的":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}},"修":{"docs":{},"改":{"docs":{},"内":{"docs":{},"容":{"docs":{},"包":{"docs":{},"括":{"docs":{},"请":{"docs":{},"求":{"docs":{},"头":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"包":{"docs":{},"括":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"状":{"docs":{},"态":{"docs":{},"码":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}},"同":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},",":{"docs":{},"加":{"docs":{},"载":{"docs":{},"规":{"docs":{},"则":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"后":{"docs":{},"将":{"docs":{},"终":{"docs":{},"端":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"配":{"docs":{},"置":{"docs":{},"为":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"1":{"docs":{},"即":{"docs":{},"可":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"启":{"docs":{},"动":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"时":{"docs":{},"配":{"docs":{},"置":{"docs":{},"`":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"端":{"docs":{},"口":{"docs":{},"号":{"8":{"0":{"0":{"1":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"启":{"docs":{},"动":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"在":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"j":{"docs":{},"s":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"启":{"docs":{},"动":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"高":{"docs":{},"级":{"docs":{},"设":{"docs":{},"置":{"docs":{},"中":{"docs":{},",":{"docs":{},"配":{"docs":{},"置":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"代":{"docs":{},"理":{"docs":{},"即":{"docs":{},"可":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}},"构":{"docs":{},"造":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"传":{"docs":{},"入":{"docs":{},"参":{"docs":{},"数":{"docs":{},"d":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"s":{"docs":{},"l":{"docs":{},"y":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"请":{"docs":{},"求":{"docs":{},"处":{"docs":{},"理":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"发":{"docs":{},"生":{"docs":{},"错":{"docs":{},"误":{"docs":{},"时":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"并":{"docs":{},"提":{"docs":{},"供":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"错":{"docs":{},"误":{"docs":{},"信":{"docs":{},"息":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"基":{"docs":{},"于":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},",":{"docs":{},"开":{"docs":{},"放":{"docs":{},"二":{"docs":{},"次":{"docs":{},"开":{"docs":{},"发":{"docs":{},"能":{"docs":{},"力":{"docs":{},",":{"docs":{},"允":{"docs":{},"许":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"请":{"docs":{},"求":{"docs":{},"处":{"docs":{},"理":{"docs":{},"逻":{"docs":{},"辑":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"流":{"docs":{},"程":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"图":{"docs":{},"如":{"docs":{},"下":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"多":{"docs":{},"数":{"docs":{},"场":{"docs":{},"景":{"docs":{},"下":{"docs":{},",":{"docs":{},"错":{"docs":{},"误":{"docs":{},"会":{"docs":{},"在":{"docs":{},"请":{"docs":{},"求":{"docs":{},"目":{"docs":{},"标":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"发":{"docs":{},"生":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"解":{"docs":{},"析":{"docs":{},"失":{"docs":{},"败":{"docs":{},"、":{"docs":{},"请":{"docs":{},"求":{"docs":{},"超":{"docs":{},"时":{"docs":{},"等":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"下":{"docs":{},"几":{"docs":{},"种":{"docs":{},"方":{"docs":{},"案":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"来":{"docs":{},"引":{"docs":{},"用":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"何":{"docs":{},"引":{"docs":{},"用":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"果":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"返":{"docs":{},"回":{"docs":{},"了":{"docs":{},"响":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"则":{"docs":{},"立":{"docs":{},"即":{"docs":{},"把":{"docs":{},"此":{"docs":{},"响":{"docs":{},"应":{"docs":{},"返":{"docs":{},"回":{"docs":{},"到":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"(":{"docs":{},"而":{"docs":{},"不":{"docs":{},"再":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},")":{"docs":{},",":{"docs":{},"流":{"docs":{},"程":{"docs":{},"结":{"docs":{},"束":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{},"了":{"docs":{},"全":{"docs":{},"局":{"docs":{},"解":{"docs":{},"析":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"则":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"会":{"docs":{},"略":{"docs":{},"过":{"docs":{},"这":{"docs":{},"个":{"docs":{},"调":{"docs":{},"用":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"启":{"docs":{},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"解":{"docs":{},"析":{"docs":{},",":{"docs":{},"请":{"docs":{},"在":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"启":{"docs":{},"动":{"docs":{},"前":{"docs":{},"自":{"docs":{},"行":{"docs":{},"调":{"docs":{},"用":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},".":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"m":{"docs":{},"g":{"docs":{},"r":{"docs":{},"相":{"docs":{},"关":{"docs":{},"方":{"docs":{},"法":{"docs":{},"生":{"docs":{},"成":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"并":{"docs":{},"引":{"docs":{},"导":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"任":{"docs":{},"安":{"docs":{},"装":{"docs":{},"。":{"docs":{},"或":{"docs":{},"引":{"docs":{},"导":{"docs":{},"用":{"docs":{},"户":{"docs":{},"使":{"docs":{},"用":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"安":{"docs":{},"全":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"性":{"docs":{},"与":{"docs":{},"位":{"docs":{},"置":{"docs":{},"信":{"docs":{},"息":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"卓":{"docs":{},"系":{"docs":{},"统":{"docs":{},"信":{"docs":{},"任":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}},"装":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"c":{"docs":{},"a":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"对":{"docs":{},"于":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"或":{"docs":{},"者":{"docs":{},"u":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"u":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"在":{"docs":{},"安":{"docs":{},"装":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"安":{"docs":{},"装":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{},"示":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"引":{"docs":{},"入":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"当":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"请":{"docs":{},"求":{"docs":{},"经":{"docs":{},"过":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"时":{"docs":{},",":{"docs":{},"具":{"docs":{},"体":{"docs":{},"处":{"docs":{},"理":{"docs":{},"过":{"docs":{},"程":{"docs":{},"是":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"收":{"docs":{},"到":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"时":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"可":{"docs":{},"以":{"docs":{},"替":{"docs":{},"换":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"对":{"docs":{},"请":{"docs":{},"求":{"docs":{},"做":{"docs":{},"明":{"docs":{},"文":{"docs":{},"解":{"docs":{},"析":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"代":{"docs":{},"理":{"docs":{},"时":{"docs":{},",":{"docs":{},"w":{"docs":{},"s":{"docs":{},"s":{"docs":{},"也":{"docs":{},"会":{"docs":{},"被":{"docs":{},"代":{"docs":{},"理":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"记":{"docs":{},"录":{"docs":{},"。":{"docs":{},"需":{"docs":{},"要":{"docs":{},"开":{"docs":{},"启":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"访":{"docs":{},"问":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"站":{"docs":{},"点":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"会":{"docs":{},"提":{"docs":{},"示":{"docs":{},"该":{"docs":{},"站":{"docs":{},"点":{"docs":{},"不":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"安":{"docs":{},"全":{"docs":{},"的":{"docs":{},"网":{"docs":{},"站":{"docs":{},",":{"docs":{},"这":{"docs":{},"通":{"docs":{},"常":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"站":{"docs":{},"点":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"设":{"docs":{},"置":{"docs":{},"不":{"docs":{},"能":{"docs":{},"被":{"docs":{},"正":{"docs":{},"确":{"docs":{},"识":{"docs":{},"别":{"docs":{},"导":{"docs":{},"致":{"docs":{},"的":{"docs":{},"(":{"docs":{},"比":{"docs":{},"如":{"docs":{},",":{"docs":{},"站":{"docs":{},"点":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"是":{"docs":{},"自":{"docs":{},"签":{"docs":{},"发":{"docs":{},"的":{"docs":{},")":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"信":{"docs":{},"任":{"docs":{},"该":{"docs":{},"网":{"docs":{},"站":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"以":{"docs":{},"下":{"docs":{},"方":{"docs":{},"式":{"docs":{},"来":{"docs":{},"继":{"docs":{},"续":{"docs":{},"访":{"docs":{},"问":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"必":{"docs":{},"选":{"docs":{},",":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"端":{"docs":{},"口":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}},"快":{"docs":{},"速":{"docs":{},"开":{"docs":{},"始":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"我":{"docs":{},"们":{"docs":{},"自":{"docs":{},"然":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"借":{"docs":{},"助":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"个":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"我":{"docs":{},"们":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"控":{"docs":{},"制":{"docs":{},"到":{"docs":{},"只":{"docs":{},"允":{"docs":{},"许":{"docs":{},"指":{"docs":{},"定":{"docs":{},"网":{"docs":{},"址":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{},"对":{"docs":{},"不":{"docs":{},"在":{"docs":{},"列":{"docs":{},"表":{"docs":{},"的":{"docs":{},"网":{"docs":{},"址":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"强":{"docs":{},"验":{"docs":{},"证":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"有":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}},"找":{"docs":{},"到":{"docs":{},"刚":{"docs":{},"刚":{"docs":{},"导":{"docs":{},"入":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"配":{"docs":{},"置":{"docs":{},"为":{"docs":{},"信":{"docs":{},"任":{"docs":{},"(":{"docs":{},"a":{"docs":{},"l":{"docs":{},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"把":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"响":{"docs":{},"应":{"docs":{},"信":{"docs":{},"息":{"docs":{},"返":{"docs":{},"回":{"docs":{},"给":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}},"所":{"docs":{},"有":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},"拦":{"docs":{},"截":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"对":{"docs":{},"内":{"docs":{},"容":{"docs":{},"做":{"docs":{},"修":{"docs":{},"改":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"并":{"docs":{},"修":{"docs":{},"改":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"响":{"docs":{},"应":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"正":{"docs":{},"在":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"g":{"docs":{},"u":{"docs":{},"i":{"docs":{},"界":{"docs":{},"面":{"docs":{},",":{"docs":{},"用":{"docs":{},"以":{"docs":{},"观":{"docs":{},"察":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}},"了":{"docs":{},"多":{"docs":{},"种":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"可":{"docs":{},"在":{"docs":{},"下":{"docs":{},"载":{"docs":{},"安":{"docs":{},"装":{"docs":{},"时":{"docs":{},"选":{"docs":{},"择":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}},"示":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"支":{"docs":{},"持":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"的":{"docs":{},"解":{"docs":{},"析":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}},"收":{"docs":{},"集":{"docs":{},"请":{"docs":{},"求":{"docs":{},"所":{"docs":{},"有":{"docs":{},"请":{"docs":{},"求":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}},"改":{"docs":{},"成":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"并":{"docs":{},"发":{"docs":{},"送":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}},"文":{"docs":{},"件":{"docs":{},"(":{"docs":{},"已":{"docs":{},"知":{"docs":{},"如":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},"时":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"参":{"docs":{},"数":{"docs":{},"内":{"docs":{},"容":{"docs":{},"大":{"docs":{},"致":{"docs":{},"如":{"docs":{},"下":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"参":{"docs":{},"数":{"docs":{},"内":{"docs":{},"容":{"docs":{},"大":{"docs":{},"致":{"docs":{},"如":{"docs":{},"下":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"否":{"docs":{},"启":{"docs":{},"用":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"版":{"docs":{},"界":{"docs":{},"面":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}},"屏":{"docs":{},"蔽":{"docs":{},"所":{"docs":{},"有":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"输":{"docs":{},"出":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"启":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"代":{"docs":{},"理":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}},"强":{"docs":{},"制":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},",":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"忽":{"docs":{},"略":{"docs":{},"请":{"docs":{},"求":{"docs":{},"中":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}},"必":{"docs":{},"选":{"docs":{},"字":{"docs":{},"段":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"文":{"docs":{},"档":{"docs":{},"的":{"docs":{},"适":{"docs":{},"用":{"docs":{},"范":{"docs":{},"围":{"docs":{},"是":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}},"质":{"docs":{},"是":{"docs":{},"中":{"docs":{},"间":{"docs":{},"人":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}},"来":{"docs":{},"加":{"docs":{},"载":{"docs":{},"模":{"docs":{},"块":{"docs":{},"并":{"docs":{},"体":{"docs":{},"验":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"忽":{"docs":{},"略":{"docs":{},"证":{"docs":{},"书":{"docs":{},"认":{"docs":{},"证":{"docs":{},"的":{"docs":{},"错":{"docs":{},"误":{"docs":{},"。":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"该":{"docs":{},"参":{"docs":{},"数":{"docs":{},"是":{"docs":{},"全":{"docs":{},"局":{"docs":{},"生":{"docs":{},"效":{"docs":{},"的":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"在":{"docs":{},"此":{"docs":{},"期":{"docs":{},"间":{"docs":{},"访":{"docs":{},"问":{"docs":{},"了":{"docs":{},"其":{"docs":{},"他":{"docs":{},"未":{"docs":{},"知":{"docs":{},"的":{"docs":{},"网":{"docs":{},"站":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"问":{"docs":{},"题":{"docs":{},"也":{"docs":{},"会":{"docs":{},"被":{"docs":{},"忽":{"docs":{},"略":{"docs":{},",":{"docs":{},"这":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"带":{"docs":{},"来":{"docs":{},"安":{"docs":{},"全":{"docs":{},"隐":{"docs":{},"患":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"查":{"docs":{},"看":{"docs":{},"请":{"docs":{},"求":{"docs":{},"信":{"docs":{},"息":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},"校":{"docs":{},"验":{"docs":{},"系":{"docs":{},"统":{"docs":{},"内":{"docs":{},"是":{"docs":{},"否":{"docs":{},"存":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"的":{"docs":{},"根":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}},"样":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"根":{"docs":{},"据":{"docs":{},"请":{"docs":{},"求":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"向":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"发":{"docs":{},"出":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"接":{"docs":{},"收":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"响":{"docs":{},"应":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}},"模":{"docs":{},"块":{"docs":{},"介":{"docs":{},"绍":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"此":{"docs":{},"处":{"docs":{},"无":{"docs":{},"法":{"docs":{},"控":{"docs":{},"制":{"docs":{},"向":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"无":{"docs":{},"需":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}},"注":{"docs":{},"意":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"引":{"docs":{},"用":{"docs":{},"规":{"docs":{},"则":{"docs":{},"前":{"docs":{},",":{"docs":{},"请":{"docs":{},"务":{"docs":{},"必":{"docs":{},"确":{"docs":{},"保":{"docs":{},"文":{"docs":{},"件":{"docs":{},"来":{"docs":{},"源":{"docs":{},"可":{"docs":{},"靠":{"docs":{},",":{"docs":{},"以":{"docs":{},"免":{"docs":{},"发":{"docs":{},"生":{"docs":{},"安":{"docs":{},"全":{"docs":{},"问":{"docs":{},"题":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"测":{"docs":{},"试":{"docs":{},"规":{"docs":{},"则":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"访":{"docs":{},"问":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"2":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"然":{"docs":{},"后":{"docs":{},",":{"docs":{},"安":{"docs":{},"装":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}},"生":{"docs":{},"成":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"的":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},",":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},"请":{"docs":{},"引":{"docs":{},"导":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"任":{"docs":{},".":{"docs":{},"c":{"docs":{},"r":{"docs":{},"t":{"docs":{},"文":{"docs":{},"件":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"证":{"docs":{},"书":{"docs":{},"并":{"docs":{},"解":{"docs":{},"析":{"docs":{},"所":{"docs":{},"有":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}},"用":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"发":{"docs":{},"请":{"docs":{},"求":{"docs":{},"测":{"docs":{},"试":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"如":{"docs":{},"下":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}},"测":{"docs":{},"试":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"测":{"docs":{},"试":{"docs":{},":":{"docs":{},"配":{"docs":{},"置":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"代":{"docs":{},"理":{"docs":{},"为":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"会":{"docs":{},"被":{"docs":{},"解":{"docs":{},"析":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"数":{"docs":{},"据":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"证":{"docs":{},"书":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"少":{"docs":{},"部":{"docs":{},"分":{"docs":{},"仅":{"docs":{},"支":{"docs":{},"持":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},"请":{"docs":{},"求":{"docs":{},"全":{"docs":{},"部":{"docs":{},"改":{"docs":{},"到":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"本":{"docs":{},"地":{"docs":{},"数":{"docs":{},"据":{"docs":{},"代":{"docs":{},"替":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"返":{"docs":{},"回":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"里":{"docs":{},"加":{"docs":{},"上":{"docs":{},"测":{"docs":{},"试":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"并":{"docs":{},"延":{"docs":{},"迟":{"5":{"docs":{},"秒":{"docs":{},"返":{"docs":{},"回":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"docs":{}}}}}}}}}}}}},"头":{"docs":{},"里":{"docs":{},"加":{"docs":{},"上":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"最":{"docs":{},"后":{"docs":{},"追":{"docs":{},"加":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"的":{"docs":{},"签":{"docs":{},"名":{"docs":{},",":{"docs":{},"并":{"docs":{},"延":{"docs":{},"迟":{"5":{"docs":{},"秒":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"docs":{}}}}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},"码":{"docs":{},"都":{"docs":{},"改":{"docs":{},"成":{"4":{"0":{"4":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"请":{"docs":{},"求":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},":":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},",":{"docs":{},"不":{"docs":{},"再":{"docs":{},"发":{"docs":{},"起":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}},"相":{"docs":{},"比":{"3":{"docs":{},".":{"docs":{},"x":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}},"docs":{}}},"确":{"docs":{},"认":{"docs":{},"将":{"docs":{},"证":{"docs":{},"书":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"或":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0029476787030213707}}}},"简":{"docs":{},"介":{"docs":{"./":{"ref":"./","tf":10}}},"化":{"docs":{},"了":{"docs":{},"规":{"docs":{},"则":{"docs":{},"文":{"docs":{},"件":{"docs":{},"内":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"全":{"docs":{},"局":{"docs":{},"代":{"docs":{},"理":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"密":{"docs":{},"码":{"docs":{},"框":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"似":{"docs":{},"这":{"docs":{},"种":{"docs":{},"报":{"docs":{},"错":{"docs":{},"都":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"系":{"docs":{},"统":{"docs":{},"没":{"docs":{},"有":{"docs":{},"信":{"docs":{},"任":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"所":{"docs":{},"造":{"docs":{},"成":{"docs":{},"的":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"经":{"docs":{},"过":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"后":{"docs":{},",":{"docs":{},"期":{"docs":{},"望":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"如":{"docs":{},"下":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"被":{"docs":{},"明":{"docs":{},"文":{"docs":{},"解":{"docs":{},"析":{"docs":{},"后":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"处":{"docs":{},"理":{"docs":{},"流":{"docs":{},"程":{"docs":{},"同":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"一":{"docs":{},"致":{"docs":{},"。":{"docs":{},"未":{"docs":{},"明":{"docs":{},"文":{"docs":{},"解":{"docs":{},"析":{"docs":{},"请":{"docs":{},"求":{"docs":{},"不":{"docs":{},"会":{"docs":{},"再":{"docs":{},"进":{"docs":{},"入":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"做":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"规":{"docs":{},"则":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},",":{"docs":{},"除":{"docs":{},"了":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},",":{"docs":{},"都":{"docs":{},"是":{"docs":{},"由":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}},"内":{"docs":{},"提":{"docs":{},"供":{"docs":{},"`":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"`":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},"全":{"docs":{},"面":{"docs":{},"支":{"docs":{},"持":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"和":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}},"模":{"docs":{},"块":{"docs":{},"应":{"docs":{},"该":{"docs":{},"符":{"docs":{},"合":{"docs":{},"c":{"docs":{},"m":{"docs":{},"d":{"docs":{},"规":{"docs":{},"范":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"典":{"docs":{},"型":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"代":{"docs":{},"码":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"下":{"docs":{},"。":{"docs":{},"模":{"docs":{},"块":{"docs":{},"中":{"docs":{},"所":{"docs":{},"有":{"docs":{},"方":{"docs":{},"法":{"docs":{},"都":{"docs":{},"是":{"docs":{},"可":{"docs":{},"选":{"docs":{},"的":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"实":{"docs":{},"现":{"docs":{},"业":{"docs":{},"务":{"docs":{},"感":{"docs":{},"兴":{"docs":{},"趣":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"用":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"的":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"文":{"docs":{},"案":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"提":{"docs":{},"示":{"docs":{},"用":{"docs":{},"户":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"力":{"docs":{},"范":{"docs":{},"围":{"docs":{},"包":{"docs":{},"括":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}},"解":{"docs":{},"析":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"是":{"docs":{},"中":{"docs":{},"间":{"docs":{},"人":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}},"警":{"docs":{},"告":{"docs":{},":":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{},"和":{"docs":{},"系":{"docs":{},"统":{"docs":{},"安":{"docs":{},"全":{"docs":{},"息":{"docs":{},"息":{"docs":{},"相":{"docs":{},"关":{"docs":{},",":{"docs":{},"建":{"docs":{},"议":{"docs":{},"亲":{"docs":{},"自":{"docs":{},"生":{"docs":{},"成":{"docs":{},",":{"docs":{},"并":{"docs":{},"妥":{"docs":{},"善":{"docs":{},"保":{"docs":{},"管":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.002210759027266028}},"属":{"docs":{},"性":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"访":{"docs":{},"问":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"2":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"证":{"docs":{},"书":{"docs":{},"下":{"docs":{},"载":{"docs":{},"到":{"docs":{},"指":{"docs":{},"定":{"docs":{},"目":{"docs":{},"录":{"docs":{},"后":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"从":{"docs":{},"其":{"docs":{},"他":{"docs":{},"入":{"docs":{},"口":{"docs":{},"进":{"docs":{},"行":{"docs":{},"安":{"docs":{},"装":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"请":{"docs":{},"求":{"docs":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"或":{"docs":{},"者":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}},"出":{"docs":{},"错":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"的":{"docs":{},"原":{"docs":{},"始":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}}}}}}}}},"目":{"docs":{},"标":{"docs":{},"的":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{},"受":{"docs":{},"制":{"docs":{},"于":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"无":{"docs":{},"法":{"docs":{},"获":{"docs":{},"取":{"docs":{},"完":{"docs":{},"整":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"会":{"docs":{},"明":{"docs":{},"文":{"docs":{},"解":{"docs":{},"析":{"docs":{},"这":{"docs":{},"个":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"其":{"docs":{},"他":{"docs":{},"请":{"docs":{},"求":{"docs":{},"不":{"docs":{},"处":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"由":{"docs":{},"模":{"docs":{},"块":{"docs":{},"对":{"docs":{},"响":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{},"进":{"docs":{},"行":{"docs":{},"处":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"错":{"docs":{},"误":{"docs":{},"页":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}},"这":{"docs":{},"里":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"些":{"docs":{},"样":{"docs":{},"例":{"docs":{},",":{"docs":{},"来":{"docs":{},"讲":{"docs":{},"解":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"常":{"docs":{},"见":{"docs":{},"用":{"docs":{},"法":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"请":{"docs":{},"求":{"docs":{},":":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"参":{"docs":{},"数":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"来":{"docs":{},"修":{"docs":{},"改":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},",":{"docs":{},"其":{"docs":{},"配":{"docs":{},"置":{"docs":{},"也":{"docs":{},"是":{"docs":{},"全":{"docs":{},"局":{"docs":{},"性":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"网":{"docs":{},"站":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"问":{"docs":{},"题":{"docs":{},"都":{"docs":{},"会":{"docs":{},"被":{"docs":{},"忽":{"docs":{},"略":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"1":{"docs":{},"为":{"docs":{},"全":{"docs":{},"局":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"系":{"docs":{},"统":{"docs":{},"代":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}},"o":{"docs":{},"s":{"docs":{},"x":{"docs":{},"系":{"docs":{},"统":{"docs":{},"代":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"端":{"docs":{},"口":{"docs":{},",":{"docs":{},"如":{"1":{"0":{"8":{"0":{"docs":{},"端":{"docs":{},"口":{"docs":{},"启":{"docs":{},"动":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"代":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},"附":{"docs":{},"录":{"docs":{},":":{"docs":{},"如":{"docs":{},"何":{"docs":{},"信":{"docs":{},"任":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},"限":{"docs":{},"速":{"docs":{},"值":{"docs":{},",":{"docs":{},"单":{"docs":{},"位":{"docs":{},"k":{"docs":{},"b":{"docs":{},"/":{"docs":{},"s":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"不":{"docs":{},"限":{"docs":{},"速":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}},"除":{"docs":{},"了":{"docs":{},"上":{"docs":{},"述":{"docs":{},"证":{"docs":{},"书":{"docs":{},"安":{"docs":{},"装":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"编":{"docs":{},"写":{"docs":{},"一":{"docs":{},"个":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},",":{"docs":{},"在":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}},"首":{"docs":{},"先":{"docs":{},"和":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"扫":{"docs":{},"描":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"二":{"docs":{},"维":{"docs":{},"码":{"docs":{},"进":{"docs":{},"行":{"docs":{},"下":{"docs":{},"载":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"安":{"docs":{},"卓":{"docs":{},"系":{"docs":{},"统":{"docs":{},"安":{"docs":{},"装":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"可":{"docs":{},"能":{"docs":{},"有":{"docs":{},"所":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"安":{"docs":{},"装":{"docs":{},"的":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"是":{"docs":{},"类":{"docs":{},"似":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"列":{"docs":{},"举":{"docs":{},"了":{"docs":{},"几":{"docs":{},"种":{"docs":{},"类":{"docs":{},"型":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"驱":{"docs":{},"动":{"docs":{},"的":{"docs":{},",":{"docs":{},"函":{"docs":{},"数":{"docs":{},"需":{"docs":{},"要":{"docs":{},"满":{"docs":{},"足":{"docs":{},"y":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},"或":{"docs":{},"是":{"docs":{},"返":{"docs":{},"回":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"或":{"docs":{},"使":{"docs":{},"用":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"界":{"docs":{},"面":{"docs":{},"上":{"docs":{},"能":{"docs":{},"看":{"docs":{},"到":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"信":{"docs":{},"息":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}},"界":{"docs":{},"面":{"docs":{},"上":{"docs":{},"能":{"docs":{},"看":{"docs":{},"到":{"docs":{},"刚":{"docs":{},"才":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"信":{"docs":{},"息":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"[":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"y":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}},"s":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"length":1376},"corpusTokens":["\"content","\"curl/7.43.0\"","\"data\":","\"https\"","\"i","\"thi","\"turn","\"user","\"x","#gener","#global","#launch","#local","#全局包","#启动anyproxy,并解析所有https请求","#本地包","#生成rootca证书,生成后需要手动信任","&","&&","'","'...'","'...',","'/',","'/index.html';","'/redirect/to/another/path';","'127.0.0.1'","'8001');","'8008';","';","'a","'anyproxy';","'anyproxy.io',","'anyproxy/0.0.0';","'application/json'","'cach","'close',","'content","'get',","'get';","'hello","'http',","'http';","'http://anyproxy.io/',","'http://httpbin.org/get?show_env=1'","'http://httpbin.org/us","'https'","'https',","'i","'image/gif',","'keep","'mi","'origin","'proxi","'rule","'text/html'","'thi","'user","'{\"hello\":","(!anyproxy.utils.certmgr.ifrootcafileexists())","(!error)","()","(e)","(iswin)","(requestdetail.url","(requestdetail.url.indexof('http://httpbin.org/')","(requestdetail.url.indexof('http://httpbin.org/post')","(requestdetail.url.indexof('http://httpbin.org/us","(requestdetail.url.indexof('https://httpbin.org/us","(requestdetail.url.indexof('https://th/","*/","*/}","*beforedealhttpsrequest(requestdetail)","*beforesendrequest(requestdetail)","*beforesendresponse(requestdetail,","*onconnecterror(requestdetail,","*onerror(requestdetail,","*true*","+=",",",".",".',","...","...,","./myrulepkg/","./rule.j",".cer",".crt","/*","//","//when","//这里也可以同时加上requestopt","/^win/.test(process.platform);","0)","1.","10.3","10.3信任ca证书","10000,","1080","127.0.0.1:8001","127.0.0.1:8001,","127.0.0.1:8001/index.html","127.0.0.1:8001,访问","1,write","1,编写规则","2,","2.","200,","3,","3.x:","4,","4.0的主要变化:","4.0,欢迎提供反馈","404","404;","443;","5","5000);","5s","80,","8001","8001,","8002","=","===","=>",">",">=",">关于本机",">证书信任设置",">通用","[switchyomega]","_re","_req","_req:","_res:","a:","abil","abliti","activ","add","address","advanc","advance.","agent","agent\":","agent'","agent')","agent':","agent']","agent,","alive',","all,","alway","android","anyprox","anyproxi","anyproxy',","anyproxy,","anyproxy.","anyproxy.io","anyproxy.io,","anyproxy.proxycore(options);","anyproxy.proxyserv","anyproxy.proxyserver(options)","anyproxy.proxyserver(options);","anyproxy.utils.certmgr","anyproxy.utils.certmgr.generaterootca((error,","anyproxy.utils.certmgr.generaterootca(callback)","anyproxy.utils.certmgr.ifrootcafileexists()","anyproxy.utils.systemproxymgr","anyproxy.utils.systemproxymgr.disableglobalproxy();","anyproxy.utils.systemproxymgr.enableglobalproxy('127.0.0.1',","anyproxyin","anyproxyins.start();","anyproxy使用require()加载本地规则,你可以在参数里传入一个本地的npm包路径,或是某个全局安装的npm包","anyproxy可以作为一个npm模块使用,整合进其他工具。","anyproxy向客户端发送请求前,会调用beforesendresponse,并带上参数requestdetail","anyproxy向服务端发送请求前,会调用beforesendrequest,并带上参数requestdetail","anyproxy在与目标https服务器建立连接的过程中,如果发生错误,anyproxy会调用这个方法","anyproxy提供了二次开发的能力,你可以用js编写自己的规则模块(rule),来自定义网络请求的处理逻辑。","anyproxy收到https请求时,会调用beforedealhttpsrequest,并带上参数requestdetail","anyproxy是一个开放式的http代理服务器。","anyproxy调用规则模块beforesendrequest方法,由模块做处理,返回新的请求参数,或返回响应内容","anyproxy默认不对https请求做处理,如需看到明文信息,需要配置ca证书","append","appendix:how","apt","as:","at',","attack","attack.","attack),需要客户端提前信任anyproxy生成的ca","automat","base","be","befor","beforedealhttpsrequest","beforedealhttpsrequest(requestdetail)","beforesendrequest","beforesendrequest(requestdetail)","beforesendrespons","beforesendresponse(requestdetail,","below,","below.","below:","besid","bodi","body,","body:","body三个字段","body等","body),甚至是请求的目标地址等","bonou","browser","browser.","by']","by:","by:anyproxi","ca","ca,","ca.","call","card,","caus","ca方法。","ca,按提示扫描二维码即可安装","cert","certdir","certdir);","certif","certificate.","certificates,","certificates.","certifyc","chang","chart","choos","chrome","class:","cli,","cli.","click","clicking,","client","client,","close","co","co.","code","code)、响应头(respons","code,","code.","collect","command","common","compat","config","config.","configur","connect","connection':","connection:","connections.","console,","console.error('error","console.log('th","const","content","content,","control':","couldn't","course.","creat","credenti","curl","curl:","custom","cwd:","d","dangerouslyignoreunauthor","dangerouslyignoreunauthorized:","dangerouslyignoreunauthorized:true,","data","data\"","data'","data',","deal","dealed.","deall","debian","decrypt","default","default.","defin","delay","demo","design","detect","determin","differ","directli","disabl","dn","doc","doubl","download","driven","due","dure","e.g.","easist","edit","emit","enabl","enable:","encrypt","end","english","entir","error","error)","error);","errors,","event:","example(https://chrome.google.com/webstore/detail/padekgcemlokbadohgkifijomclgjgif)为例","except","exec","exec('open","exec('start","exist","expect","extens","extent","face","fail","failure,","fals","false,","false;","faq","feature,","features:","few","field","file","file,","file.","file:","find","finish","first","flow","follow","follows.","forc","forceproxyhttp","forceproxyhttps:","forward","found","frequent","full","fulli","function","function()","function.","g","gener","get","github:","github主页:https://github.com/alibaba/anyproxi","give","global","go,","gui","guid","h","hack","hacked!","hacked!';","handl","handling.","happen","header","header),请求体(request","header,","header:","headers:","headersar","header)、响应内容等","help","here","here,","here.","hood,","host","host:","hostname:","http","http.rquest,","http/1.1","http/http","http://....j/","http://127.0.0.1:8001/","http://127.0.0.1:8002/","http://127.0.0.1:8002,","http://httpbin.org/","http://httpbin.org/","http://httpbin.org/post","http://httpbin.org/us","http://localhost:8008/index.html","httpbin.org","httpbin.org,","https://github.com/alibaba/anyproxi","https://httpbin.org/us","https://nodejs.org/api/http.html#http_http_request_options_callback","https://sample.com/rule.j","https连接服务器出错","http代理配置","http的代理模式中,这里的request是connect请求","i.e.","ignor","import","in.","includ","influenc","info","info,","insid","instal","installing.","instruct","intercept","intercept`参数,按npm模块启动时配置`forceproxyhttps`参数,所有https请求都会被替换证书并解析","intercept后才会从界面上看到相应内容。","interest","interfac","interface,","introduct","invok","io","ios/android","ios系统信任ca证书","issu","iswin","it,","it.","javascript.","js","kb/s,","keep","keypath)","kind","know","know.com')","known","launch","launching,","legaci","line","line,","list","load","local","localrespons","locat","log","logic","login","longer.","luanch","make","man","manag","manual","menu","menu,","messag","method","method,","method:","middl","middle),用户必须信任anyproxy生成的ca证书,才能进行后续流程","mind","modifi","modul","module,","module.","module.export","myrulepkg","nativ","need","network.","new","newli","newopt","newoption.path","newoption.port","newrequestopt","newrequestoptions.headers['us","newrequestoptions.hostnam","newrequestoptions.method","newrequestoptions.path","newrequestoptions.port","newrequestoptions.rejectunauthor","newrespons","newresponse.bodi","newresponse.header['x","newresponse.statuscod","node.j","nodej","nodejs.","nothing,","now","npm","null","null;","number","object","object.","object.assign({},","offer","on","on\"","on,","onconnecterror","onconnecterror(requestdetail,","one.","onerror","onerror(requestdetail,","onlin","oppo","option","option,","optional,","osx","osx系统信任ca证书","otherwire,","otherwise,","over","own.","page","param","part","pass","password","path.","path:","phones.","place","pleas","point","popular,","port","port:","post","privat","process","promis","promise((resolve,","propmt","protocol","protocol\":","protocol,","protocol:","protocol,i.e.","provid","proxi","proxy.close();","proxy.on('error',","proxy.on('ready',","proxy.start();","proxyserv","proxyserver.close();","proxyserver.on('error',","proxyserver.on('ready',","proxyserver.start();","q:","qr","quest","r15.","r15),anyproxi","read","readi","receiv","record","redirect","ref:","refer","reject)","rejectunauthor","replac","request","request,","request.","requestdata","requestdata:","requestdetail","requestdetail.protocol","requestdetail.requestoptions);","requestdetail.requestoptions;","requestdetail;","requesting,","requestopt","requestoptions:","requests,","requests.","requir","require('anyproxy');","require('child_process').exec;","require('http').request","require('myrulemodule'),","require('path').dirname(keypath);","require()","required,","resolve({","respons","response\"}'","response',","response:","responsedetail","responsedetail)","responsedetail.response);","responsedetail.response;","return","right","risk.","root","rootca","rootca',","rootca.crt","rule","rule:","rule_sample/sample_modify_request_data.j","rule_sample/sample_modify_request_header.j","rule_sample/sample_modify_request_path.j","rule_sample/sample_modify_request_protocol.j","rule_sample/sample_modify_response_data.j","rule_sample/sample_modify_response_header.j","rule_sample/sample_modify_response_statuscode.j","rule_sample/sample_use_local_response.j","rule接口文档","rule样例","rule模块","run","safari","safe","same","sampl","sample.j","sample:","save","scan","scenario,","sd","second","seconds.","secur","security.","see","self","send","sent","server","server,","server.","set","settimeout(()","settings.","sever","side","signed.","silent","silent:","similar","simpl","simplifi","site","site(s)","situation.","skip","someth","source.","specifi","ssl","start","statu","statuscod","statuscode:","step","storage,","string","stuff:","such","sudo","summari","summary():","summary,","summary:","summary:str","support","sure","system","system,","take","target","tell","test","test:","text","text/plain\"","that.","this:","throttl","throttle:","time","timeout","tip","to!","toward","traffic","tri","true","true,","true;","true或者false,表示是否需要anyproxy替换证书并解析http","trust","trust)","turn","type","type':","type:","typic","ubuntu","ui,","ui中的","unauthor","under","unknown","unlimit","unsecur","untrust","url","url:","us","use,","user","user.","users,","usual","valid","valu","var","via","view","visit","want","warning:","way","web","webinterfac","webinterface:","webport","webport:","websocket","websocket,","web版界面端口号,默认8002","web版界面配置","web版界面重构","whether","wifi","window","windows系统信任ca证书","without","work","world'","write","written","ws","wsintercept","wsintercept:","wss","x","yieldabl","yieldable,","you'r","{","{boolean}","{number}","{object}","{string}","|","}","})","});","},","};","下载后的证书可以直接单击打开并安装,这种方式是最简单的,直接安装即可","不做任何处理。此时anyproxy会返回一个默认的错误页。","不做任何处理,返回null","不同安卓系统支持安装的证书文件类型不尽相同,大多支持安装拓展名为","不开启websocket代理","中把anyproxy证书的开关打开,否则safari将报错。","中文文档","为","为什么https请求不能进入处理函数?","主要特性包括:","举例","举例,请求","举例:请求","从sd卡安装证书。找到你下载的证书文件,进行安装","从存储设备安装。找到你下载的证书文件,进行安装","代理http","代理websocket","代理服务器发生错误","代理服务器启动完成","代理服务器都在wifi设置中配置","以chrome的switchyomega插件为例","以下任意一项都能用来改变https的处理特性:","以下几种返回都是合法的","作为npm模块使用","作为全局模块","你可以通过","使用npm包","使用举例","使用在线地址","使用本地数据","使用本地路径anyproxi","使用示例","修改发送到","修改请求bodi","修改请求协议","修改请求协议,如强制改用https发起请求","修改请求参数","修改请求头","修改请求数据","修改请求的目标地址","修改返回内容并延迟","修改返回头","修改返回状态码","修改返回的内容","修改返回的状态码","关闭代理服务器","关闭全局代理服务器","其他命令","创建代理服务器","加密与凭据","即将发送的请求配置,供require('http').request作为使用。详见:https://nodejs.org/api/http.html#http_http_request_options_callback","原始的服务端返回对象","双击打开rootca.crt","发送响应前处理","发送请求前拦截处理","只有返回true时,anyproxy才会尝试替换证书、解析https。否则只做数据流转发,无法看到明文数据。","可以是一个函数,也可以是一个普通的字符串","可修改内容包括请求头(request","可修改的内容包括http状态码(statu","同beforedealhttpsrequest中的参数","同beforesendrequest中的参数","启动","启动anyproxy,加载规则","启动代理服务器","启动后将终端http代理服务器配置为127.0.0.1:8001即可","命令行启动anyproxy时配置`","命令行启动anyproxy,默认端口号8001","命令行直接启动","在","在nodejs代码中启动","在wifi高级设置中,配置http代理即可","在构造anyproxy实例的时候,传入参数dangerouslyignoreunauthorized:true,","在请求处理过程中发生错误时,anyproxy会调用onerror方法,并提供对应的错误信息","基于node.js,开放二次开发能力,允许自定义请求处理逻辑","处理流程","处理流程图如下","多数场景下,错误会在请求目标服务器的时候发生,比如dns解析失败、请求超时等","如下几种方案都可以用来引用规则模块:","如下:","如何引用","如果beforesendrequest返回了响应内容,则立即把此响应返回到客户端(而不再发送到真正的服务端),流程结束。","如果配置了全局解析https的参数,则anyproxy会略过这个调用","如要启用https解析,请在代理服务器启动前自行调用anyproxy.utils.certmgr相关方法生成证书,并引导用户信任安装。或引导用户使用anyproxi","安全","安全性与位置信息","安卓系统信任ca证书","安装","安装ca:","对于debian或者ubuntu系统,在安装anyproxy之前,可能还需要安装","开发示例","引入","当http请求经过代理服务器时,具体处理过程是:","当代理服务器收到https请求时,anyproxy可以替换证书,对请求做明文解析。","当启用https代理时,wss也会被代理,但是不会被anyproxy记录。需要开启","当访问特定的https站点,anyproxy会提示该站点不是一个安全的网站,这通常是因为站点的证书设置不能被正确识别导致的(比如,站点的证书是自签发的)。如果您信任该网站,可以用以下方式来继续访问:","必选,代理服务器端口","快速开始","我们自然也可以借助自定义的rule来实现这个效果,而且我们还可以控制到只允许指定网址的证书错误,对不在列表的网址,进行证书的强验证。","所有http://httpbin.org","找到刚刚导入的anyproxy证书,配置为信任(alway","把","把响应信息返回给客户端","把所有发送到","把用http协议请求的","拦截https请求,对内容做修改","拦截发送到","拦截并修改服务端响应","拦截并修改正在发送的请求","提供gui界面,用以观察请求","提供了多种类型的证书文件,可在下载安装时选择。","提示","支持https的解析","收集请求所有请求参数,包括method,","改成https并发送","文件(已知如","时,requestdetail参数内容大致如下","时,responsedetail参数内容大致如下","是否启用web版界面,默认fals","是否处理https请求","是否屏蔽所有console输出,默认fals","是否开启websocket代理,默认fals","是否强制拦截所有的https,忽略规则模块的返回,默认fals","是否忽略请求中的证书错误,默认fals","是必选字段","服务端的返回信息,包括statuscod","本文档的适用范围是anyproxi","本质是中间人攻击(man","来加载模块并体验","来忽略证书认证的错误。需要注意的是,该参数是全局生效的,如果你在此期间访问了其他未知的网站,他们的证书问题也会被忽略,这可能会带来安全隐患。","查看请求信息","校验系统内是否存在anyproxy的根证书","样例","根据请求参数,向服务端发出请求,接收服务端响应。","模块介绍","此处无法控制向客户端的返回信息,无需返回值。","注意:http","注意:引用规则前,请务必确保文件来源可靠,以免发生安全问题","测试规则","浏览器访问http://127.0.0.1:8002","点击web","然后,安装anyproxi","生成anyproxy的rootca,完成后请引导用户信任.crt文件","生成证书并解析所有https请求","用curl发请求测试的方法如下","用curl测试","用浏览器测试:配置浏览器http代理为","的https请求会被解析","的post数据","的user","的证书文件,少部分仅支持","的请求全部改到","的请求,使用本地数据代替服务端返回","的返回值里加上测试信息,并延迟5秒返回","的返回头里加上","的返回最后追加anyproxy的签名,并延迟5秒","的返回状态码都改成404","直接请求服务器:curl","直接返回客户端,不再发起请求,其中statuscod","相比3.x版本,anyproxi","确认将证书添加到login或system","示例","简介","简化了规则文件内的接口","管理anyproxy的证书","管理系统的全局代理配置,方法调用时可能会弹出密码框","类似这种报错都是因为系统没有信任anyproxy生成的ca所造成的","经过代理服务器后,期望的返回如下","自定义规则模块","被明文解析后的https请求,处理流程同http一致。未明文解析请求不会再进入规则模块做处理。","规则文件中,除了summary,都是由","规则文件内提供`beforedealhttpsrequest`方法,返回","规则文件(rule)全面支持promise和gener","规则模块应该符合cmd规范,一个典型的规则模块代码结构如下。模块中所有方法都是可选的,只需实现业务感兴趣的部分即可。","规则模块是用","规则模块的介绍文案,用于anyproxy提示用户,","规则模块的能力范围包括:","解析https请求的原理是中间人攻击(man","警告:ca证书和系统安全息息相关,建议亲自生成,并妥善保管","设置","设置属性","访问http://127.0.0.1:8002","证书下载到指定目录后,需要从其他入口进行安装,包括:","证书配置","请求bodi","请求url","请求使用的协议,http或者http","请求出错的事件","请求的原始request","请求目标的host,受制于协议,这里无法获取完整url","调用规则模块beforedealhttpsrequest方法,如果返回true,会明文解析这个请求,其他请求不处理","调用规则模块beforesendresponse方法,由模块对响应内容进行处理","运行","返回值","返回自定义错误页","这里提供一些样例,来讲解规则模块的常见用法","通过代理服务器请求:curl","通过启动参数","通过自定义的rule来修改","通过这种方式初始化的anyproxy,其配置也是全局性的,所有网站的证书问题都会被忽略","配置127.0.0.1:8001为全局http代理服务器","配置ios/android系统代理","配置osx系统代理","配置启动端口,如1080端口启动","配置浏览器http代理","附录:如何信任ca证书","限速值,单位kb/s,默认不限速","除了上述证书安装过程,还需要在","需要编写一个规则模块,在","首先和ios类似,需要先扫描证书的二维码进行下载。然后不同的安卓系统安装证书的方式可能有所不同,但是安装的步骤是类似的,我们列举了几种类型。","驱动的,函数需要满足yieldable。可以使用generator方法或是返回promise。","驱动的,函数需要满足yieldable。可以返回promise或使用generator函数。",",web界面上能看到所有的请求信息",",界面上能看到刚才的请求信息",":"],"pipeline":["stopWordFilter","stemmer"]},"store":{"./":{"url":"./","title":"Introduction","keywords":"","body":"AnyProxy\nAnyProxy is a fully configurable http/https proxy in NodeJS.\nRef: 中文文档\nGithub:\n\nhttps://github.com/alibaba/anyproxy\n\nFeatures:\n\nOffer you the ablity to handle http traffic by invoking a js module\nIntercept https\nGUI webinterface\n\nChange Logs since 3.x:\n\nSupport Promise and Generator in rule module\nSimplified interface in rule module\nA newly designed web interface\n\n\nGetting Start\ninstall\nTo Debian and Ubuntu users, you may need to install nodejs-legacy at the same time\nsudo apt-get install nodejs-legacy\n\nThen install the AnyProxy\nnpm install -g anyproxy\n\nlaunch\n\nstart AnyProxy in command line, with default port 8001\n\nanyproxy\n\n\nnow you can use http proxy server by 127.0.0.1:8001\nvisit http://127.0.0.1:8002 to see the http requests\n\noptions\n\nspecify the port of http proxy\n\nanyproxy --port 1080\n\nUse AnyProxy as an npm module\nAnyProxy can be used as an npm module\n\nTo enable https feature, please guide users to use anyproxy-ca in cli. Or use methods under AnyProxy.utils.certMgr to generate certificates.\n\n\ninstall\n\nnpm i anyproxy --save\n\n\nsample\n\nconst AnyProxy = require('anyproxy');\nconst options = {\n port: 8001,\n rule: require('myRuleModule'),\n webInterface: {\n enable: true,\n webPort: 8002\n },\n throttle: 10000,\n forceProxyHttps: false,\n wsIntercept: false,\n silent: false\n};\nconst proxyServer = new AnyProxy.ProxyServer(options);\n\nproxyServer.on('ready', () => { /* */ });\nproxyServer.on('error', (e) => { /* */ });\nproxyServer.start();\n\n//when finished\nproxyServer.close();\n\n\nClass: AnyProxy.proxyServer\n\ncreate a proxy server\nconst proxy = new AnyProxy.proxyServer(options)\n\n\noptions\n\nport {number} required, port number of proxy server\nrule {object} your rule module\nthrottle {number} throttle in kb/s, unlimited for default\nforceProxyHttps {boolean} in force intercept all https request, default to false\nsilent {boolean} if keep silent in console, false for default false\ndangerouslyIgnoreUnauthorized {boolean} if ignore certificate error in request, default to false\nwsIntercept {boolean} whether to intercept websocket, default to false\nwebInterface {object} config for web interface\nenable {boolean} if enable web interface, default to false\nwebPort {number} port number for web interface\n\n\n\n\nEvent: ready\n\nemit when proxy server is ready\nsample\n\nproxy.on('ready', function() { })\n\n\nEvent: error\n\nemit when error happened inside proxy server\nsample\n\nproxy.on('error', function() { })\n\n\nMethod: start\n\nstart proxy server\nsample\n\nproxy.start();\n\n\nMethod: close\n\nclose proxy server\nsample\n\nproxy.close();\n\n\n\n\nAnyProxy.utils.systemProxyMgr\n\nmanage the system proxy config. sudo password may be required\nsample\n\n// set 127.0.0.1:8001 as system http server\nAnyProxy.utils.systemProxyMgr.enableGlobalProxy('127.0.0.1', '8001');\n\n// disable global proxy server\nAnyProxy.utils.systemProxyMgr.disableGlobalProxy();\n\n\nAnyProxy.utils.certMgr\n\nManage certificates of AnyProxy\nAnyProxy.utils.certMgr.ifRootCAFileExists()\ndetect if AnyProx rootCA exists\n\n\nAnyProxy.utils.certMgr.generateRootCA(callback)\ngenerate a rootCA\n\n\nSample\n\n const AnyProxy = require('anyproxy');\n const exec = require('child_process').exec;\n\n if (!AnyProxy.utils.certMgr.ifRootCAFileExists()) {\n AnyProxy.utils.certMgr.generateRootCA((error, keyPath) => {\n // let users to trust this CA before using proxy\n if (!error) {\n const certDir = require('path').dirname(keyPath);\n console.log('The cert is generated at', certDir);\n const isWin = /^win/.test(process.platform);\n if (isWin) {\n exec('start .', { cwd: certDir });\n } else {\n exec('open .', { cwd: certDir });\n }\n } else {\n console.error('error when generating rootCA', error);\n }\n });\n }\n\n\n\nProxy Https\n\nAnyProxy does NOT intercept https requests by default. To view decrypted info, you have to config the CA certificate.\n\n\nUnder the hood, AnyProxy decryptes https requests by man-in-the-middle attack. Users have to trust the CA cert in advance. Otherwise, client side will issue errors about unsecure network.\n\n\ngenerate certifycates and intercept\n\nanyproxy-ca #generate root CA. manually trust it after that.\nanyproxy --intercept #launch anyproxy and intercept all https traffic\n\n\nAppendix:how to trust CA\n\nProxy WebSocket\nanyproxy --ws-intercept\n\n\nThe wss requests will be handled automatically when the HTTPS intercept is turned on, but AnyProxy will not record the data by default. You need to specify the --ws-intercept to tell AnyProxy to record it.\n\nRule Introduction\nAnyProxy provides the ability to load your own rules written in javascript. With rule module, you could customize the logic to handle requests.\n\nMake sure your rule file is got from a trusted source. Otherwise, you may face some unknown security risk.\n\nRule module could do the following stuff:\n\nintercept and modify the request which is being sent\neditable fields include request header, body, target address\n\n\nintercept and modify the response from server\neditable fields include response status code, header, body\n\n\nintercept https requests, modify request and response\n\nsample\n\nTarget\n\nwrite a rule module to append some text to the response of GET http://httpbin.org/user-agent, and delay the response for 5 seconds\n\n\nStep 1,Write the rule file, save as sample.js\n// file: sample.js\nmodule.exports = {\n summary: 'a rule to hack response',\n *beforeSendResponse(requestDetail, responseDetail) {\n if (requestDetail.url === 'http://httpbin.org/user-agent') {\n const newResponse = responseDetail.response;\n newResponse.body += '- AnyProxy Hacked!';\n\n return new Promise((resolve, reject) => {\n setTimeout(() => { // delay\n resolve({ response: newResponse });\n }, 5000);\n });\n }\n },\n};\n\n\nStep 2, start AnyProxy and load the rule file\n\nrun anyproxy --rule sample.js\n\n\nStep 3, test\n\nuse curl\ncurl http://httpbin.org/user-agent --proxy http://127.0.0.1:8001\n\n\nuse browser. Point the http proxy of browser to 127.0.0.1:8001, then visit http://httpbin.org/user-agent\n\nthe expected response from proxy is\n\n\n{\n \"user-agent\": \"curl/7.43.0\"\n}\n- AnyProxy Hacked!\n\nStep 4, view the request log\n\nvisit http://127.0.0.1:8002, the request just sent should be listed here\n\n\n\nhow does it work\n\nThe flow chart is as follows\n\n\n\nWhen got an http request, the entire process of proxy server is\n\nAnyProxy collects all the quest info, include method, header, body\nAnyProxy calls beforeSendRequest of the rule module. Rule module deal the request, return new request param or response content\nIf beforeSendRequest returns the response content, AnyProxy will send the response to client without sending to target server. The process ends here.\nSend request to target server, collect response\nCall beforeSendResponse of the rule module. Rule module deal the response data\nSend response to client\n\n\nWhen AnyProxy get https request, it could replace the certificate and decrypt the request data\n\nAnyProxy calls beforeDealHttpsRequest of the rule module\nIf the function returns true, AnyProxy will do the man-in-the-middle attack to it. Otherwise, the request will not be dealed.\n\n\n\nhow to load rule module\n\nuse local file\nanyproxy --rule ./rule.js\n\n\nuse an online rule file\nanyproxy --rule https://sample.com/rule.js\n\n\nuse an npm module\n\nAnyProxy uses require() to load rule module. You could either load a local npm module or a global-installed one.\n\nanyproxy --rule ./myRulePkg/ #local module\nnpm i -g myRulePkg && anyproxy --rule myRulePkg #global-installed module\n\n\n\nRule module interface\nA typical rule module is as follows. All the functions are optional, just write the part you are interested in.\nmodule.exports = {\n // introduction\n summary: 'my customized rule for AnyProxy',\n // intercept before send request to server\n *beforeSendRequest(requestDetail) { /* ... */ },\n // deal response before send to client\n *beforeSendResponse(requestDetail, responseDetail) { /* ... */ },\n // if deal https request\n *beforeDealHttpsRequest(requestDetail) { /* ... */ },\n // error happened when dealing requests\n *onError(requestDetail, error) { /* ... */ },\n // error happened when connect to https server\n *onConnectError(requestDetail, error) { /* ... */ }\n};\n\n\nAll functions in your rule file, except summary, are all driven by co . They should be yieldable, i.e. return a promise or be a generator function.\n\nsummary\nsummary\n\nIntroduction of this rule file. AnyProxy will read this field and give some tip to user.\n\nbeforeSendRequest\nbeforeSendRequest(requestDetail)\n\nBefore sending request to server, AnyProxy will call beforeSendRequest with param requestDetail\nrequestDetail\nprotocol {string} the protocol to use, http or https\nrequestOptions {object} the options of the request-to-go, a param of require('http').request . ref: https://nodejs.org/api/http.html#http_http_request_options_callback\nrequestData {object} request body\nurl {string} request url\n_req {object} the native node.js request object\n\n\ne.g. When requesting anyproxy.io, requestDetail is something like the following\n{\n protocol: 'http',\n url: 'http://anyproxy.io/',\n requestOptions: {\n hostname: 'anyproxy.io',\n port: 80,\n path: '/',\n method: 'GET',\n headers: {\n Host: 'anyproxy.io',\n 'Proxy-Connection': 'keep-alive',\n 'User-Agent': '...'\n }\n },\n requestData: '...',\n _req: { /* ... */}\n}\n\n\nAny of these return values are valid\n\ndo nothing, and return null\n\nreturn null;\n\n\nmodify the request protocol,i.e. force use https\n\nreturn {\n protocol: 'https'\n};\n\n\nmodify request param\n\nvar newOption = Object.assign({}, requestDetail.requestOptions);\nnewOption.path = '/redirect/to/another/path';\nreturn {\n requestOptions: newOption\n};\n\n\nmodify request body\n\nreturn {\n requestData: 'my new request data'\n // requestOptions can also be used here\n};\n\n\ngive response to the client, not sending request any longer. statusCode headersare required is this situation.\n\nreturn {\n response: {\n statusCode: 200,\n header: { 'content-type': 'text/html' },\n body: 'this could be a or '\n }\n};\n\n\n\nbeforeSendResponse\nbeforeSendResponse(requestDetail, responseDetail)\n\nBefore sending response to client, AnyProxy will call beforeSendResponse with param requestDetail responseDetail\nrequestDetail is the same param as in beforeSendRequest\nresponseDetail\nresponse {object} the response from server, includes statusCode header body\n_res {object} the native node.js response object\n\n\ne.g. When requesting anyproxy.io, responseDetail is something like the following\n{\n response: {\n statusCode: 200,\n header: {\n 'Content-Type': 'image/gif',\n Connection: 'close',\n 'Cache-Control': '...'\n },\n body: '...'\n },\n _res: { /* ... */ }\n}\n\n\nAny of these return values are valid\n\ndo nothing, and return null\n\nreturn null;\n\n\nmodify the response status code\n\nvar newResponse = Object.assign({}, responseDetail.response);\nnewResponse.statusCode = 404;\nreturn {\n response: newResponse\n};\n\n\nmodify the response content\n\nvar newResponse = Object.assign({}, responseDetail.response);\nnewResponse.body += '--from anyproxy--';\nreturn {\n response: newResponse\n};\n\n\n\nbeforeDealHttpsRequest\nbeforeDealHttpsRequest(requestDetail)\n\nWhen receiving https request, AnyProxy will call beforeDealHttpsRequest with param requestDetail\nIf configed with forceProxyHttps in launching, AnyProxy will skip calling this method\nOnly by returning true, AnyProxy will try to replace the certificate and intercept the https request.\nrequestDetail\nhost {string} the target host to request. Due to the request protocol, full url couldn't be got here\n_req {object} the native node.js request object. The _req here refers to the CONNECT request.\n\n\nreturn value\ntrue or false, whether AnyProxy should intercept the https request\n\n\n\nonError\nonError(requestDetail, error)\n\nAnyProxy will call this method when an error happened in request handling.\nErrors usually are issued during requesting, e.g. DNS failure, request timeout\nrequestDetail is the same one as in beforeSendRequest\nAny of these return values are valid\n\ndo nothing, and AnyProxy will response a default error page\n\nreturn null;\n\n\nreturn a customized error page\n\nreturn {\n response: {\n statusCode: 200,\n header: { 'content-type': 'text/html' },\n body: 'this could be a or '\n }\n};\n\n\n\nonConnectError\nonConnectError(requestDetail, error)\n\nAnyProxy will call this method when failed to connect target server in https request\nrequestDetail is the same one as in beforeDealHttpsRequest\nno return value is required\n\nRule Samples\n\nhere are some samples about frequently used rule file\ntry these samples by anyproxy --rule http://....js\nhow to test with curl:\nrequest the server directly curl http://httpbin.org/\nrequest the server via proxy curl http://httpbin.org/ --proxy http://127.0.0.1:8001\n\n\n\nuse local response\n\nintercept the request towards http://httpbin.org , return the local-defined response\n\nanyproxy --rule rule_sample/sample_use_local_response.js\n\n/* \n sample: \n intercept all requests toward httpbin.org, use a local response\n test:\n curl http://httpbin.org/user-agent --proxy http://127.0.0.1:8001\n*/\nmodule.exports = {\n *beforeSendRequest(requestDetail) {\n const localResponse = {\n statusCode: 200,\n header: { 'Content-Type': 'application/json' },\n body: '{\"hello\": \"this is local response\"}'\n };\n if (requestDetail.url.indexOf('http://httpbin.org/') === 0) {\n return {\n response: localResponse\n };\n }\n },\n};\n\nmodify request header\n\nmodify the user-agent sent to httpbin.org\n\nanyproxy --rule rule_sample/sample_modify_request_header.js\n\n/* \n sample: \n modify the user-agent in requests toward httpbin.org\n test:\n curl http://httpbin.org/user-agent --proxy http://127.0.0.1:8001\n*/\nmodule.exports = {\n *beforeSendRequest(requestDetail) {\n if (requestDetail.url.indexOf('http://httpbin.org/') === 0) {\n const newRequestOptions = requestDetail.requestOptions;\n newRequestOptions.headers['User-Agent'] = 'AnyProxy/0.0.0';\n return {\n requestOptions: newRequestOptions\n };\n }\n },\n};\n\nmodify request body\n\nmodify the post body of http://httpbin.org/post\n\nanyproxy --rule rule_sample/sample_modify_request_data.js\n\n/*\n sample:\n modify the post data towards http://httpbin.org/post\n test:\n curl -H \"Content-Type: text/plain\" -X POST -d 'original post data' http://httpbin.org/post --proxy http://127.0.0.1:8001\n expected response:\n { \"data\": \"i-am-anyproxy-modified-post-data\" }\n*/\nmodule.exports = {\n summary: 'Rule to modify request data',\n *beforeSendRequest(requestDetail) {\n if (requestDetail.url.indexOf('http://httpbin.org/post') === 0) {\n return {\n requestData: 'i-am-anyproxy-modified-post-data'\n };\n }\n },\n};\n\nmodify the request target\n\nsend all the request towards http://httpbin.org/ to http://httpbin.org/user-agent\n\nanyproxy --rule rule_sample/sample_modify_request_path.js\n\n/*\n sample:\n redirect all https://httpbin.org/user-agent requests to http://localhost:8008/index.html\n test:\n curl https://httpbin.org/user-agent --proxy http://127.0.0.1:8001\n expected response:\n 'hello world' from 127.0.0.1:8001/index.html\n*/\nmodule.exports = {\n *beforeSendRequest(requestDetail) {\n if (requestDetail.url.indexOf('https://httpbin.org/user-agent') === 0) {\n const newRequestOptions = requestDetail.requestOptions;\n requestDetail.protocol = 'http';\n newRequestOptions.hostname = '127.0.0.1'\n newRequestOptions.port = '8008';\n newRequestOptions.path = '/index.html';\n newRequestOptions.method = 'GET';\n return requestDetail;\n }\n },\n *beforeDealHttpsRequest(requestDetail) {\n return true;\n }\n};\n\nmodify request protocol\n\nmodify the http request towards http://httpbin.org to https\n\nanyproxy --rule rule_sample/sample_modify_request_protocol.js\n\n/* \n sample: \n redirect all http requests of httpbin.org to https\n test:\n curl 'http://httpbin.org/get?show_env=1' --proxy http://127.0.0.1:8001\n expected response:\n { \"X-Forwarded-Protocol\": \"https\" }\n*/\nmodule.exports = {\n *beforeSendRequest(requestDetail) {\n if (requestDetail.url.indexOf('http://httpbin.org/') === 0) {\n const newOption = requestDetail.requestOptions;\n newOption.port = 443;\n return {\n protocol: 'https',\n requestOptions: newOption\n };\n }\n }\n};\n\nmodify response status code\n\nmodify all status code from http://httpbin.org to 404\n\nanyproxy --rule rule_sample/sample_modify_response_statuscode.js\n\n/* \n sample: \n modify all status code of http://httpbin.org/ to 404\n test:\n curl -I 'http://httpbin.org/user-agent' --proxy http://127.0.0.1:8001\n expected response:\n HTTP/1.1 404 Not Found\n*/\nmodule.exports = {\n *beforeSendResponse(requestDetail, responseDetail) {\n if (requestDetail.url.indexOf('http://httpbin.org/') === 0) {\n const newResponse = responseDetail.response;\n newResponse.statusCode = 404;\n return {\n response: newResponse\n };\n }\n }\n};\n\nmodify the response header\n\nadd X-Proxy-By:AnyProxy to the response header from http://httpbin.org/user-agent\n\nanyproxy --rule rule_sample/sample_modify_response_header.js\n\n/* \n sample: \n modify response header of http://httpbin.org/user-agent\n test:\n curl -I 'http://httpbin.org/user-agent' --proxy http://127.0.0.1:8001\n expected response:\n X-Proxy-By: AnyProxy\n*/\nmodule.exports = {\n *beforeSendResponse(requestDetail, responseDetail) {\n if (requestDetail.url.indexOf('http://httpbin.org/user-agent') === 0) {\n const newResponse = responseDetail.response;\n newResponse.header['X-Proxy-By'] = 'AnyProxy';\n return {\n response: newResponse\n };\n }\n }\n};\n\nmodify response data and delay\n\nappend some info to the response of http://httpbin.org/user-agent, then delay the response for 5 seconds.\n\nanyproxy --rule rule_sample/sample_modify_response_data.js\n\n/* \n sample: \n modify response data of http://httpbin.org/user-agent\n test:\n curl 'http://httpbin.org/user-agent' --proxy http://127.0.0.1:8001\n expected response:\n { \"user-agent\": \"curl/7.43.0\" } -- AnyProxy Hacked! --\n*/\n\nmodule.exports = {\n *beforeSendResponse(requestDetail, responseDetail) {\n if (requestDetail.url === 'http://httpbin.org/user-agent') {\n const newResponse = responseDetail.response;\n newResponse.body += '-- AnyProxy Hacked! --';\n return new Promise((resolve, reject) => {\n setTimeout(() => { // delay the response for 5s\n resolve({ response: newResponse });\n }, 5000);\n });\n }\n },\n};\n\nConfig Certification\nConfig root CA in OSX\n\nthis kind of errors is usually caused by untrusted root CA\n\n\n\nWarning: please keep your root CA safe since it may influence your system security.\n\ninstall :\n\ndouble click rootCA.crt\n\nadd cert into login or system\n\n\n\n\nfind the newly imported AnyProxy certificates, configured as Always Trust\n\n\nConfig root CA in windows\n\nConfig OSX system proxy\n\nthe config is in wifi - advanced\n\n\nconfig http proxy server\n\ntake Chrome extent [SwitchyOmega] as an example(https://chrome.google.com/webstore/detail/padekgcemlokbadohgkifijomclgjgif)为例\n\n\ntrust root CA in iOS\n\nClick Root CA in web ui, and follow the instruction to install\n\n\ntrust root CA in iOS after 10.3\n\nBesides installing root CA, you have to \"turn on\" the certificate for web manually in settings - general - about - Certificate Trust Settings. Otherwire, safari will not trust the root CA generated by AnyProxy.\n\n\ntrust root CA in Android\nFirst of all, you need to download the root CA by clicking Root CA in web ui, and then scan the QR code.\nInstalling CA in Android could be different based on the system, we list some common steps as below, but you can find the right way in you system with similar menu path.\n\nThe downloaded CA file can be directly installed by clicking, this is the easist way\nYou need to install the CA file from other menu, such as:\nSettings -> Security & Location > Encryption & credentials -> Install from storage, and find your CA file to install\nSettings -> Security -> Install from SD card, and find you CA file to install\n\n\n\nThere are several file extensions of CA file which may not be compatible with all kinds of Android phones. .crt file is the most popular, while a few systems could only use .cer file such as OPPO R15. In AnyProxy, you can choose the type of certificate you need before installing.\nconfig iOS/Android proxy server\n\nproxy settings are placed in wifi setting\n\niOS\n\n\n\n\nAndroid\n\n\nFAQ\nQ: can not deal https request in rule module.\n\nA: Any of these options could be used to change the way AnyProxy deall https requests\nconfig --intercept when luanching AnyProxy via cli, or use forceProxyHttps when using as an npm module\nplace a beforeDealHttpsRequest function in your rule file and determine which request to intercept by your own.\n\n\n\nQ: get an error says function is not yieldable\n\nA: Rule module is driven by co. The functions inside should be yieldable, i.e. return a promise or be a generator function.\n\nQ: The connection is not private\nAnyProxy will propmt this message when the certification of the site you're visiting is not issued by a common known CA. This happens when the certification is self-signed. If you know and trust it, you can ignore the error as below.\n\nIf you run AnyProxy by command line\nPass in the option --ignore-unauthorized-ssl to ignore the certification errors, please mind that the option will be active for all connections.\nanyproxy -i --ignore-unauthorized-ssl\n\n\nIf you run AnyProxy by Nodejs\nPass in the option dangerouslyIgnoreUnauthorized:true, like this:\nconst options = {\n ...,\n dangerouslyIgnoreUnauthorized: true\n};\n\nconst anyproxyIns = new AnyProxy.ProxyCore(options);\nanyproxyIns.start();\n\nThis is also a global option, all certification errors will be ignored\n\nWith the help of AnyProxy Rule\nYou can change the request with rule of course. For this scenario, all you need is to pass in an option to Nodejs Http.rquest, as we do in AnyProxy. A simple demo below:\nmodule.exports = {\n *beforeSendRequest(requestDetail) {\n if (requestDetail.url.indexOf('https://the-site-you-know.com/') === 0) {\n const newRequestOptions = requestDetail.requestOptions;\n // set rejectUnauthorized as false\n newRequestOptions.rejectUnauthorized = false;\n return {\n requestOptions: newRequestOptions\n };\n }\n },\n};\n\nAnd we get a bonous here, AnyProxy will only ignore the errors for the site(s) we want it to!\n\n\n"}}} \ No newline at end of file diff --git a/docs/en/src_doc.md b/docs/en/src_doc.md index 79c9b9e6e..8eba0b592 100644 --- a/docs/en/src_doc.md +++ b/docs/en/src_doc.md @@ -163,7 +163,7 @@ proxyServer.close(); * Sample ```js - const AnyProxy = require('AnyProxy'); + const AnyProxy = require('anyproxy'); const exec = require('child_process').exec; if (!AnyProxy.utils.certMgr.ifRootCAFileExists()) { @@ -610,6 +610,8 @@ install : * Besides installing root CA, you have to "turn on" the certificate for web manually in *settings - general - about - Certificate Trust Settings*. Otherwire, safari will not trust the root CA generated by AnyProxy. + + ### trust root CA in Android First of all, you need to download the root CA by clicking *Root CA* in web ui, and then scan the QR code. Installing CA in Android could be different based on the system, we list some common steps as below, but you can find the right way in you system with similar menu path. @@ -619,7 +621,7 @@ Installing CA in Android could be different based on the system, we list some co * Settings -> Security & Location > Encryption & credentials -> Install from storage, and find your CA file to install * Settings -> Security -> Install from SD card, and find you CA file to install - +There are several file extensions of CA file which may not be compatible with all kinds of Android phones. `.crt` file is the most popular, while a few systems could only use .cer file such as OPPO R15. In AnyProxy, you can choose the type of certificate you need before installing. ### config iOS/Android proxy server diff --git a/docs/search_index.json b/docs/search_index.json index 128c94d93..6eea2a589 100644 --- a/docs/search_index.json +++ b/docs/search_index.json @@ -1 +1 @@ -{"index":{"version":"0.5.12","fields":[{"name":"title","boost":10},{"name":"keywords","boost":15},{"name":"body","boost":1}],"ref":"url","documentStore":{"store":{"./":["\"content","\"curl/7.43.0\"","\"data\":","\"https\"","\"i","\"thi","\"turn","\"user","\"x","#gener","#global","#launch","#local","&","&&","'","'...'","'...',","'/',","'/index.html';","'/redirect/to/another/path';","'127.0.0.1'","'8001');","'8008';","';","'a","'anyproxy';","'anyproxy.io',","'anyproxy/0.0.0';","'application/json'","'cach","'close',","'content","'get',","'get';","'hello","'http',","'http';","'http://anyproxy.io/',","'http://httpbin.org/get?show_env=1'","'http://httpbin.org/us","'https'","'https',","'i","'image/gif',","'keep","'mi","'origin","'proxi","'rule","'text/html'","'thi","'user","'{\"hello\":","(!anyproxy.utils.certmgr.ifrootcafileexists())","(!error)","()","(e)","(iswin)","(requestdetail.url","(requestdetail.url.indexof('http://httpbin.org/')","(requestdetail.url.indexof('http://httpbin.org/post')","(requestdetail.url.indexof('http://httpbin.org/us","(requestdetail.url.indexof('https://httpbin.org/us","(requestdetail.url.indexof('https://th/","*/","*/}","*beforedealhttpsrequest(requestdetail)","*beforesendrequest(requestdetail)","*beforesendresponse(requestdetail,","*onconnecterror(requestdetail,","*onerror(requestdetail,","+=",",",".",".',","...","...,","./myrulepkg/","./rule.j","/*","//","//when","/^win/.test(process.platform);","0)","10.3","10000,","1080","127.0.0.1:8001","127.0.0.1:8001,","127.0.0.1:8001/index.html","1,write","2,","200,","3,","3.x:","4,","404","404;","443;","5","5000);","5s","80,","8001","8001,","8002","=","===","=>",">","[switchyomega]","_re","_req","_req:","_res:","a:","abil","abliti","activ","add","address","advanc","advance.","agent","agent\":","agent'","agent')","agent':","agent']","agent,","alive',","all,","alway","android","anyprox","anyproxi","anyproxy',","anyproxy.","anyproxy.io,","anyproxy.proxycore(options);","anyproxy.proxyserv","anyproxy.proxyserver(options)","anyproxy.proxyserver(options);","anyproxy.utils.certmgr","anyproxy.utils.certmgr.generaterootca((error,","anyproxy.utils.certmgr.generaterootca(callback)","anyproxy.utils.certmgr.ifrootcafileexists()","anyproxy.utils.systemproxymgr","anyproxy.utils.systemproxymgr.disableglobalproxy();","anyproxy.utils.systemproxymgr.enableglobalproxy('127.0.0.1',","anyproxyin","anyproxyins.start();","append","appendix:how","apt","as:","at',","attack","attack.","automat","base","be","befor","beforedealhttpsrequest","beforedealhttpsrequest(requestdetail)","beforesendrequest","beforesendrequest(requestdetail)","beforesendrespons","beforesendresponse(requestdetail,","below,","below.","below:","besid","bodi","body,","body:","bonou","browser","browser.","by']","by:","by:anyproxi","ca","ca,","ca.","call","card,","caus","cert","certdir","certdir);","certif","certificate.","certificates,","certificates.","certifyc","chang","chart","chrome","class:","cli,","cli.","click","clicking,","client","client,","close","co","co.","code","code,","code.","collect","command","common","config","config.","configur","connect","connection':","connection:","connections.","console,","console.error('error","console.log('th","const","content","content,","control':","couldn't","course.","creat","credenti","curl","curl:","custom","cwd:","d","dangerouslyignoreunauthor","dangerouslyignoreunauthorized:","dangerouslyignoreunauthorized:true,","data","data\"","data'","data',","deal","dealed.","deall","debian","decrypt","default","default.","defin","delay","demo","design","detect","determin","differ","directli","disabl","dn","doubl","download","driven","due","dure","e.g.","easist","edit","emit","enabl","enable:","encrypt","end","entir","error","error)","error);","errors,","event:","example(https://chrome.google.com/webstore/detail/padekgcemlokbadohgkifijomclgjgif)为例","except","exec","exec('open","exec('start","exist","expect","extent","face","fail","failure,","fals","false,","false;","faq","feature,","features:","field","file","file,","file.","file:","find","finish","first","flow","follow","follows.","forc","forceproxyhttp","forceproxyhttps:","forward","found","frequent","full","fulli","function","function()","function.","g","gener","get","github:","give","global","go,","gui","guid","h","hack","hacked!","hacked!';","handl","handling.","happen","header","header,","header:","headers:","headersar","help","here","here,","here.","hood,","host","host:","hostname:","http","http.rquest,","http/1.1","http/http","http://....j/","http://127.0.0.1:8001/","http://127.0.0.1:8002/","http://127.0.0.1:8002,","http://httpbin.org/","http://httpbin.org/","http://httpbin.org/post","http://httpbin.org/us","http://localhost:8008/index.html","httpbin.org","httpbin.org,","https://github.com/alibaba/anyproxi","https://httpbin.org/us","https://nodejs.org/api/http.html#http_http_request_options_callback","https://sample.com/rule.j","i.e.","ignor","import","in.","includ","influenc","info","info,","insid","instal","instruct","intercept","interest","interfac","interface,","introduct","invok","io","ios/android","issu","iswin","it,","it.","javascript.","js","kb/s,","keep","keypath)","kind","know","know.com')","known","launch","launching,","legaci","line","line,","list","load","local","localrespons","locat","log","logic","login","longer.","luanch","make","man","manag","manual","menu","menu,","messag","method","method,","method:","middl","mind","modifi","modul","module,","module.","module.export","myrulepkg","nativ","need","network.","new","newli","newopt","newoption.path","newoption.port","newrequestopt","newrequestoptions.headers['us","newrequestoptions.hostnam","newrequestoptions.method","newrequestoptions.path","newrequestoptions.port","newrequestoptions.rejectunauthor","newrespons","newresponse.bodi","newresponse.header['x","newresponse.statuscod","node.j","nodej","nodejs.","nothing,","now","npm","null","null;","number","object","object.","object.assign({},","offer","on","on\"","on,","onconnecterror","onconnecterror(requestdetail,","one.","onerror","onerror(requestdetail,","onlin","option","option,","optional,","osx","otherwire,","otherwise,","own.","page","param","part","pass","password","path.","path:","place","pleas","point","port","port:","post","privat","process","promis","promise((resolve,","propmt","protocol","protocol\":","protocol,","protocol:","protocol,i.e.","provid","proxi","proxy.close();","proxy.on('error',","proxy.on('ready',","proxy.start();","proxyserv","proxyserver.close();","proxyserver.on('error',","proxyserver.on('ready',","proxyserver.start();","q:","qr","quest","read","readi","receiv","record","redirect","ref:","refer","reject)","rejectunauthor","replac","request","request,","request.","requestdata","requestdata:","requestdetail","requestdetail.protocol","requestdetail.requestoptions);","requestdetail.requestoptions;","requestdetail;","requesting,","requestopt","requestoptions:","requests,","requests.","requir","require('anyproxy');","require('child_process').exec;","require('http').request","require('myrulemodule'),","require('path').dirname(keypath);","require()","required,","resolve({","respons","response\"}'","response',","response:","responsedetail","responsedetail)","responsedetail.response);","responsedetail.response;","return","right","risk.","root","rootca","rootca',","rootca.crt","rule","rule:","rule_sample/sample_modify_request_data.j","rule_sample/sample_modify_request_header.j","rule_sample/sample_modify_request_path.j","rule_sample/sample_modify_request_protocol.j","rule_sample/sample_modify_response_data.j","rule_sample/sample_modify_response_header.j","rule_sample/sample_modify_response_statuscode.j","rule_sample/sample_use_local_response.j","run","safari","safe","same","sampl","sample.j","sample:","save","scan","scenario,","sd","second","seconds.","secur","security.","see","self","send","sent","server","server,","server.","set","settimeout(()","settings.","side","signed.","silent","silent:","similar","simpl","simplifi","site","site(s)","situation.","skip","someth","source.","specifi","ssl","start","statu","statuscod","statuscode:","step","storage,","stuff:","such","sudo","summari","summary,","summary:","support","sure","system","system,","take","target","tell","test","test:","text","text/plain\"","that.","this:","throttl","throttle:","time","timeout","tip","to!","toward","traffic","tri","true","true,","true;","trust","turn","type':","type:","typic","ubuntu","ui,","unauthor","under","unknown","unlimit","unsecur","untrust","url","url:","us","use,","user","user.","users,","usual","valid","valu","var","via","view","visit","want","warning:","way","web","webinterfac","webinterface:","webport","webport:","websocket","websocket,","whether","wifi","window","without","work","world'","write","written","ws","wsintercept","wsintercept:","wss","x","yieldabl","yieldable,","you'r","{","{boolean}","{number}","{object}","{string}","}","})","});","},","};","中文文档",":"]},"length":1},"tokenStore":{"root":{"0":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0036330608537693005}}}},"1":{"0":{"0":{"0":{"0":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"docs":{}},"docs":{}},"8":{"0":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"docs":{}},"docs":{},".":{"3":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"信":{"docs":{},"任":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"docs":{}}},"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"1":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}},",":{"docs":{},"访":{"docs":{},"问":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},",":{"docs":{},"编":{"docs":{},"写":{"docs":{},"规":{"docs":{},"则":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"2":{"0":{"0":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}}}},"docs":{}},"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},".":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"3":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},".":{"docs":{},"x":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"4":{"0":{"4":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},";":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}},"docs":{}},"4":{"3":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"docs":{}},"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},".":{"0":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"变":{"docs":{},"化":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}},",":{"docs":{},"欢":{"docs":{},"迎":{"docs":{},"提":{"docs":{},"供":{"docs":{},"反":{"docs":{},"馈":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}},"docs":{}}},"5":{"0":{"0":{"0":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"docs":{}},"docs":{}},"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"s":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"8":{"0":{"0":{"1":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"2":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"docs":{}},"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"docs":{}},"docs":{},"\"":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"/":{"7":{"docs":{},".":{"4":{"3":{"docs":{},".":{"0":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"\"":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"i":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}},"x":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"#":{"docs":{},"全":{"docs":{},"局":{"docs":{},"包":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"启":{"docs":{},"动":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},",":{"docs":{},"并":{"docs":{},"解":{"docs":{},"析":{"docs":{},"所":{"docs":{},"有":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"地":{"docs":{},"包":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"生":{"docs":{},"成":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"后":{"docs":{},"需":{"docs":{},"要":{"docs":{},"手":{"docs":{},"动":{"docs":{},"信":{"docs":{},"任":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"&":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"&":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"'":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"8":{"0":{"0":{"1":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"8":{"docs":{},"'":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{"./":{"ref":"./","tf":0.002270663033605813}},".":{"docs":{},".":{"docs":{},".":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"/":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"'":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"/":{"docs":{},"t":{"docs":{},"o":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"'":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}},"a":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"'":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}},"/":{"0":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},"'":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"?":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},"=":{"1":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"docs":{}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"i":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"f":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"m":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}}}}},"h":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"{":{"docs":{},"\"":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"\"":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}},"(":{"docs":{},"!":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},".":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"m":{"docs":{},"g":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},")":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"e":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"i":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},".":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"'":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"'":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}}}},"/":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"'":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"*":{"docs":{},"/":{"docs":{"./":{"ref":"./","tf":0.007266121707538601}},"}":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.003178928247048138}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"*":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}},"+":{"docs":{},"=":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}},".":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}},".":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.003178928247048138}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"/":{"docs":{},"m":{"docs":{},"y":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"p":{"docs":{},"k":{"docs":{},"g":{"docs":{},"/":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}},"/":{"docs":{},"*":{"docs":{"./":{"ref":"./","tf":0.007720254314259764}}},"/":{"docs":{"./":{"ref":"./","tf":0.006357856494096276}},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"这":{"docs":{},"里":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"同":{"docs":{},"时":{"docs":{},"加":{"docs":{},"上":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}},"^":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},".":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},".":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{"./":{"ref":"./","tf":0.020435967302452316}},"=":{"docs":{},"=":{"docs":{"./":{"ref":"./","tf":0.004541326067211626}}}},">":{"docs":{"./":{"ref":"./","tf":0.003178928247048138}}}},">":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}},"=":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"关":{"docs":{},"于":{"docs":{},"本":{"docs":{},"机":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"证":{"docs":{},"书":{"docs":{},"信":{"docs":{},"任":{"docs":{},"设":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}},"通":{"docs":{},"用":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"q":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"a":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.005449591280653951}},"\"":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}},"'":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},")":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}}},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"]":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},",":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}}}},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"i":{"docs":{"./":{"ref":"./","tf":0.0326975476839237}}},"y":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},".":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"i":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}},",":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"m":{"docs":{},"g":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"(":{"docs":{},"(":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"m":{"docs":{},"g":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"(":{"docs":{},"'":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"s":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"加":{"docs":{},"载":{"docs":{},"本":{"docs":{},"地":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"参":{"docs":{},"数":{"docs":{},"里":{"docs":{},"传":{"docs":{},"入":{"docs":{},"一":{"docs":{},"个":{"docs":{},"本":{"docs":{},"地":{"docs":{},"的":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"包":{"docs":{},"路":{"docs":{},"径":{"docs":{},",":{"docs":{},"或":{"docs":{},"是":{"docs":{},"某":{"docs":{},"个":{"docs":{},"全":{"docs":{},"局":{"docs":{},"安":{"docs":{},"装":{"docs":{},"的":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"包":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"作":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"模":{"docs":{},"块":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"整":{"docs":{},"合":{"docs":{},"进":{"docs":{},"其":{"docs":{},"他":{"docs":{},"工":{"docs":{},"具":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}},"向":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"送":{"docs":{},"请":{"docs":{},"求":{"docs":{},"前":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"并":{"docs":{},"带":{"docs":{},"上":{"docs":{},"参":{"docs":{},"数":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"发":{"docs":{},"送":{"docs":{},"请":{"docs":{},"求":{"docs":{},"前":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{},"并":{"docs":{},"带":{"docs":{},"上":{"docs":{},"参":{"docs":{},"数":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"与":{"docs":{},"目":{"docs":{},"标":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"发":{"docs":{},"生":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"二":{"docs":{},"次":{"docs":{},"开":{"docs":{},"发":{"docs":{},"的":{"docs":{},"能":{"docs":{},"力":{"docs":{},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"j":{"docs":{},"s":{"docs":{},"编":{"docs":{},"写":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"(":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{},"来":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"收":{"docs":{},"到":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{},"并":{"docs":{},"带":{"docs":{},"上":{"docs":{},"参":{"docs":{},"数":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"开":{"docs":{},"放":{"docs":{},"式":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"由":{"docs":{},"模":{"docs":{},"块":{"docs":{},"做":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"新":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"或":{"docs":{},"返":{"docs":{},"回":{"docs":{},"响":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"不":{"docs":{},"对":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"做":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"如":{"docs":{},"需":{"docs":{},"看":{"docs":{},"到":{"docs":{},"明":{"docs":{},"文":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"配":{"docs":{},"置":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"i":{"docs":{},"x":{"docs":{},":":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}},"t":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},")":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"提":{"docs":{},"前":{"docs":{},"信":{"docs":{},"任":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"b":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"d":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"e":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"b":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0027247956403269754}},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},"e":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"o":{"docs":{},"d":{"docs":{},"y":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}}},"三":{"docs":{},"个":{"docs":{},"字":{"docs":{},"段":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"等":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},")":{"docs":{},",":{"docs":{},"甚":{"docs":{},"至":{"docs":{},"是":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"目":{"docs":{},"标":{"docs":{},"地":{"docs":{},"址":{"docs":{},"等":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"i":{"docs":{"./":{"ref":"./","tf":0.003178928247048138}}}},"n":{"docs":{},"o":{"docs":{},"u":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"y":{"docs":{},"'":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}},"c":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.009990917347865577}},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},",":{"docs":{},"按":{"docs":{},"提":{"docs":{},"示":{"docs":{},"扫":{"docs":{},"描":{"docs":{},"二":{"docs":{},"维":{"docs":{},"码":{"docs":{},"即":{"docs":{},"可":{"docs":{},"安":{"docs":{},"装":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},".":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}},"l":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.004087193460490463}}}},"r":{"docs":{},"d":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"i":{"docs":{},"f":{"docs":{"./":{"ref":"./","tf":0.004995458673932788}},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"s":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"y":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"i":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"c":{"docs":{},"k":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}},",":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}},"o":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"d":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}},")":{"docs":{},"、":{"docs":{},"响":{"docs":{},"应":{"docs":{},"头":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"s":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"'":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"(":{"docs":{},"'":{"docs":{},"t":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"t":{"docs":{"./":{"ref":"./","tf":0.00862851952770209}}}},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"'":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.004995458673932788}},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"u":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"o":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.005449591280653951}},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}}}},"w":{"docs":{},"d":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}},"d":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"s":{"docs":{},"l":{"docs":{},"y":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.0027247956403269754}},"\"":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"'":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}}}}},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0027247956403269754}},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"l":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"b":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"c":{"docs":{},"r":{"docs":{},"y":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}}}},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0036330608537693005}},".":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"m":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"o":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}}},"i":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"n":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}},"u":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"r":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"c":{"docs":{},"r":{"docs":{},"y":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"d":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"t":{"docs":{},"i":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.006811989100817439}},")":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"s":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"(":{"docs":{},"'":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.003178928247048138}}}}}},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"k":{"docs":{},"g":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"l":{"docs":{},"o":{"docs":{},"k":{"docs":{},"b":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"h":{"docs":{},"g":{"docs":{},"k":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"j":{"docs":{},"o":{"docs":{},"m":{"docs":{},"c":{"docs":{},"l":{"docs":{},"g":{"docs":{},"j":{"docs":{},"g":{"docs":{},"i":{"docs":{},"f":{"docs":{},")":{"docs":{},"为":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},".":{"docs":{},"g":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0036330608537693005}},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"q":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"c":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.004541326067211626}},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},",":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"d":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}}}},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}},"s":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0027247956403269754}},"(":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}},".":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}}},"l":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"i":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}},"g":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.004541326067211626}}}}},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"主":{"docs":{},"页":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"v":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}}}},"o":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"u":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"d":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"h":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"e":{"docs":{},"d":{"docs":{},"!":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},"'":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}}}}}}},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}},")":{"docs":{},",":{"docs":{},"请":{"docs":{},"求":{"docs":{},"体":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}},":":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}}},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"a":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},")":{"docs":{},"、":{"docs":{},"响":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{},"等":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}},"l":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"r":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"o":{"docs":{},"d":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.014986376021798364}},"/":{"1":{"docs":{},".":{"1":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"docs":{}}},"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},":":{"docs":{},"/":{"docs":{},"/":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"1":{"docs":{"./":{"ref":"./","tf":0.004541326067211626}}},"2":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},"/":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}}},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.004541326067211626}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"8":{"0":{"0":{"8":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"j":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"#":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"连":{"docs":{},"接":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"出":{"docs":{},"错":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}},"代":{"docs":{},"理":{"docs":{},"配":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}}},"的":{"docs":{},"代":{"docs":{},"理":{"docs":{},"模":{"docs":{},"式":{"docs":{},"中":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"是":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"r":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.003178928247048138}}}}}},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.008174386920980926}}}},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"i":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.009082652134423252}},"`":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"按":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"模":{"docs":{},"块":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"配":{"docs":{},"置":{"docs":{},"`":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"`":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"都":{"docs":{},"会":{"docs":{},"被":{"docs":{},"替":{"docs":{},"换":{"docs":{},"证":{"docs":{},"书":{"docs":{},"并":{"docs":{},"解":{"docs":{},"析":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"后":{"docs":{},"才":{"docs":{},"会":{"docs":{},"从":{"docs":{},"界":{"docs":{},"面":{"docs":{},"上":{"docs":{},"看":{"docs":{},"到":{"docs":{},"相":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":10.001362397820163}}}}}}}}},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"o":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},",":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"o":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},"s":{"docs":{},"系":{"docs":{},"统":{"docs":{},"信":{"docs":{},"任":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"s":{"docs":{},"u":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}},".":{"docs":{},"e":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"t":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},".":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"e":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"'":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"n":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"b":{"docs":{},"/":{"docs":{},"s":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0027247956403269754}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}}}},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"a":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}}}},"g":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"i":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"n":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"u":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}},":":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"n":{"docs":{},"u":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"e":{"docs":{},")":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"必":{"docs":{},"须":{"docs":{},"信":{"docs":{},"任":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"才":{"docs":{},"能":{"docs":{},"进":{"docs":{},"行":{"docs":{},"后":{"docs":{},"续":{"docs":{},"流":{"docs":{},"程":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.01226158038147139}}}}},"u":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.009082652134423252}},"e":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.004995458673932788}}}}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"y":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"p":{"docs":{},"k":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}}}},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"n":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"a":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.003178928247048138}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"[":{"docs":{},"'":{"docs":{},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"r":{"docs":{},"e":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.005449591280653951}},"e":{"docs":{},".":{"docs":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"[":{"docs":{},"'":{"docs":{},"x":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"e":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}}}},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}},"s":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}}}}},"w":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"p":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.0036330608537693005}}}},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},";":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"(":{"docs":{},"{":{"docs":{},"}":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}},"n":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"\"":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.004541326067211626}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"a":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}},"s":{"docs":{},"x":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"系":{"docs":{},"统":{"docs":{},"信":{"docs":{},"任":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"w":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"s":{"docs":{},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}}}}}}}},"w":{"docs":{},"n":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"g":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.003178928247048138}}}},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"s":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0027247956403269754}},":":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0027247956403269754}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},"e":{"docs":{},"(":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},"\"":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},":":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},",":{"docs":{},"i":{"docs":{},".":{"docs":{},"e":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.01634877384196185}}},"y":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"'":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"y":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"'":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"y":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}},"p":{"docs":{},"m":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}}}},"q":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"i":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}},"f":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.023614895549500452}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},":":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}}},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.004087193460490463}},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},";":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}}}}}}}}}}}}}}}}}},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}}}}}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.0027247956403269754}}},".":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"s":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"i":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},"e":{"docs":{},"(":{"docs":{},"'":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"y":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}},")":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"d":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"{":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.014986376021798364}},"e":{"docs":{},"\"":{"docs":{},"}":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},":":{"docs":{"./":{"ref":"./","tf":0.007266121707538601}}},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},")":{"docs":{"./":{"ref":"./","tf":0.0027247956403269754}}},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}},";":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.01634877384196185}}}}}},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.005903723887375113}},"c":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},".":{"docs":{},"c":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.02134423251589464}},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"_":{"docs":{},"s":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"/":{"docs":{},"s":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"口":{"docs":{},"文":{"docs":{},"档":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"样":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"模":{"docs":{},"块":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"n":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"s":{"docs":{},"k":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"s":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.004995458673932788}},"e":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}},":":{"docs":{"./":{"ref":"./","tf":0.0036330608537693005}}}}}},"e":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}}}},"v":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}},"f":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"e":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.003178928247048138}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"s":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"u":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"e":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"l":{"docs":{},"f":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.004541326067211626}}},"t":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.008174386920980926}},",":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"t":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"(":{"docs":{},"s":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"u":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}},"d":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"g":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"p":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"s":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}}}},"t":{"docs":{},"u":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}}}}}}}}}}},"e":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"u":{"docs":{},"f":{"docs":{},"f":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"u":{"docs":{},"d":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}},"y":{"docs":{},"(":{"docs":{},")":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},":":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"c":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"r":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}},"d":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"k":{"docs":{},"i":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.0027247956403269754}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},":":{"docs":{"./":{"ref":"./","tf":0.0036330608537693005}}}}},"x":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"/":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"a":{"docs":{},"t":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"i":{"docs":{},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"o":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0027247956403269754}}}}}},"!":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},",":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}},";":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"或":{"docs":{},"者":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"替":{"docs":{},"换":{"docs":{},"证":{"docs":{},"书":{"docs":{},"并":{"docs":{},"解":{"docs":{},"析":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.005449591280653951}},")":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}},"i":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"'":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}}}},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"i":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.003178928247048138}}}}}}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"p":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"u":{"docs":{},"i":{"docs":{},"中":{"docs":{},"的":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},",":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}},"n":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}},"k":{"docs":{},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"l":{"docs":{},"i":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"s":{"docs":{"./":{"ref":"./","tf":0.009082652134423252}},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"s":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"u":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}},"u":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}}}}},"i":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}},"e":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0018165304268846503}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{"./":{"ref":"./","tf":0.003178928247048138}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"版":{"docs":{},"界":{"docs":{},"面":{"docs":{},"端":{"docs":{},"口":{"docs":{},"号":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"8":{"0":{"0":{"2":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}},"配":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"重":{"docs":{},"构":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"s":{"docs":{},"系":{"docs":{},"统":{"docs":{},"信":{"docs":{},"任":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"o":{"docs":{},"r":{"docs":{},"l":{"docs":{},"d":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"k":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}},"s":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}},"s":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"r":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}},"y":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}},"h":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}},"x":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}},"y":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"'":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}},"{":{"docs":{"./":{"ref":"./","tf":0.03996366939146231}},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.002270663033605813}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.0036330608537693005}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.0013623978201634877}}}}}}}}}},"|":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"}":{"docs":{"./":{"ref":"./","tf":0.013623978201634877}},")":{"docs":{"./":{"ref":"./","tf":0.0009082652134423251}},";":{"docs":{"./":{"ref":"./","tf":0.004087193460490463}}}},",":{"docs":{"./":{"ref":"./","tf":0.009082652134423252}}},";":{"docs":{"./":{"ref":"./","tf":0.012715712988192553}}}},"下":{"docs":{},"载":{"docs":{},"后":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"单":{"docs":{},"击":{"docs":{},"打":{"docs":{},"开":{"docs":{},"并":{"docs":{},"安":{"docs":{},"装":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"是":{"docs":{},"最":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"安":{"docs":{},"装":{"docs":{},"即":{"docs":{},"可":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"做":{"docs":{},"任":{"docs":{},"何":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{},"此":{"docs":{},"时":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"错":{"docs":{},"误":{"docs":{},"页":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}}}}}}}}}}},"开":{"docs":{},"启":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"代":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}},"中":{"docs":{},"把":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"开":{"docs":{},"关":{"docs":{},"打":{"docs":{},"开":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"s":{"docs":{},"a":{"docs":{},"f":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"将":{"docs":{},"报":{"docs":{},"错":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"文":{"docs":{},"档":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}},"为":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"什":{"docs":{},"么":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"不":{"docs":{},"能":{"docs":{},"进":{"docs":{},"入":{"docs":{},"处":{"docs":{},"理":{"docs":{},"函":{"docs":{},"数":{"docs":{},"?":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"要":{"docs":{},"特":{"docs":{},"性":{"docs":{},"包":{"docs":{},"括":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"举":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},",":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},":":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"从":{"docs":{},"s":{"docs":{},"d":{"docs":{},"卡":{"docs":{},"安":{"docs":{},"装":{"docs":{},"证":{"docs":{},"书":{"docs":{},"。":{"docs":{},"找":{"docs":{},"到":{"docs":{},"你":{"docs":{},"下":{"docs":{},"载":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"安":{"docs":{},"装":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}},"存":{"docs":{},"储":{"docs":{},"设":{"docs":{},"备":{"docs":{},"安":{"docs":{},"装":{"docs":{},"。":{"docs":{},"找":{"docs":{},"到":{"docs":{},"你":{"docs":{},"下":{"docs":{},"载":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"安":{"docs":{},"装":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"理":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"发":{"docs":{},"生":{"docs":{},"错":{"docs":{},"误":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"启":{"docs":{},"动":{"docs":{},"完":{"docs":{},"成":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"都":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"设":{"docs":{},"置":{"docs":{},"中":{"docs":{},"配":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}},"以":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"的":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"y":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"插":{"docs":{},"件":{"docs":{},"为":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"任":{"docs":{},"意":{"docs":{},"一":{"docs":{},"项":{"docs":{},"都":{"docs":{},"能":{"docs":{},"用":{"docs":{},"来":{"docs":{},"改":{"docs":{},"变":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"特":{"docs":{},"性":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}},"几":{"docs":{},"种":{"docs":{},"返":{"docs":{},"回":{"docs":{},"都":{"docs":{},"是":{"docs":{},"合":{"docs":{},"法":{"docs":{},"的":{"docs":{"./":{"ref":"./","tf":0.002223869532987398}}}}}}}}}}}}},"作":{"docs":{},"为":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"模":{"docs":{},"块":{"docs":{},"使":{"docs":{},"用":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"全":{"docs":{},"局":{"docs":{},"模":{"docs":{},"块":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"使":{"docs":{},"用":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"包":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"举":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"在":{"docs":{},"线":{"docs":{},"地":{"docs":{},"址":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"本":{"docs":{},"地":{"docs":{},"数":{"docs":{},"据":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"路":{"docs":{},"径":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"修":{"docs":{},"改":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}},"请":{"docs":{},"求":{"docs":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"协":{"docs":{},"议":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},",":{"docs":{},"如":{"docs":{},"强":{"docs":{},"制":{"docs":{},"改":{"docs":{},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"发":{"docs":{},"起":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}},"参":{"docs":{},"数":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"头":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"数":{"docs":{},"据":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"的":{"docs":{},"目":{"docs":{},"标":{"docs":{},"地":{"docs":{},"址":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"内":{"docs":{},"容":{"docs":{},"并":{"docs":{},"延":{"docs":{},"迟":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"头":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"状":{"docs":{},"态":{"docs":{},"码":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"状":{"docs":{},"态":{"docs":{},"码":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}},"关":{"docs":{},"闭":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"全":{"docs":{},"局":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}},"其":{"docs":{},"他":{"docs":{},"命":{"docs":{},"令":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"创":{"docs":{},"建":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"加":{"docs":{},"密":{"docs":{},"与":{"docs":{},"凭":{"docs":{},"据":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"即":{"docs":{},"将":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"供":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"'":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"作":{"docs":{},"为":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{},"详":{"docs":{},"见":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"j":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"#":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"原":{"docs":{},"始":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"返":{"docs":{},"回":{"docs":{},"对":{"docs":{},"象":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}},"双":{"docs":{},"击":{"docs":{},"打":{"docs":{},"开":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},".":{"docs":{},"c":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}},"发":{"docs":{},"送":{"docs":{},"响":{"docs":{},"应":{"docs":{},"前":{"docs":{},"处":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"请":{"docs":{},"求":{"docs":{},"前":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"处":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}},"只":{"docs":{},"有":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"时":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"才":{"docs":{},"会":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"替":{"docs":{},"换":{"docs":{},"证":{"docs":{},"书":{"docs":{},"、":{"docs":{},"解":{"docs":{},"析":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"。":{"docs":{},"否":{"docs":{},"则":{"docs":{},"只":{"docs":{},"做":{"docs":{},"数":{"docs":{},"据":{"docs":{},"流":{"docs":{},"转":{"docs":{},"发":{"docs":{},",":{"docs":{},"无":{"docs":{},"法":{"docs":{},"看":{"docs":{},"到":{"docs":{},"明":{"docs":{},"文":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"普":{"docs":{},"通":{"docs":{},"的":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}},"修":{"docs":{},"改":{"docs":{},"内":{"docs":{},"容":{"docs":{},"包":{"docs":{},"括":{"docs":{},"请":{"docs":{},"求":{"docs":{},"头":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"包":{"docs":{},"括":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"状":{"docs":{},"态":{"docs":{},"码":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}},"同":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},",":{"docs":{},"加":{"docs":{},"载":{"docs":{},"规":{"docs":{},"则":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"后":{"docs":{},"将":{"docs":{},"终":{"docs":{},"端":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"配":{"docs":{},"置":{"docs":{},"为":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"1":{"docs":{},"即":{"docs":{},"可":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"启":{"docs":{},"动":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"时":{"docs":{},"配":{"docs":{},"置":{"docs":{},"`":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"端":{"docs":{},"口":{"docs":{},"号":{"8":{"0":{"0":{"1":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"启":{"docs":{},"动":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"在":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"j":{"docs":{},"s":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"启":{"docs":{},"动":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"高":{"docs":{},"级":{"docs":{},"设":{"docs":{},"置":{"docs":{},"中":{"docs":{},",":{"docs":{},"配":{"docs":{},"置":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"代":{"docs":{},"理":{"docs":{},"即":{"docs":{},"可":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}},"构":{"docs":{},"造":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"传":{"docs":{},"入":{"docs":{},"参":{"docs":{},"数":{"docs":{},"d":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"s":{"docs":{},"l":{"docs":{},"y":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"请":{"docs":{},"求":{"docs":{},"处":{"docs":{},"理":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"发":{"docs":{},"生":{"docs":{},"错":{"docs":{},"误":{"docs":{},"时":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"并":{"docs":{},"提":{"docs":{},"供":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"错":{"docs":{},"误":{"docs":{},"信":{"docs":{},"息":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"基":{"docs":{},"于":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},",":{"docs":{},"开":{"docs":{},"放":{"docs":{},"二":{"docs":{},"次":{"docs":{},"开":{"docs":{},"发":{"docs":{},"能":{"docs":{},"力":{"docs":{},",":{"docs":{},"允":{"docs":{},"许":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"请":{"docs":{},"求":{"docs":{},"处":{"docs":{},"理":{"docs":{},"逻":{"docs":{},"辑":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"流":{"docs":{},"程":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"图":{"docs":{},"如":{"docs":{},"下":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"多":{"docs":{},"数":{"docs":{},"场":{"docs":{},"景":{"docs":{},"下":{"docs":{},",":{"docs":{},"错":{"docs":{},"误":{"docs":{},"会":{"docs":{},"在":{"docs":{},"请":{"docs":{},"求":{"docs":{},"目":{"docs":{},"标":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"发":{"docs":{},"生":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"解":{"docs":{},"析":{"docs":{},"失":{"docs":{},"败":{"docs":{},"、":{"docs":{},"请":{"docs":{},"求":{"docs":{},"超":{"docs":{},"时":{"docs":{},"等":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"下":{"docs":{},"几":{"docs":{},"种":{"docs":{},"方":{"docs":{},"案":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"来":{"docs":{},"引":{"docs":{},"用":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"何":{"docs":{},"引":{"docs":{},"用":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"果":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"返":{"docs":{},"回":{"docs":{},"了":{"docs":{},"响":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"则":{"docs":{},"立":{"docs":{},"即":{"docs":{},"把":{"docs":{},"此":{"docs":{},"响":{"docs":{},"应":{"docs":{},"返":{"docs":{},"回":{"docs":{},"到":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"(":{"docs":{},"而":{"docs":{},"不":{"docs":{},"再":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},")":{"docs":{},",":{"docs":{},"流":{"docs":{},"程":{"docs":{},"结":{"docs":{},"束":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{},"了":{"docs":{},"全":{"docs":{},"局":{"docs":{},"解":{"docs":{},"析":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"则":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"会":{"docs":{},"略":{"docs":{},"过":{"docs":{},"这":{"docs":{},"个":{"docs":{},"调":{"docs":{},"用":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"启":{"docs":{},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"解":{"docs":{},"析":{"docs":{},",":{"docs":{},"请":{"docs":{},"在":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"启":{"docs":{},"动":{"docs":{},"前":{"docs":{},"自":{"docs":{},"行":{"docs":{},"调":{"docs":{},"用":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},".":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"m":{"docs":{},"g":{"docs":{},"r":{"docs":{},"相":{"docs":{},"关":{"docs":{},"方":{"docs":{},"法":{"docs":{},"生":{"docs":{},"成":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"并":{"docs":{},"引":{"docs":{},"导":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"任":{"docs":{},"安":{"docs":{},"装":{"docs":{},"。":{"docs":{},"或":{"docs":{},"引":{"docs":{},"导":{"docs":{},"用":{"docs":{},"户":{"docs":{},"使":{"docs":{},"用":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"安":{"docs":{},"全":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"性":{"docs":{},"与":{"docs":{},"位":{"docs":{},"置":{"docs":{},"信":{"docs":{},"息":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"卓":{"docs":{},"系":{"docs":{},"统":{"docs":{},"信":{"docs":{},"任":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}},"装":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"c":{"docs":{},"a":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"对":{"docs":{},"于":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"或":{"docs":{},"者":{"docs":{},"u":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"u":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"在":{"docs":{},"安":{"docs":{},"装":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"安":{"docs":{},"装":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{},"示":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"引":{"docs":{},"入":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"当":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"请":{"docs":{},"求":{"docs":{},"经":{"docs":{},"过":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"时":{"docs":{},",":{"docs":{},"具":{"docs":{},"体":{"docs":{},"处":{"docs":{},"理":{"docs":{},"过":{"docs":{},"程":{"docs":{},"是":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"收":{"docs":{},"到":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"时":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"可":{"docs":{},"以":{"docs":{},"替":{"docs":{},"换":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"对":{"docs":{},"请":{"docs":{},"求":{"docs":{},"做":{"docs":{},"明":{"docs":{},"文":{"docs":{},"解":{"docs":{},"析":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"代":{"docs":{},"理":{"docs":{},"时":{"docs":{},",":{"docs":{},"w":{"docs":{},"s":{"docs":{},"s":{"docs":{},"也":{"docs":{},"会":{"docs":{},"被":{"docs":{},"代":{"docs":{},"理":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"记":{"docs":{},"录":{"docs":{},"。":{"docs":{},"需":{"docs":{},"要":{"docs":{},"开":{"docs":{},"启":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"访":{"docs":{},"问":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"站":{"docs":{},"点":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"会":{"docs":{},"提":{"docs":{},"示":{"docs":{},"该":{"docs":{},"站":{"docs":{},"点":{"docs":{},"不":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"安":{"docs":{},"全":{"docs":{},"的":{"docs":{},"网":{"docs":{},"站":{"docs":{},",":{"docs":{},"这":{"docs":{},"通":{"docs":{},"常":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"站":{"docs":{},"点":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"设":{"docs":{},"置":{"docs":{},"不":{"docs":{},"能":{"docs":{},"被":{"docs":{},"正":{"docs":{},"确":{"docs":{},"识":{"docs":{},"别":{"docs":{},"导":{"docs":{},"致":{"docs":{},"的":{"docs":{},"(":{"docs":{},"比":{"docs":{},"如":{"docs":{},",":{"docs":{},"站":{"docs":{},"点":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"是":{"docs":{},"自":{"docs":{},"签":{"docs":{},"发":{"docs":{},"的":{"docs":{},")":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"信":{"docs":{},"任":{"docs":{},"该":{"docs":{},"网":{"docs":{},"站":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"以":{"docs":{},"下":{"docs":{},"方":{"docs":{},"式":{"docs":{},"来":{"docs":{},"继":{"docs":{},"续":{"docs":{},"访":{"docs":{},"问":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"必":{"docs":{},"选":{"docs":{},",":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"端":{"docs":{},"口":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}},"快":{"docs":{},"速":{"docs":{},"开":{"docs":{},"始":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"我":{"docs":{},"们":{"docs":{},"自":{"docs":{},"然":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"借":{"docs":{},"助":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"个":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"我":{"docs":{},"们":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"控":{"docs":{},"制":{"docs":{},"到":{"docs":{},"只":{"docs":{},"允":{"docs":{},"许":{"docs":{},"指":{"docs":{},"定":{"docs":{},"网":{"docs":{},"址":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{},"对":{"docs":{},"不":{"docs":{},"在":{"docs":{},"列":{"docs":{},"表":{"docs":{},"的":{"docs":{},"网":{"docs":{},"址":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"强":{"docs":{},"验":{"docs":{},"证":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"有":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}},"找":{"docs":{},"到":{"docs":{},"刚":{"docs":{},"刚":{"docs":{},"导":{"docs":{},"入":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"配":{"docs":{},"置":{"docs":{},"为":{"docs":{},"信":{"docs":{},"任":{"docs":{},"(":{"docs":{},"a":{"docs":{},"l":{"docs":{},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"把":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}},"响":{"docs":{},"应":{"docs":{},"信":{"docs":{},"息":{"docs":{},"返":{"docs":{},"回":{"docs":{},"给":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}},"所":{"docs":{},"有":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}},"拦":{"docs":{},"截":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"对":{"docs":{},"内":{"docs":{},"容":{"docs":{},"做":{"docs":{},"修":{"docs":{},"改":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"并":{"docs":{},"修":{"docs":{},"改":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"响":{"docs":{},"应":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"正":{"docs":{},"在":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"g":{"docs":{},"u":{"docs":{},"i":{"docs":{},"界":{"docs":{},"面":{"docs":{},",":{"docs":{},"用":{"docs":{},"以":{"docs":{},"观":{"docs":{},"察":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}},"示":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"支":{"docs":{},"持":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"的":{"docs":{},"解":{"docs":{},"析":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}},"收":{"docs":{},"集":{"docs":{},"请":{"docs":{},"求":{"docs":{},"所":{"docs":{},"有":{"docs":{},"请":{"docs":{},"求":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}},"改":{"docs":{},"成":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"并":{"docs":{},"发":{"docs":{},"送":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}},"时":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"参":{"docs":{},"数":{"docs":{},"内":{"docs":{},"容":{"docs":{},"大":{"docs":{},"致":{"docs":{},"如":{"docs":{},"下":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"参":{"docs":{},"数":{"docs":{},"内":{"docs":{},"容":{"docs":{},"大":{"docs":{},"致":{"docs":{},"如":{"docs":{},"下":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"否":{"docs":{},"启":{"docs":{},"用":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"版":{"docs":{},"界":{"docs":{},"面":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}},"屏":{"docs":{},"蔽":{"docs":{},"所":{"docs":{},"有":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"输":{"docs":{},"出":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"启":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"代":{"docs":{},"理":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}},"强":{"docs":{},"制":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},",":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"忽":{"docs":{},"略":{"docs":{},"请":{"docs":{},"求":{"docs":{},"中":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}},"必":{"docs":{},"选":{"docs":{},"字":{"docs":{},"段":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"文":{"docs":{},"档":{"docs":{},"的":{"docs":{},"适":{"docs":{},"用":{"docs":{},"范":{"docs":{},"围":{"docs":{},"是":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}},"质":{"docs":{},"是":{"docs":{},"中":{"docs":{},"间":{"docs":{},"人":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}},"来":{"docs":{},"加":{"docs":{},"载":{"docs":{},"模":{"docs":{},"块":{"docs":{},"并":{"docs":{},"体":{"docs":{},"验":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"忽":{"docs":{},"略":{"docs":{},"证":{"docs":{},"书":{"docs":{},"认":{"docs":{},"证":{"docs":{},"的":{"docs":{},"错":{"docs":{},"误":{"docs":{},"。":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"该":{"docs":{},"参":{"docs":{},"数":{"docs":{},"是":{"docs":{},"全":{"docs":{},"局":{"docs":{},"生":{"docs":{},"效":{"docs":{},"的":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"在":{"docs":{},"此":{"docs":{},"期":{"docs":{},"间":{"docs":{},"访":{"docs":{},"问":{"docs":{},"了":{"docs":{},"其":{"docs":{},"他":{"docs":{},"未":{"docs":{},"知":{"docs":{},"的":{"docs":{},"网":{"docs":{},"站":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"问":{"docs":{},"题":{"docs":{},"也":{"docs":{},"会":{"docs":{},"被":{"docs":{},"忽":{"docs":{},"略":{"docs":{},",":{"docs":{},"这":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"带":{"docs":{},"来":{"docs":{},"安":{"docs":{},"全":{"docs":{},"隐":{"docs":{},"患":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"查":{"docs":{},"看":{"docs":{},"请":{"docs":{},"求":{"docs":{},"信":{"docs":{},"息":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}},"校":{"docs":{},"验":{"docs":{},"系":{"docs":{},"统":{"docs":{},"内":{"docs":{},"是":{"docs":{},"否":{"docs":{},"存":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"的":{"docs":{},"根":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}},"样":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"根":{"docs":{},"据":{"docs":{},"请":{"docs":{},"求":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"向":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"发":{"docs":{},"出":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"接":{"docs":{},"收":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"响":{"docs":{},"应":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}},"模":{"docs":{},"块":{"docs":{},"介":{"docs":{},"绍":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"此":{"docs":{},"处":{"docs":{},"无":{"docs":{},"法":{"docs":{},"控":{"docs":{},"制":{"docs":{},"向":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"无":{"docs":{},"需":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}},"注":{"docs":{},"意":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"引":{"docs":{},"用":{"docs":{},"规":{"docs":{},"则":{"docs":{},"前":{"docs":{},",":{"docs":{},"请":{"docs":{},"务":{"docs":{},"必":{"docs":{},"确":{"docs":{},"保":{"docs":{},"文":{"docs":{},"件":{"docs":{},"来":{"docs":{},"源":{"docs":{},"可":{"docs":{},"靠":{"docs":{},",":{"docs":{},"以":{"docs":{},"免":{"docs":{},"发":{"docs":{},"生":{"docs":{},"安":{"docs":{},"全":{"docs":{},"问":{"docs":{},"题":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"测":{"docs":{},"试":{"docs":{},"规":{"docs":{},"则":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"访":{"docs":{},"问":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"2":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"然":{"docs":{},"后":{"docs":{},",":{"docs":{},"安":{"docs":{},"装":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}},"生":{"docs":{},"成":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"的":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},",":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},"请":{"docs":{},"引":{"docs":{},"导":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"任":{"docs":{},".":{"docs":{},"c":{"docs":{},"r":{"docs":{},"t":{"docs":{},"文":{"docs":{},"件":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"证":{"docs":{},"书":{"docs":{},"并":{"docs":{},"解":{"docs":{},"析":{"docs":{},"所":{"docs":{},"有":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}},"用":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"发":{"docs":{},"请":{"docs":{},"求":{"docs":{},"测":{"docs":{},"试":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"如":{"docs":{},"下":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}},"测":{"docs":{},"试":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"测":{"docs":{},"试":{"docs":{},":":{"docs":{},"配":{"docs":{},"置":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"代":{"docs":{},"理":{"docs":{},"为":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"会":{"docs":{},"被":{"docs":{},"解":{"docs":{},"析":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"数":{"docs":{},"据":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"请":{"docs":{},"求":{"docs":{},"全":{"docs":{},"部":{"docs":{},"改":{"docs":{},"到":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"本":{"docs":{},"地":{"docs":{},"数":{"docs":{},"据":{"docs":{},"代":{"docs":{},"替":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"返":{"docs":{},"回":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"里":{"docs":{},"加":{"docs":{},"上":{"docs":{},"测":{"docs":{},"试":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"并":{"docs":{},"延":{"docs":{},"迟":{"5":{"docs":{},"秒":{"docs":{},"返":{"docs":{},"回":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"docs":{}}}}}}}}}}}}},"头":{"docs":{},"里":{"docs":{},"加":{"docs":{},"上":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"最":{"docs":{},"后":{"docs":{},"追":{"docs":{},"加":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"的":{"docs":{},"签":{"docs":{},"名":{"docs":{},",":{"docs":{},"并":{"docs":{},"延":{"docs":{},"迟":{"5":{"docs":{},"秒":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"docs":{}}}}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},"码":{"docs":{},"都":{"docs":{},"改":{"docs":{},"成":{"4":{"0":{"4":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"请":{"docs":{},"求":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},":":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},",":{"docs":{},"不":{"docs":{},"再":{"docs":{},"发":{"docs":{},"起":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}},"相":{"docs":{},"比":{"3":{"docs":{},".":{"docs":{},"x":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}},"docs":{}}},"确":{"docs":{},"认":{"docs":{},"将":{"docs":{},"证":{"docs":{},"书":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"或":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0029651593773165306}}}},"简":{"docs":{},"介":{"docs":{"./":{"ref":"./","tf":10}}},"化":{"docs":{},"了":{"docs":{},"规":{"docs":{},"则":{"docs":{},"文":{"docs":{},"件":{"docs":{},"内":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"全":{"docs":{},"局":{"docs":{},"代":{"docs":{},"理":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"密":{"docs":{},"码":{"docs":{},"框":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"似":{"docs":{},"这":{"docs":{},"种":{"docs":{},"报":{"docs":{},"错":{"docs":{},"都":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"系":{"docs":{},"统":{"docs":{},"没":{"docs":{},"有":{"docs":{},"信":{"docs":{},"任":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"所":{"docs":{},"造":{"docs":{},"成":{"docs":{},"的":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"经":{"docs":{},"过":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"后":{"docs":{},",":{"docs":{},"期":{"docs":{},"望":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"如":{"docs":{},"下":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"被":{"docs":{},"明":{"docs":{},"文":{"docs":{},"解":{"docs":{},"析":{"docs":{},"后":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"处":{"docs":{},"理":{"docs":{},"流":{"docs":{},"程":{"docs":{},"同":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"一":{"docs":{},"致":{"docs":{},"。":{"docs":{},"未":{"docs":{},"明":{"docs":{},"文":{"docs":{},"解":{"docs":{},"析":{"docs":{},"请":{"docs":{},"求":{"docs":{},"不":{"docs":{},"会":{"docs":{},"再":{"docs":{},"进":{"docs":{},"入":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"做":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"规":{"docs":{},"则":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},",":{"docs":{},"除":{"docs":{},"了":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},",":{"docs":{},"都":{"docs":{},"是":{"docs":{},"由":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}},"内":{"docs":{},"提":{"docs":{},"供":{"docs":{},"`":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"`":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},"全":{"docs":{},"面":{"docs":{},"支":{"docs":{},"持":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"和":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}},"模":{"docs":{},"块":{"docs":{},"应":{"docs":{},"该":{"docs":{},"符":{"docs":{},"合":{"docs":{},"c":{"docs":{},"m":{"docs":{},"d":{"docs":{},"规":{"docs":{},"范":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"典":{"docs":{},"型":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"代":{"docs":{},"码":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"下":{"docs":{},"。":{"docs":{},"模":{"docs":{},"块":{"docs":{},"中":{"docs":{},"所":{"docs":{},"有":{"docs":{},"方":{"docs":{},"法":{"docs":{},"都":{"docs":{},"是":{"docs":{},"可":{"docs":{},"选":{"docs":{},"的":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"实":{"docs":{},"现":{"docs":{},"业":{"docs":{},"务":{"docs":{},"感":{"docs":{},"兴":{"docs":{},"趣":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"用":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"的":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"文":{"docs":{},"案":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"提":{"docs":{},"示":{"docs":{},"用":{"docs":{},"户":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"力":{"docs":{},"范":{"docs":{},"围":{"docs":{},"包":{"docs":{},"括":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}},"解":{"docs":{},"析":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"是":{"docs":{},"中":{"docs":{},"间":{"docs":{},"人":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}},"警":{"docs":{},"告":{"docs":{},":":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{},"和":{"docs":{},"系":{"docs":{},"统":{"docs":{},"安":{"docs":{},"全":{"docs":{},"息":{"docs":{},"息":{"docs":{},"相":{"docs":{},"关":{"docs":{},",":{"docs":{},"建":{"docs":{},"议":{"docs":{},"亲":{"docs":{},"自":{"docs":{},"生":{"docs":{},"成":{"docs":{},",":{"docs":{},"并":{"docs":{},"妥":{"docs":{},"善":{"docs":{},"保":{"docs":{},"管":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.002223869532987398}},"属":{"docs":{},"性":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"访":{"docs":{},"问":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"2":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"证":{"docs":{},"书":{"docs":{},"下":{"docs":{},"载":{"docs":{},"到":{"docs":{},"指":{"docs":{},"定":{"docs":{},"目":{"docs":{},"录":{"docs":{},"后":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"从":{"docs":{},"其":{"docs":{},"他":{"docs":{},"入":{"docs":{},"口":{"docs":{},"进":{"docs":{},"行":{"docs":{},"安":{"docs":{},"装":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"请":{"docs":{},"求":{"docs":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"或":{"docs":{},"者":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}},"出":{"docs":{},"错":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"的":{"docs":{},"原":{"docs":{},"始":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014825796886582653}}}}}}}}}}}},"目":{"docs":{},"标":{"docs":{},"的":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{},"受":{"docs":{},"制":{"docs":{},"于":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"无":{"docs":{},"法":{"docs":{},"获":{"docs":{},"取":{"docs":{},"完":{"docs":{},"整":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"会":{"docs":{},"明":{"docs":{},"文":{"docs":{},"解":{"docs":{},"析":{"docs":{},"这":{"docs":{},"个":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"其":{"docs":{},"他":{"docs":{},"请":{"docs":{},"求":{"docs":{},"不":{"docs":{},"处":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"由":{"docs":{},"模":{"docs":{},"块":{"docs":{},"对":{"docs":{},"响":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{},"进":{"docs":{},"行":{"docs":{},"处":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"错":{"docs":{},"误":{"docs":{},"页":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}},"这":{"docs":{},"里":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"些":{"docs":{},"样":{"docs":{},"例":{"docs":{},",":{"docs":{},"来":{"docs":{},"讲":{"docs":{},"解":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"常":{"docs":{},"见":{"docs":{},"用":{"docs":{},"法":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"请":{"docs":{},"求":{"docs":{},":":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"参":{"docs":{},"数":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"来":{"docs":{},"修":{"docs":{},"改":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},",":{"docs":{},"其":{"docs":{},"配":{"docs":{},"置":{"docs":{},"也":{"docs":{},"是":{"docs":{},"全":{"docs":{},"局":{"docs":{},"性":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"网":{"docs":{},"站":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"问":{"docs":{},"题":{"docs":{},"都":{"docs":{},"会":{"docs":{},"被":{"docs":{},"忽":{"docs":{},"略":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"1":{"docs":{},"为":{"docs":{},"全":{"docs":{},"局":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"系":{"docs":{},"统":{"docs":{},"代":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}},"o":{"docs":{},"s":{"docs":{},"x":{"docs":{},"系":{"docs":{},"统":{"docs":{},"代":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"端":{"docs":{},"口":{"docs":{},",":{"docs":{},"如":{"1":{"0":{"8":{"0":{"docs":{},"端":{"docs":{},"口":{"docs":{},"启":{"docs":{},"动":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"代":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}},"附":{"docs":{},"录":{"docs":{},":":{"docs":{},"如":{"docs":{},"何":{"docs":{},"信":{"docs":{},"任":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}},"限":{"docs":{},"速":{"docs":{},"值":{"docs":{},",":{"docs":{},"单":{"docs":{},"位":{"docs":{},"k":{"docs":{},"b":{"docs":{},"/":{"docs":{},"s":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"不":{"docs":{},"限":{"docs":{},"速":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}},"除":{"docs":{},"了":{"docs":{},"上":{"docs":{},"述":{"docs":{},"证":{"docs":{},"书":{"docs":{},"安":{"docs":{},"装":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"编":{"docs":{},"写":{"docs":{},"一":{"docs":{},"个":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},",":{"docs":{},"在":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}},"首":{"docs":{},"先":{"docs":{},"和":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"扫":{"docs":{},"描":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"二":{"docs":{},"维":{"docs":{},"码":{"docs":{},"进":{"docs":{},"行":{"docs":{},"下":{"docs":{},"载":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"安":{"docs":{},"卓":{"docs":{},"系":{"docs":{},"统":{"docs":{},"安":{"docs":{},"装":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"可":{"docs":{},"能":{"docs":{},"有":{"docs":{},"所":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"安":{"docs":{},"装":{"docs":{},"的":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"是":{"docs":{},"类":{"docs":{},"似":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"列":{"docs":{},"举":{"docs":{},"了":{"docs":{},"几":{"docs":{},"种":{"docs":{},"类":{"docs":{},"型":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"驱":{"docs":{},"动":{"docs":{},"的":{"docs":{},",":{"docs":{},"函":{"docs":{},"数":{"docs":{},"需":{"docs":{},"要":{"docs":{},"满":{"docs":{},"足":{"docs":{},"y":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},"或":{"docs":{},"是":{"docs":{},"返":{"docs":{},"回":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"或":{"docs":{},"使":{"docs":{},"用":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"界":{"docs":{},"面":{"docs":{},"上":{"docs":{},"能":{"docs":{},"看":{"docs":{},"到":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"信":{"docs":{},"息":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}}}},"界":{"docs":{},"面":{"docs":{},"上":{"docs":{},"能":{"docs":{},"看":{"docs":{},"到":{"docs":{},"刚":{"docs":{},"才":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"信":{"docs":{},"息":{"docs":{"./":{"ref":"./","tf":0.0007412898443291327}}}}}}}}}}}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}},"[":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"y":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}}}}}}}}}},"s":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},":":{"docs":{"./":{"ref":"./","tf":0.00045413260672116256}}}},"length":1354},"corpusTokens":["\"content","\"curl/7.43.0\"","\"data\":","\"https\"","\"i","\"thi","\"turn","\"user","\"x","#gener","#global","#launch","#local","#全局包","#启动anyproxy,并解析所有https请求","#本地包","#生成rootca证书,生成后需要手动信任","&","&&","'","'...'","'...',","'/',","'/index.html';","'/redirect/to/another/path';","'127.0.0.1'","'8001');","'8008';","';","'a","'anyproxy';","'anyproxy.io',","'anyproxy/0.0.0';","'application/json'","'cach","'close',","'content","'get',","'get';","'hello","'http',","'http';","'http://anyproxy.io/',","'http://httpbin.org/get?show_env=1'","'http://httpbin.org/us","'https'","'https',","'i","'image/gif',","'keep","'mi","'origin","'proxi","'rule","'text/html'","'thi","'user","'{\"hello\":","(!anyproxy.utils.certmgr.ifrootcafileexists())","(!error)","()","(e)","(iswin)","(requestdetail.url","(requestdetail.url.indexof('http://httpbin.org/')","(requestdetail.url.indexof('http://httpbin.org/post')","(requestdetail.url.indexof('http://httpbin.org/us","(requestdetail.url.indexof('https://httpbin.org/us","(requestdetail.url.indexof('https://th/","*/","*/}","*beforedealhttpsrequest(requestdetail)","*beforesendrequest(requestdetail)","*beforesendresponse(requestdetail,","*onconnecterror(requestdetail,","*onerror(requestdetail,","*true*","+=",",",".",".',","...","...,","./myrulepkg/","./rule.j","/*","//","//when","//这里也可以同时加上requestopt","/^win/.test(process.platform);","0)","1.","10.3","10.3信任ca证书","10000,","1080","127.0.0.1:8001","127.0.0.1:8001,","127.0.0.1:8001/index.html","127.0.0.1:8001,访问","1,write","1,编写规则","2,","2.","200,","3,","3.x:","4,","4.0的主要变化:","4.0,欢迎提供反馈","404","404;","443;","5","5000);","5s","80,","8001","8001,","8002","=","===","=>",">",">=",">关于本机",">证书信任设置",">通用","[switchyomega]","_re","_req","_req:","_res:","a:","abil","abliti","activ","add","address","advanc","advance.","agent","agent\":","agent'","agent')","agent':","agent']","agent,","alive',","all,","alway","android","anyprox","anyproxi","anyproxy',","anyproxy.","anyproxy.io","anyproxy.io,","anyproxy.proxycore(options);","anyproxy.proxyserv","anyproxy.proxyserver(options)","anyproxy.proxyserver(options);","anyproxy.utils.certmgr","anyproxy.utils.certmgr.generaterootca((error,","anyproxy.utils.certmgr.generaterootca(callback)","anyproxy.utils.certmgr.ifrootcafileexists()","anyproxy.utils.systemproxymgr","anyproxy.utils.systemproxymgr.disableglobalproxy();","anyproxy.utils.systemproxymgr.enableglobalproxy('127.0.0.1',","anyproxyin","anyproxyins.start();","anyproxy使用require()加载本地规则,你可以在参数里传入一个本地的npm包路径,或是某个全局安装的npm包","anyproxy可以作为一个npm模块使用,整合进其他工具。","anyproxy向客户端发送请求前,会调用beforesendresponse,并带上参数requestdetail","anyproxy向服务端发送请求前,会调用beforesendrequest,并带上参数requestdetail","anyproxy在与目标https服务器建立连接的过程中,如果发生错误,anyproxy会调用这个方法","anyproxy提供了二次开发的能力,你可以用js编写自己的规则模块(rule),来自定义网络请求的处理逻辑。","anyproxy收到https请求时,会调用beforedealhttpsrequest,并带上参数requestdetail","anyproxy是一个开放式的http代理服务器。","anyproxy调用规则模块beforesendrequest方法,由模块做处理,返回新的请求参数,或返回响应内容","anyproxy默认不对https请求做处理,如需看到明文信息,需要配置ca证书","append","appendix:how","apt","as:","at',","attack","attack.","attack),需要客户端提前信任anyproxy生成的ca","automat","base","be","befor","beforedealhttpsrequest","beforedealhttpsrequest(requestdetail)","beforesendrequest","beforesendrequest(requestdetail)","beforesendrespons","beforesendresponse(requestdetail,","below,","below.","below:","besid","bodi","body,","body:","body三个字段","body等","body),甚至是请求的目标地址等","bonou","browser","browser.","by']","by:","by:anyproxi","ca","ca,","ca.","call","card,","caus","ca方法。","ca,按提示扫描二维码即可安装","cert","certdir","certdir);","certif","certificate.","certificates,","certificates.","certifyc","chang","chart","chrome","class:","cli,","cli.","click","clicking,","client","client,","close","co","co.","code","code)、响应头(respons","code,","code.","collect","command","common","config","config.","configur","connect","connection':","connection:","connections.","console,","console.error('error","console.log('th","const","content","content,","control':","couldn't","course.","creat","credenti","curl","curl:","custom","cwd:","d","dangerouslyignoreunauthor","dangerouslyignoreunauthorized:","dangerouslyignoreunauthorized:true,","data","data\"","data'","data',","deal","dealed.","deall","debian","decrypt","default","default.","defin","delay","demo","design","detect","determin","differ","directli","disabl","dn","doc","doubl","download","driven","due","dure","e.g.","easist","edit","emit","enabl","enable:","encrypt","end","english","entir","error","error)","error);","errors,","event:","example(https://chrome.google.com/webstore/detail/padekgcemlokbadohgkifijomclgjgif)为例","except","exec","exec('open","exec('start","exist","expect","extent","face","fail","failure,","fals","false,","false;","faq","feature,","features:","field","file","file,","file.","file:","find","finish","first","flow","follow","follows.","forc","forceproxyhttp","forceproxyhttps:","forward","found","frequent","full","fulli","function","function()","function.","g","gener","get","github:","github主页:https://github.com/alibaba/anyproxi","give","global","go,","gui","guid","h","hack","hacked!","hacked!';","handl","handling.","happen","header","header),请求体(request","header,","header:","headers:","headersar","header)、响应内容等","help","here","here,","here.","hood,","host","host:","hostname:","http","http.rquest,","http/1.1","http/http","http://....j/","http://127.0.0.1:8001/","http://127.0.0.1:8002/","http://127.0.0.1:8002,","http://httpbin.org/","http://httpbin.org/","http://httpbin.org/post","http://httpbin.org/us","http://localhost:8008/index.html","httpbin.org","httpbin.org,","https://github.com/alibaba/anyproxi","https://httpbin.org/us","https://nodejs.org/api/http.html#http_http_request_options_callback","https://sample.com/rule.j","https连接服务器出错","http代理配置","http的代理模式中,这里的request是connect请求","i.e.","ignor","import","in.","includ","influenc","info","info,","insid","instal","instruct","intercept","intercept`参数,按npm模块启动时配置`forceproxyhttps`参数,所有https请求都会被替换证书并解析","intercept后才会从界面上看到相应内容。","interest","interfac","interface,","introduct","invok","io","ios/android","ios系统信任ca证书","issu","iswin","it,","it.","javascript.","js","kb/s,","keep","keypath)","kind","know","know.com')","known","launch","launching,","legaci","line","line,","list","load","local","localrespons","locat","log","logic","login","longer.","luanch","make","man","manag","manual","menu","menu,","messag","method","method,","method:","middl","middle),用户必须信任anyproxy生成的ca证书,才能进行后续流程","mind","modifi","modul","module,","module.","module.export","myrulepkg","nativ","need","network.","new","newli","newopt","newoption.path","newoption.port","newrequestopt","newrequestoptions.headers['us","newrequestoptions.hostnam","newrequestoptions.method","newrequestoptions.path","newrequestoptions.port","newrequestoptions.rejectunauthor","newrespons","newresponse.bodi","newresponse.header['x","newresponse.statuscod","node.j","nodej","nodejs.","nothing,","now","npm","null","null;","number","object","object.","object.assign({},","offer","on","on\"","on,","onconnecterror","onconnecterror(requestdetail,","one.","onerror","onerror(requestdetail,","onlin","option","option,","optional,","osx","osx系统信任ca证书","otherwire,","otherwise,","over","own.","page","param","part","pass","password","path.","path:","place","pleas","point","port","port:","post","privat","process","promis","promise((resolve,","propmt","protocol","protocol\":","protocol,","protocol:","protocol,i.e.","provid","proxi","proxy.close();","proxy.on('error',","proxy.on('ready',","proxy.start();","proxyserv","proxyserver.close();","proxyserver.on('error',","proxyserver.on('ready',","proxyserver.start();","q:","qr","quest","read","readi","receiv","record","redirect","ref:","refer","reject)","rejectunauthor","replac","request","request,","request.","requestdata","requestdata:","requestdetail","requestdetail.protocol","requestdetail.requestoptions);","requestdetail.requestoptions;","requestdetail;","requesting,","requestopt","requestoptions:","requests,","requests.","requir","require('anyproxy');","require('child_process').exec;","require('http').request","require('myrulemodule'),","require('path').dirname(keypath);","require()","required,","resolve({","respons","response\"}'","response',","response:","responsedetail","responsedetail)","responsedetail.response);","responsedetail.response;","return","right","risk.","root","rootca","rootca',","rootca.crt","rule","rule:","rule_sample/sample_modify_request_data.j","rule_sample/sample_modify_request_header.j","rule_sample/sample_modify_request_path.j","rule_sample/sample_modify_request_protocol.j","rule_sample/sample_modify_response_data.j","rule_sample/sample_modify_response_header.j","rule_sample/sample_modify_response_statuscode.j","rule_sample/sample_use_local_response.j","rule接口文档","rule样例","rule模块","run","safari","safe","same","sampl","sample.j","sample:","save","scan","scenario,","sd","second","seconds.","secur","security.","see","self","send","sent","server","server,","server.","set","settimeout(()","settings.","side","signed.","silent","silent:","similar","simpl","simplifi","site","site(s)","situation.","skip","someth","source.","specifi","ssl","start","statu","statuscod","statuscode:","step","storage,","string","stuff:","such","sudo","summari","summary():","summary,","summary:","summary:str","support","sure","system","system,","take","target","tell","test","test:","text","text/plain\"","that.","this:","throttl","throttle:","time","timeout","tip","to!","toward","traffic","tri","true","true,","true;","true或者false,表示是否需要anyproxy替换证书并解析http","trust","trust)","turn","type':","type:","typic","ubuntu","ui,","ui中的","unauthor","under","unknown","unlimit","unsecur","untrust","url","url:","us","use,","user","user.","users,","usual","valid","valu","var","via","view","visit","want","warning:","way","web","webinterfac","webinterface:","webport","webport:","websocket","websocket,","web版界面端口号,默认8002","web版界面配置","web版界面重构","whether","wifi","window","windows系统信任ca证书","without","work","world'","write","written","ws","wsintercept","wsintercept:","wss","x","yieldabl","yieldable,","you'r","{","{boolean}","{number}","{object}","{string}","|","}","})","});","},","};","下载后的证书可以直接单击打开并安装,这种方式是最简单的,直接安装即可","不做任何处理。此时anyproxy会返回一个默认的错误页。","不做任何处理,返回null","不开启websocket代理","中把anyproxy证书的开关打开,否则safari将报错。","中文文档","为","为什么https请求不能进入处理函数?","主要特性包括:","举例","举例,请求","举例:请求","从sd卡安装证书。找到你下载的证书文件,进行安装","从存储设备安装。找到你下载的证书文件,进行安装","代理http","代理websocket","代理服务器发生错误","代理服务器启动完成","代理服务器都在wifi设置中配置","以chrome的switchyomega插件为例","以下任意一项都能用来改变https的处理特性:","以下几种返回都是合法的","作为npm模块使用","作为全局模块","你可以通过","使用npm包","使用举例","使用在线地址","使用本地数据","使用本地路径anyproxi","使用示例","修改发送到","修改请求bodi","修改请求协议","修改请求协议,如强制改用https发起请求","修改请求参数","修改请求头","修改请求数据","修改请求的目标地址","修改返回内容并延迟","修改返回头","修改返回状态码","修改返回的内容","修改返回的状态码","关闭代理服务器","关闭全局代理服务器","其他命令","创建代理服务器","加密与凭据","即将发送的请求配置,供require('http').request作为使用。详见:https://nodejs.org/api/http.html#http_http_request_options_callback","原始的服务端返回对象","双击打开rootca.crt","发送响应前处理","发送请求前拦截处理","只有返回true时,anyproxy才会尝试替换证书、解析https。否则只做数据流转发,无法看到明文数据。","可以是一个函数,也可以是一个普通的字符串","可修改内容包括请求头(request","可修改的内容包括http状态码(statu","同beforedealhttpsrequest中的参数","同beforesendrequest中的参数","启动","启动anyproxy,加载规则","启动代理服务器","启动后将终端http代理服务器配置为127.0.0.1:8001即可","命令行启动anyproxy时配置`","命令行启动anyproxy,默认端口号8001","命令行直接启动","在","在nodejs代码中启动","在wifi高级设置中,配置http代理即可","在构造anyproxy实例的时候,传入参数dangerouslyignoreunauthorized:true,","在请求处理过程中发生错误时,anyproxy会调用onerror方法,并提供对应的错误信息","基于node.js,开放二次开发能力,允许自定义请求处理逻辑","处理流程","处理流程图如下","多数场景下,错误会在请求目标服务器的时候发生,比如dns解析失败、请求超时等","如下几种方案都可以用来引用规则模块:","如下:","如何引用","如果beforesendrequest返回了响应内容,则立即把此响应返回到客户端(而不再发送到真正的服务端),流程结束。","如果配置了全局解析https的参数,则anyproxy会略过这个调用","如要启用https解析,请在代理服务器启动前自行调用anyproxy.utils.certmgr相关方法生成证书,并引导用户信任安装。或引导用户使用anyproxi","安全","安全性与位置信息","安卓系统信任ca证书","安装","安装ca:","对于debian或者ubuntu系统,在安装anyproxy之前,可能还需要安装","开发示例","引入","当http请求经过代理服务器时,具体处理过程是:","当代理服务器收到https请求时,anyproxy可以替换证书,对请求做明文解析。","当启用https代理时,wss也会被代理,但是不会被anyproxy记录。需要开启","当访问特定的https站点,anyproxy会提示该站点不是一个安全的网站,这通常是因为站点的证书设置不能被正确识别导致的(比如,站点的证书是自签发的)。如果您信任该网站,可以用以下方式来继续访问:","必选,代理服务器端口","快速开始","我们自然也可以借助自定义的rule来实现这个效果,而且我们还可以控制到只允许指定网址的证书错误,对不在列表的网址,进行证书的强验证。","所有http://httpbin.org","找到刚刚导入的anyproxy证书,配置为信任(alway","把","把响应信息返回给客户端","把所有发送到","把用http协议请求的","拦截https请求,对内容做修改","拦截发送到","拦截并修改服务端响应","拦截并修改正在发送的请求","提供gui界面,用以观察请求","提示","支持https的解析","收集请求所有请求参数,包括method,","改成https并发送","时,requestdetail参数内容大致如下","时,responsedetail参数内容大致如下","是否启用web版界面,默认fals","是否处理https请求","是否屏蔽所有console输出,默认fals","是否开启websocket代理,默认fals","是否强制拦截所有的https,忽略规则模块的返回,默认fals","是否忽略请求中的证书错误,默认fals","是必选字段","服务端的返回信息,包括statuscod","本文档的适用范围是anyproxi","本质是中间人攻击(man","来加载模块并体验","来忽略证书认证的错误。需要注意的是,该参数是全局生效的,如果你在此期间访问了其他未知的网站,他们的证书问题也会被忽略,这可能会带来安全隐患。","查看请求信息","校验系统内是否存在anyproxy的根证书","样例","根据请求参数,向服务端发出请求,接收服务端响应。","模块介绍","此处无法控制向客户端的返回信息,无需返回值。","注意:http","注意:引用规则前,请务必确保文件来源可靠,以免发生安全问题","测试规则","浏览器访问http://127.0.0.1:8002","点击web","然后,安装anyproxi","生成anyproxy的rootca,完成后请引导用户信任.crt文件","生成证书并解析所有https请求","用curl发请求测试的方法如下","用curl测试","用浏览器测试:配置浏览器http代理为","的https请求会被解析","的post数据","的user","的请求全部改到","的请求,使用本地数据代替服务端返回","的返回值里加上测试信息,并延迟5秒返回","的返回头里加上","的返回最后追加anyproxy的签名,并延迟5秒","的返回状态码都改成404","直接请求服务器:curl","直接返回客户端,不再发起请求,其中statuscod","相比3.x版本,anyproxi","确认将证书添加到login或system","示例","简介","简化了规则文件内的接口","管理anyproxy的证书","管理系统的全局代理配置,方法调用时可能会弹出密码框","类似这种报错都是因为系统没有信任anyproxy生成的ca所造成的","经过代理服务器后,期望的返回如下","自定义规则模块","被明文解析后的https请求,处理流程同http一致。未明文解析请求不会再进入规则模块做处理。","规则文件中,除了summary,都是由","规则文件内提供`beforedealhttpsrequest`方法,返回","规则文件(rule)全面支持promise和gener","规则模块应该符合cmd规范,一个典型的规则模块代码结构如下。模块中所有方法都是可选的,只需实现业务感兴趣的部分即可。","规则模块是用","规则模块的介绍文案,用于anyproxy提示用户,","规则模块的能力范围包括:","解析https请求的原理是中间人攻击(man","警告:ca证书和系统安全息息相关,建议亲自生成,并妥善保管","设置","设置属性","访问http://127.0.0.1:8002","证书下载到指定目录后,需要从其他入口进行安装,包括:","证书配置","请求bodi","请求url","请求使用的协议,http或者http","请求出错的事件","请求的原始request","请求目标的host,受制于协议,这里无法获取完整url","调用规则模块beforedealhttpsrequest方法,如果返回true,会明文解析这个请求,其他请求不处理","调用规则模块beforesendresponse方法,由模块对响应内容进行处理","运行","返回值","返回自定义错误页","这里提供一些样例,来讲解规则模块的常见用法","通过代理服务器请求:curl","通过启动参数","通过自定义的rule来修改","通过这种方式初始化的anyproxy,其配置也是全局性的,所有网站的证书问题都会被忽略","配置127.0.0.1:8001为全局http代理服务器","配置ios/android系统代理","配置osx系统代理","配置启动端口,如1080端口启动","配置浏览器http代理","附录:如何信任ca证书","限速值,单位kb/s,默认不限速","除了上述证书安装过程,还需要在","需要编写一个规则模块,在","首先和ios类似,需要先扫描证书的二维码进行下载。然后不同的安卓系统安装证书的方式可能有所不同,但是安装的步骤是类似的,我们列举了几种类型。","驱动的,函数需要满足yieldable。可以使用generator方法或是返回promise。","驱动的,函数需要满足yieldable。可以返回promise或使用generator函数。",",web界面上能看到所有的请求信息",",界面上能看到刚才的请求信息",":"],"pipeline":["stopWordFilter","stemmer"]},"store":{"./":{"url":"./","title":"Introduction","keywords":"","body":"AnyProxy\nAnyProxy is a fully configurable http/https proxy in NodeJS.\nRef: 中文文档\nGithub:\n\nhttps://github.com/alibaba/anyproxy\n\nFeatures:\n\nOffer you the ablity to handle http traffic by invoking a js module\nIntercept https\nGUI webinterface\n\nChange Logs since 3.x:\n\nSupport Promise and Generator in rule module\nSimplified interface in rule module\nA newly designed web interface\n\n\nGetting Start\ninstall\nTo Debian and Ubuntu users, you may need to install nodejs-legacy at the same time\nsudo apt-get install nodejs-legacy\n\nThen install the AnyProxy\nnpm install -g anyproxy\n\nlaunch\n\nstart AnyProxy in command line, with default port 8001\n\nanyproxy\n\n\nnow you can use http proxy server by 127.0.0.1:8001\nvisit http://127.0.0.1:8002 to see the http requests\n\noptions\n\nspecify the port of http proxy\n\nanyproxy --port 1080\n\nUse AnyProxy as an npm module\nAnyProxy can be used as an npm module\n\nTo enable https feature, please guide users to use anyproxy-ca in cli. Or use methods under AnyProxy.utils.certMgr to generate certificates.\n\n\ninstall\n\nnpm i anyproxy --save\n\n\nsample\n\nconst AnyProxy = require('anyproxy');\nconst options = {\n port: 8001,\n rule: require('myRuleModule'),\n webInterface: {\n enable: true,\n webPort: 8002\n },\n throttle: 10000,\n forceProxyHttps: false,\n wsIntercept: false,\n silent: false\n};\nconst proxyServer = new AnyProxy.ProxyServer(options);\n\nproxyServer.on('ready', () => { /* */ });\nproxyServer.on('error', (e) => { /* */ });\nproxyServer.start();\n\n//when finished\nproxyServer.close();\n\n\nClass: AnyProxy.proxyServer\n\ncreate a proxy server\nconst proxy = new AnyProxy.proxyServer(options)\n\n\noptions\n\nport {number} required, port number of proxy server\nrule {object} your rule module\nthrottle {number} throttle in kb/s, unlimited for default\nforceProxyHttps {boolean} in force intercept all https request, default to false\nsilent {boolean} if keep silent in console, false for default false\ndangerouslyIgnoreUnauthorized {boolean} if ignore certificate error in request, default to false\nwsIntercept {boolean} whether to intercept websocket, default to false\nwebInterface {object} config for web interface\nenable {boolean} if enable web interface, default to false\nwebPort {number} port number for web interface\n\n\n\n\nEvent: ready\n\nemit when proxy server is ready\nsample\n\nproxy.on('ready', function() { })\n\n\nEvent: error\n\nemit when error happened inside proxy server\nsample\n\nproxy.on('error', function() { })\n\n\nMethod: start\n\nstart proxy server\nsample\n\nproxy.start();\n\n\nMethod: close\n\nclose proxy server\nsample\n\nproxy.close();\n\n\n\n\nAnyProxy.utils.systemProxyMgr\n\nmanage the system proxy config. sudo password may be required\nsample\n\n// set 127.0.0.1:8001 as system http server\nAnyProxy.utils.systemProxyMgr.enableGlobalProxy('127.0.0.1', '8001');\n\n// disable global proxy server\nAnyProxy.utils.systemProxyMgr.disableGlobalProxy();\n\n\nAnyProxy.utils.certMgr\n\nManage certificates of AnyProxy\nAnyProxy.utils.certMgr.ifRootCAFileExists()\ndetect if AnyProx rootCA exists\n\n\nAnyProxy.utils.certMgr.generateRootCA(callback)\ngenerate a rootCA\n\n\nSample\n\n const AnyProxy = require('AnyProxy');\n const exec = require('child_process').exec;\n\n if (!AnyProxy.utils.certMgr.ifRootCAFileExists()) {\n AnyProxy.utils.certMgr.generateRootCA((error, keyPath) => {\n // let users to trust this CA before using proxy\n if (!error) {\n const certDir = require('path').dirname(keyPath);\n console.log('The cert is generated at', certDir);\n const isWin = /^win/.test(process.platform);\n if (isWin) {\n exec('start .', { cwd: certDir });\n } else {\n exec('open .', { cwd: certDir });\n }\n } else {\n console.error('error when generating rootCA', error);\n }\n });\n }\n\n\n\nProxy Https\n\nAnyProxy does NOT intercept https requests by default. To view decrypted info, you have to config the CA certificate.\n\n\nUnder the hood, AnyProxy decryptes https requests by man-in-the-middle attack. Users have to trust the CA cert in advance. Otherwise, client side will issue errors about unsecure network.\n\n\ngenerate certifycates and intercept\n\nanyproxy-ca #generate root CA. manually trust it after that.\nanyproxy --intercept #launch anyproxy and intercept all https traffic\n\n\nAppendix:how to trust CA\n\nProxy WebSocket\nanyproxy --ws-intercept\n\n\nThe wss requests will be handled automatically when the HTTPS intercept is turned on, but AnyProxy will not record the data by default. You need to specify the --ws-intercept to tell AnyProxy to record it.\n\nRule Introduction\nAnyProxy provides the ability to load your own rules written in javascript. With rule module, you could customize the logic to handle requests.\n\nMake sure your rule file is got from a trusted source. Otherwise, you may face some unknown security risk.\n\nRule module could do the following stuff:\n\nintercept and modify the request which is being sent\neditable fields include request header, body, target address\n\n\nintercept and modify the response from server\neditable fields include response status code, header, body\n\n\nintercept https requests, modify request and response\n\nsample\n\nTarget\n\nwrite a rule module to append some text to the response of GET http://httpbin.org/user-agent, and delay the response for 5 seconds\n\n\nStep 1,Write the rule file, save as sample.js\n// file: sample.js\nmodule.exports = {\n summary: 'a rule to hack response',\n *beforeSendResponse(requestDetail, responseDetail) {\n if (requestDetail.url === 'http://httpbin.org/user-agent') {\n const newResponse = responseDetail.response;\n newResponse.body += '- AnyProxy Hacked!';\n\n return new Promise((resolve, reject) => {\n setTimeout(() => { // delay\n resolve({ response: newResponse });\n }, 5000);\n });\n }\n },\n};\n\n\nStep 2, start AnyProxy and load the rule file\n\nrun anyproxy --rule sample.js\n\n\nStep 3, test\n\nuse curl\ncurl http://httpbin.org/user-agent --proxy http://127.0.0.1:8001\n\n\nuse browser. Point the http proxy of browser to 127.0.0.1:8001, then visit http://httpbin.org/user-agent\n\nthe expected response from proxy is\n\n\n{\n \"user-agent\": \"curl/7.43.0\"\n}\n- AnyProxy Hacked!\n\nStep 4, view the request log\n\nvisit http://127.0.0.1:8002, the request just sent should be listed here\n\n\n\nhow does it work\n\nThe flow chart is as follows\n\n\n\nWhen got an http request, the entire process of proxy server is\n\nAnyProxy collects all the quest info, include method, header, body\nAnyProxy calls beforeSendRequest of the rule module. Rule module deal the request, return new request param or response content\nIf beforeSendRequest returns the response content, AnyProxy will send the response to client without sending to target server. The process ends here.\nSend request to target server, collect response\nCall beforeSendResponse of the rule module. Rule module deal the response data\nSend response to client\n\n\nWhen AnyProxy get https request, it could replace the certificate and decrypt the request data\n\nAnyProxy calls beforeDealHttpsRequest of the rule module\nIf the function returns true, AnyProxy will do the man-in-the-middle attack to it. Otherwise, the request will not be dealed.\n\n\n\nhow to load rule module\n\nuse local file\nanyproxy --rule ./rule.js\n\n\nuse an online rule file\nanyproxy --rule https://sample.com/rule.js\n\n\nuse an npm module\n\nAnyProxy uses require() to load rule module. You could either load a local npm module or a global-installed one.\n\nanyproxy --rule ./myRulePkg/ #local module\nnpm i -g myRulePkg && anyproxy --rule myRulePkg #global-installed module\n\n\n\nRule module interface\nA typical rule module is as follows. All the functions are optional, just write the part you are interested in.\nmodule.exports = {\n // introduction\n summary: 'my customized rule for AnyProxy',\n // intercept before send request to server\n *beforeSendRequest(requestDetail) { /* ... */ },\n // deal response before send to client\n *beforeSendResponse(requestDetail, responseDetail) { /* ... */ },\n // if deal https request\n *beforeDealHttpsRequest(requestDetail) { /* ... */ },\n // error happened when dealing requests\n *onError(requestDetail, error) { /* ... */ },\n // error happened when connect to https server\n *onConnectError(requestDetail, error) { /* ... */ }\n};\n\n\nAll functions in your rule file, except summary, are all driven by co . They should be yieldable, i.e. return a promise or be a generator function.\n\nsummary\nsummary\n\nIntroduction of this rule file. AnyProxy will read this field and give some tip to user.\n\nbeforeSendRequest\nbeforeSendRequest(requestDetail)\n\nBefore sending request to server, AnyProxy will call beforeSendRequest with param requestDetail\nrequestDetail\nprotocol {string} the protocol to use, http or https\nrequestOptions {object} the options of the request-to-go, a param of require('http').request . ref: https://nodejs.org/api/http.html#http_http_request_options_callback\nrequestData {object} request body\nurl {string} request url\n_req {object} the native node.js request object\n\n\ne.g. When requesting anyproxy.io, requestDetail is something like the following\n{\n protocol: 'http',\n url: 'http://anyproxy.io/',\n requestOptions: {\n hostname: 'anyproxy.io',\n port: 80,\n path: '/',\n method: 'GET',\n headers: {\n Host: 'anyproxy.io',\n 'Proxy-Connection': 'keep-alive',\n 'User-Agent': '...'\n }\n },\n requestData: '...',\n _req: { /* ... */}\n}\n\n\nAny of these return values are valid\n\ndo nothing, and return null\n\nreturn null;\n\n\nmodify the request protocol,i.e. force use https\n\nreturn {\n protocol: 'https'\n};\n\n\nmodify request param\n\nvar newOption = Object.assign({}, requestDetail.requestOptions);\nnewOption.path = '/redirect/to/another/path';\nreturn {\n requestOptions: newOption\n};\n\n\nmodify request body\n\nreturn {\n requestData: 'my new request data'\n // requestOptions can also be used here\n};\n\n\ngive response to the client, not sending request any longer. statusCode headersare required is this situation.\n\nreturn {\n response: {\n statusCode: 200,\n header: { 'content-type': 'text/html' },\n body: 'this could be a or '\n }\n};\n\n\n\nbeforeSendResponse\nbeforeSendResponse(requestDetail, responseDetail)\n\nBefore sending response to client, AnyProxy will call beforeSendResponse with param requestDetail responseDetail\nrequestDetail is the same param as in beforeSendRequest\nresponseDetail\nresponse {object} the response from server, includes statusCode header body\n_res {object} the native node.js response object\n\n\ne.g. When requesting anyproxy.io, responseDetail is something like the following\n{\n response: {\n statusCode: 200,\n header: {\n 'Content-Type': 'image/gif',\n Connection: 'close',\n 'Cache-Control': '...'\n },\n body: '...'\n },\n _res: { /* ... */ }\n}\n\n\nAny of these return values are valid\n\ndo nothing, and return null\n\nreturn null;\n\n\nmodify the response status code\n\nvar newResponse = Object.assign({}, responseDetail.response);\nnewResponse.statusCode = 404;\nreturn {\n response: newResponse\n};\n\n\nmodify the response content\n\nvar newResponse = Object.assign({}, responseDetail.response);\nnewResponse.body += '--from anyproxy--';\nreturn {\n response: newResponse\n};\n\n\n\nbeforeDealHttpsRequest\nbeforeDealHttpsRequest(requestDetail)\n\nWhen receiving https request, AnyProxy will call beforeDealHttpsRequest with param requestDetail\nIf configed with forceProxyHttps in launching, AnyProxy will skip calling this method\nOnly by returning true, AnyProxy will try to replace the certificate and intercept the https request.\nrequestDetail\nhost {string} the target host to request. Due to the request protocol, full url couldn't be got here\n_req {object} the native node.js request object. The _req here refers to the CONNECT request.\n\n\nreturn value\ntrue or false, whether AnyProxy should intercept the https request\n\n\n\nonError\nonError(requestDetail, error)\n\nAnyProxy will call this method when an error happened in request handling.\nErrors usually are issued during requesting, e.g. DNS failure, request timeout\nrequestDetail is the same one as in beforeSendRequest\nAny of these return values are valid\n\ndo nothing, and AnyProxy will response a default error page\n\nreturn null;\n\n\nreturn a customized error page\n\nreturn {\n response: {\n statusCode: 200,\n header: { 'content-type': 'text/html' },\n body: 'this could be a or '\n }\n};\n\n\n\nonConnectError\nonConnectError(requestDetail, error)\n\nAnyProxy will call this method when failed to connect target server in https request\nrequestDetail is the same one as in beforeDealHttpsRequest\nno return value is required\n\nRule Samples\n\nhere are some samples about frequently used rule file\ntry these samples by anyproxy --rule http://....js\nhow to test with curl:\nrequest the server directly curl http://httpbin.org/\nrequest the server via proxy curl http://httpbin.org/ --proxy http://127.0.0.1:8001\n\n\n\nuse local response\n\nintercept the request towards http://httpbin.org , return the local-defined response\n\nanyproxy --rule rule_sample/sample_use_local_response.js\n\n/* \n sample: \n intercept all requests toward httpbin.org, use a local response\n test:\n curl http://httpbin.org/user-agent --proxy http://127.0.0.1:8001\n*/\nmodule.exports = {\n *beforeSendRequest(requestDetail) {\n const localResponse = {\n statusCode: 200,\n header: { 'Content-Type': 'application/json' },\n body: '{\"hello\": \"this is local response\"}'\n };\n if (requestDetail.url.indexOf('http://httpbin.org/') === 0) {\n return {\n response: localResponse\n };\n }\n },\n};\n\nmodify request header\n\nmodify the user-agent sent to httpbin.org\n\nanyproxy --rule rule_sample/sample_modify_request_header.js\n\n/* \n sample: \n modify the user-agent in requests toward httpbin.org\n test:\n curl http://httpbin.org/user-agent --proxy http://127.0.0.1:8001\n*/\nmodule.exports = {\n *beforeSendRequest(requestDetail) {\n if (requestDetail.url.indexOf('http://httpbin.org/') === 0) {\n const newRequestOptions = requestDetail.requestOptions;\n newRequestOptions.headers['User-Agent'] = 'AnyProxy/0.0.0';\n return {\n requestOptions: newRequestOptions\n };\n }\n },\n};\n\nmodify request body\n\nmodify the post body of http://httpbin.org/post\n\nanyproxy --rule rule_sample/sample_modify_request_data.js\n\n/*\n sample:\n modify the post data towards http://httpbin.org/post\n test:\n curl -H \"Content-Type: text/plain\" -X POST -d 'original post data' http://httpbin.org/post --proxy http://127.0.0.1:8001\n expected response:\n { \"data\": \"i-am-anyproxy-modified-post-data\" }\n*/\nmodule.exports = {\n summary: 'Rule to modify request data',\n *beforeSendRequest(requestDetail) {\n if (requestDetail.url.indexOf('http://httpbin.org/post') === 0) {\n return {\n requestData: 'i-am-anyproxy-modified-post-data'\n };\n }\n },\n};\n\nmodify the request target\n\nsend all the request towards http://httpbin.org/ to http://httpbin.org/user-agent\n\nanyproxy --rule rule_sample/sample_modify_request_path.js\n\n/*\n sample:\n redirect all https://httpbin.org/user-agent requests to http://localhost:8008/index.html\n test:\n curl https://httpbin.org/user-agent --proxy http://127.0.0.1:8001\n expected response:\n 'hello world' from 127.0.0.1:8001/index.html\n*/\nmodule.exports = {\n *beforeSendRequest(requestDetail) {\n if (requestDetail.url.indexOf('https://httpbin.org/user-agent') === 0) {\n const newRequestOptions = requestDetail.requestOptions;\n requestDetail.protocol = 'http';\n newRequestOptions.hostname = '127.0.0.1'\n newRequestOptions.port = '8008';\n newRequestOptions.path = '/index.html';\n newRequestOptions.method = 'GET';\n return requestDetail;\n }\n },\n *beforeDealHttpsRequest(requestDetail) {\n return true;\n }\n};\n\nmodify request protocol\n\nmodify the http request towards http://httpbin.org to https\n\nanyproxy --rule rule_sample/sample_modify_request_protocol.js\n\n/* \n sample: \n redirect all http requests of httpbin.org to https\n test:\n curl 'http://httpbin.org/get?show_env=1' --proxy http://127.0.0.1:8001\n expected response:\n { \"X-Forwarded-Protocol\": \"https\" }\n*/\nmodule.exports = {\n *beforeSendRequest(requestDetail) {\n if (requestDetail.url.indexOf('http://httpbin.org/') === 0) {\n const newOption = requestDetail.requestOptions;\n newOption.port = 443;\n return {\n protocol: 'https',\n requestOptions: newOption\n };\n }\n }\n};\n\nmodify response status code\n\nmodify all status code from http://httpbin.org to 404\n\nanyproxy --rule rule_sample/sample_modify_response_statuscode.js\n\n/* \n sample: \n modify all status code of http://httpbin.org/ to 404\n test:\n curl -I 'http://httpbin.org/user-agent' --proxy http://127.0.0.1:8001\n expected response:\n HTTP/1.1 404 Not Found\n*/\nmodule.exports = {\n *beforeSendResponse(requestDetail, responseDetail) {\n if (requestDetail.url.indexOf('http://httpbin.org/') === 0) {\n const newResponse = responseDetail.response;\n newResponse.statusCode = 404;\n return {\n response: newResponse\n };\n }\n }\n};\n\nmodify the response header\n\nadd X-Proxy-By:AnyProxy to the response header from http://httpbin.org/user-agent\n\nanyproxy --rule rule_sample/sample_modify_response_header.js\n\n/* \n sample: \n modify response header of http://httpbin.org/user-agent\n test:\n curl -I 'http://httpbin.org/user-agent' --proxy http://127.0.0.1:8001\n expected response:\n X-Proxy-By: AnyProxy\n*/\nmodule.exports = {\n *beforeSendResponse(requestDetail, responseDetail) {\n if (requestDetail.url.indexOf('http://httpbin.org/user-agent') === 0) {\n const newResponse = responseDetail.response;\n newResponse.header['X-Proxy-By'] = 'AnyProxy';\n return {\n response: newResponse\n };\n }\n }\n};\n\nmodify response data and delay\n\nappend some info to the response of http://httpbin.org/user-agent, then delay the response for 5 seconds.\n\nanyproxy --rule rule_sample/sample_modify_response_data.js\n\n/* \n sample: \n modify response data of http://httpbin.org/user-agent\n test:\n curl 'http://httpbin.org/user-agent' --proxy http://127.0.0.1:8001\n expected response:\n { \"user-agent\": \"curl/7.43.0\" } -- AnyProxy Hacked! --\n*/\n\nmodule.exports = {\n *beforeSendResponse(requestDetail, responseDetail) {\n if (requestDetail.url === 'http://httpbin.org/user-agent') {\n const newResponse = responseDetail.response;\n newResponse.body += '-- AnyProxy Hacked! --';\n return new Promise((resolve, reject) => {\n setTimeout(() => { // delay the response for 5s\n resolve({ response: newResponse });\n }, 5000);\n });\n }\n },\n};\n\nConfig Certification\nConfig root CA in OSX\n\nthis kind of errors is usually caused by untrusted root CA\n\n\n\nWarning: please keep your root CA safe since it may influence your system security.\n\ninstall :\n\ndouble click rootCA.crt\n\nadd cert into login or system\n\n\n\n\nfind the newly imported AnyProxy certificates, configured as Always Trust\n\n\nConfig root CA in windows\n\nConfig OSX system proxy\n\nthe config is in wifi - advanced\n\n\nconfig http proxy server\n\ntake Chrome extent [SwitchyOmega] as an example(https://chrome.google.com/webstore/detail/padekgcemlokbadohgkifijomclgjgif)为例\n\n\ntrust root CA in iOS\n\nClick Root CA in web ui, and follow the instruction to install\n\n\ntrust root CA in iOS after 10.3\n\nBesides installing root CA, you have to \"turn on\" the certificate for web manually in settings - general - about - Certificate Trust Settings. Otherwire, safari will not trust the root CA generated by AnyProxy.\n\ntrust root CA in Android\nFirst of all, you need to download the root CA by clicking Root CA in web ui, and then scan the QR code.\nInstalling CA in Android could be different based on the system, we list some common steps as below, but you can find the right way in you system with similar menu path.\n\nThe downloaded CA file can be directly installed by clicking, this is the easist way\nYou need to install the CA file from other menu, such as:\nSettings -> Security & Location > Encryption & credentials -> Install from storage, and find your CA file to install\nSettings -> Security -> Install from SD card, and find you CA file to install\n\n\n\n\nconfig iOS/Android proxy server\n\nproxy settings are placed in wifi setting\n\niOS\n\n\n\n\nAndroid\n\n\nFAQ\nQ: can not deal https request in rule module.\n\nA: Any of these options could be used to change the way AnyProxy deall https requests\nconfig --intercept when luanching AnyProxy via cli, or use forceProxyHttps when using as an npm module\nplace a beforeDealHttpsRequest function in your rule file and determine which request to intercept by your own.\n\n\n\nQ: get an error says function is not yieldable\n\nA: Rule module is driven by co. The functions inside should be yieldable, i.e. return a promise or be a generator function.\n\nQ: The connection is not private\nAnyProxy will propmt this message when the certification of the site you're visiting is not issued by a common known CA. This happens when the certification is self-signed. If you know and trust it, you can ignore the error as below.\n\nIf you run AnyProxy by command line\nPass in the option --ignore-unauthorized-ssl to ignore the certification errors, please mind that the option will be active for all connections.\nanyproxy -i --ignore-unauthorized-ssl\n\n\nIf you run AnyProxy by Nodejs\nPass in the option dangerouslyIgnoreUnauthorized:true, like this:\nconst options = {\n ...,\n dangerouslyIgnoreUnauthorized: true\n};\n\nconst anyproxyIns = new AnyProxy.ProxyCore(options);\nanyproxyIns.start();\n\nThis is also a global option, all certification errors will be ignored\n\nWith the help of AnyProxy Rule\nYou can change the request with rule of course. For this scenario, all you need is to pass in an option to Nodejs Http.rquest, as we do in AnyProxy. A simple demo below:\nmodule.exports = {\n *beforeSendRequest(requestDetail) {\n if (requestDetail.url.indexOf('https://the-site-you-know.com/') === 0) {\n const newRequestOptions = requestDetail.requestOptions;\n // set rejectUnauthorized as false\n newRequestOptions.rejectUnauthorized = false;\n return {\n requestOptions: newRequestOptions\n };\n }\n },\n};\n\nAnd we get a bonous here, AnyProxy will only ignore the errors for the site(s) we want it to!\n\n\n"}}} \ No newline at end of file +{"index":{"version":"0.5.12","fields":[{"name":"title","boost":10},{"name":"keywords","boost":15},{"name":"body","boost":1}],"ref":"url","documentStore":{"store":{"./":["\"content","\"curl/7.43.0\"","\"data\":","\"https\"","\"i","\"thi","\"turn","\"user","\"x","#gener","#global","#launch","#local","&","&&","'","'...'","'...',","'/',","'/index.html';","'/redirect/to/another/path';","'127.0.0.1'","'8001');","'8008';","';","'a","'anyproxy';","'anyproxy.io',","'anyproxy/0.0.0';","'application/json'","'cach","'close',","'content","'get',","'get';","'hello","'http',","'http';","'http://anyproxy.io/',","'http://httpbin.org/get?show_env=1'","'http://httpbin.org/us","'https'","'https',","'i","'image/gif',","'keep","'mi","'origin","'proxi","'rule","'text/html'","'thi","'user","'{\"hello\":","(!anyproxy.utils.certmgr.ifrootcafileexists())","(!error)","()","(e)","(iswin)","(requestdetail.url","(requestdetail.url.indexof('http://httpbin.org/')","(requestdetail.url.indexof('http://httpbin.org/post')","(requestdetail.url.indexof('http://httpbin.org/us","(requestdetail.url.indexof('https://httpbin.org/us","(requestdetail.url.indexof('https://th/","*/","*/}","*beforedealhttpsrequest(requestdetail)","*beforesendrequest(requestdetail)","*beforesendresponse(requestdetail,","*onconnecterror(requestdetail,","*onerror(requestdetail,","+=",",",".",".',","...","...,","./myrulepkg/","./rule.j",".cer",".crt","/*","//","//when","/^win/.test(process.platform);","0)","10.3","10000,","1080","127.0.0.1:8001","127.0.0.1:8001,","127.0.0.1:8001/index.html","1,write","2,","200,","3,","3.x:","4,","404","404;","443;","5","5000);","5s","80,","8001","8001,","8002","=","===","=>",">","[switchyomega]","_re","_req","_req:","_res:","a:","abil","abliti","activ","add","address","advanc","advance.","agent","agent\":","agent'","agent')","agent':","agent']","agent,","alive',","all,","alway","android","anyprox","anyproxi","anyproxy',","anyproxy,","anyproxy.","anyproxy.io,","anyproxy.proxycore(options);","anyproxy.proxyserv","anyproxy.proxyserver(options)","anyproxy.proxyserver(options);","anyproxy.utils.certmgr","anyproxy.utils.certmgr.generaterootca((error,","anyproxy.utils.certmgr.generaterootca(callback)","anyproxy.utils.certmgr.ifrootcafileexists()","anyproxy.utils.systemproxymgr","anyproxy.utils.systemproxymgr.disableglobalproxy();","anyproxy.utils.systemproxymgr.enableglobalproxy('127.0.0.1',","anyproxyin","anyproxyins.start();","append","appendix:how","apt","as:","at',","attack","attack.","automat","base","be","befor","beforedealhttpsrequest","beforedealhttpsrequest(requestdetail)","beforesendrequest","beforesendrequest(requestdetail)","beforesendrespons","beforesendresponse(requestdetail,","below,","below.","below:","besid","bodi","body,","body:","bonou","browser","browser.","by']","by:","by:anyproxi","ca","ca,","ca.","call","card,","caus","cert","certdir","certdir);","certif","certificate.","certificates,","certificates.","certifyc","chang","chart","choos","chrome","class:","cli,","cli.","click","clicking,","client","client,","close","co","co.","code","code,","code.","collect","command","common","compat","config","config.","configur","connect","connection':","connection:","connections.","console,","console.error('error","console.log('th","const","content","content,","control':","couldn't","course.","creat","credenti","curl","curl:","custom","cwd:","d","dangerouslyignoreunauthor","dangerouslyignoreunauthorized:","dangerouslyignoreunauthorized:true,","data","data\"","data'","data',","deal","dealed.","deall","debian","decrypt","default","default.","defin","delay","demo","design","detect","determin","differ","directli","disabl","dn","doubl","download","driven","due","dure","e.g.","easist","edit","emit","enabl","enable:","encrypt","end","entir","error","error)","error);","errors,","event:","example(https://chrome.google.com/webstore/detail/padekgcemlokbadohgkifijomclgjgif)为例","except","exec","exec('open","exec('start","exist","expect","extens","extent","face","fail","failure,","fals","false,","false;","faq","feature,","features:","few","field","file","file,","file.","file:","find","finish","first","flow","follow","follows.","forc","forceproxyhttp","forceproxyhttps:","forward","found","frequent","full","fulli","function","function()","function.","g","gener","get","github:","give","global","go,","gui","guid","h","hack","hacked!","hacked!';","handl","handling.","happen","header","header,","header:","headers:","headersar","help","here","here,","here.","hood,","host","host:","hostname:","http","http.rquest,","http/1.1","http/http","http://....j/","http://127.0.0.1:8001/","http://127.0.0.1:8002/","http://127.0.0.1:8002,","http://httpbin.org/","http://httpbin.org/","http://httpbin.org/post","http://httpbin.org/us","http://localhost:8008/index.html","httpbin.org","httpbin.org,","https://github.com/alibaba/anyproxi","https://httpbin.org/us","https://nodejs.org/api/http.html#http_http_request_options_callback","https://sample.com/rule.j","i.e.","ignor","import","in.","includ","influenc","info","info,","insid","instal","installing.","instruct","intercept","interest","interfac","interface,","introduct","invok","io","ios/android","issu","iswin","it,","it.","javascript.","js","kb/s,","keep","keypath)","kind","know","know.com')","known","launch","launching,","legaci","line","line,","list","load","local","localrespons","locat","log","logic","login","longer.","luanch","make","man","manag","manual","menu","menu,","messag","method","method,","method:","middl","mind","modifi","modul","module,","module.","module.export","myrulepkg","nativ","need","network.","new","newli","newopt","newoption.path","newoption.port","newrequestopt","newrequestoptions.headers['us","newrequestoptions.hostnam","newrequestoptions.method","newrequestoptions.path","newrequestoptions.port","newrequestoptions.rejectunauthor","newrespons","newresponse.bodi","newresponse.header['x","newresponse.statuscod","node.j","nodej","nodejs.","nothing,","now","npm","null","null;","number","object","object.","object.assign({},","offer","on","on\"","on,","onconnecterror","onconnecterror(requestdetail,","one.","onerror","onerror(requestdetail,","onlin","oppo","option","option,","optional,","osx","otherwire,","otherwise,","own.","page","param","part","pass","password","path.","path:","phones.","place","pleas","point","popular,","port","port:","post","privat","process","promis","promise((resolve,","propmt","protocol","protocol\":","protocol,","protocol:","protocol,i.e.","provid","proxi","proxy.close();","proxy.on('error',","proxy.on('ready',","proxy.start();","proxyserv","proxyserver.close();","proxyserver.on('error',","proxyserver.on('ready',","proxyserver.start();","q:","qr","quest","r15.","read","readi","receiv","record","redirect","ref:","refer","reject)","rejectunauthor","replac","request","request,","request.","requestdata","requestdata:","requestdetail","requestdetail.protocol","requestdetail.requestoptions);","requestdetail.requestoptions;","requestdetail;","requesting,","requestopt","requestoptions:","requests,","requests.","requir","require('anyproxy');","require('child_process').exec;","require('http').request","require('myrulemodule'),","require('path').dirname(keypath);","require()","required,","resolve({","respons","response\"}'","response',","response:","responsedetail","responsedetail)","responsedetail.response);","responsedetail.response;","return","right","risk.","root","rootca","rootca',","rootca.crt","rule","rule:","rule_sample/sample_modify_request_data.j","rule_sample/sample_modify_request_header.j","rule_sample/sample_modify_request_path.j","rule_sample/sample_modify_request_protocol.j","rule_sample/sample_modify_response_data.j","rule_sample/sample_modify_response_header.j","rule_sample/sample_modify_response_statuscode.j","rule_sample/sample_use_local_response.j","run","safari","safe","same","sampl","sample.j","sample:","save","scan","scenario,","sd","second","seconds.","secur","security.","see","self","send","sent","server","server,","server.","set","settimeout(()","settings.","sever","side","signed.","silent","silent:","similar","simpl","simplifi","site","site(s)","situation.","skip","someth","source.","specifi","ssl","start","statu","statuscod","statuscode:","step","storage,","stuff:","such","sudo","summari","summary,","summary:","support","sure","system","system,","take","target","tell","test","test:","text","text/plain\"","that.","this:","throttl","throttle:","time","timeout","tip","to!","toward","traffic","tri","true","true,","true;","trust","turn","type","type':","type:","typic","ubuntu","ui,","unauthor","under","unknown","unlimit","unsecur","untrust","url","url:","us","use,","user","user.","users,","usual","valid","valu","var","via","view","visit","want","warning:","way","web","webinterfac","webinterface:","webport","webport:","websocket","websocket,","whether","wifi","window","without","work","world'","write","written","ws","wsintercept","wsintercept:","wss","x","yieldabl","yieldable,","you'r","{","{boolean}","{number}","{object}","{string}","}","})","});","},","};","中文文档",":"]},"length":1},"tokenStore":{"root":{"0":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.003589053387169134}}}},"1":{"0":{"0":{"0":{"0":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"docs":{}},"docs":{}},"8":{"0":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"docs":{}},"docs":{},".":{"3":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"信":{"docs":{},"任":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"docs":{}}},"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"1":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}},",":{"docs":{},"访":{"docs":{},"问":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},",":{"docs":{},"编":{"docs":{},"写":{"docs":{},"规":{"docs":{},"则":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"2":{"0":{"0":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}}}},"docs":{}},"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},".":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"3":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},".":{"docs":{},"x":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"4":{"0":{"4":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},";":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}},"docs":{}},"4":{"3":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"docs":{}},"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},".":{"0":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"变":{"docs":{},"化":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},",":{"docs":{},"欢":{"docs":{},"迎":{"docs":{},"提":{"docs":{},"供":{"docs":{},"反":{"docs":{},"馈":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}},"docs":{}}},"5":{"0":{"0":{"0":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"docs":{}},"docs":{}},"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"s":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"8":{"0":{"0":{"1":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"2":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"docs":{}},"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"docs":{}},"docs":{},"\"":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"/":{"7":{"docs":{},".":{"4":{"3":{"docs":{},".":{"0":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"\"":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"i":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}},"x":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"#":{"docs":{},"全":{"docs":{},"局":{"docs":{},"包":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"启":{"docs":{},"动":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},",":{"docs":{},"并":{"docs":{},"解":{"docs":{},"析":{"docs":{},"所":{"docs":{},"有":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"地":{"docs":{},"包":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"生":{"docs":{},"成":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"后":{"docs":{},"需":{"docs":{},"要":{"docs":{},"手":{"docs":{},"动":{"docs":{},"信":{"docs":{},"任":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"&":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"&":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"'":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"8":{"0":{"0":{"1":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"8":{"docs":{},"'":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{"./":{"ref":"./","tf":0.0022431583669807087}},".":{"docs":{},".":{"docs":{},".":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"/":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"'":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"/":{"docs":{},"t":{"docs":{},"o":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"'":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}},"a":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"'":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}},"/":{"0":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},"'":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"?":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},"=":{"1":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"docs":{}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"i":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"f":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"m":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}}}}},"h":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"{":{"docs":{},"\"":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"\"":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}},"(":{"docs":{},"!":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},".":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"m":{"docs":{},"g":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},")":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"e":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"i":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},".":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"'":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"'":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}}}},"/":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"'":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"*":{"docs":{},"/":{"docs":{"./":{"ref":"./","tf":0.007178106774338268}},"}":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0031404217137729925}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"*":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},"+":{"docs":{},"=":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}},".":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}},".":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0031404217137729925}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"/":{"docs":{},"m":{"docs":{},"y":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"p":{"docs":{},"k":{"docs":{},"g":{"docs":{},"/":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"/":{"docs":{},"*":{"docs":{"./":{"ref":"./","tf":0.00762673844773441}}},"/":{"docs":{"./":{"ref":"./","tf":0.006280843427545985}},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"这":{"docs":{},"里":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"同":{"docs":{},"时":{"docs":{},"加":{"docs":{},"上":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}},"^":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},".":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},".":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{"./":{"ref":"./","tf":0.020188425302826378}},"=":{"docs":{},"=":{"docs":{"./":{"ref":"./","tf":0.004486316733961417}}}},">":{"docs":{"./":{"ref":"./","tf":0.0031404217137729925}}}},">":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}},"=":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"关":{"docs":{},"于":{"docs":{},"本":{"docs":{},"机":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"证":{"docs":{},"书":{"docs":{},"信":{"docs":{},"任":{"docs":{},"设":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},"通":{"docs":{},"用":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"q":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"a":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.005383580080753701}},"\"":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}},"'":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},")":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}}},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"]":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},",":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}}}}}}},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"i":{"docs":{"./":{"ref":"./","tf":0.03230148048452221}}},"y":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},".":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"i":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}},",":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"m":{"docs":{},"g":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"(":{"docs":{},"(":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"m":{"docs":{},"g":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"(":{"docs":{},"'":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"s":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"加":{"docs":{},"载":{"docs":{},"本":{"docs":{},"地":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"参":{"docs":{},"数":{"docs":{},"里":{"docs":{},"传":{"docs":{},"入":{"docs":{},"一":{"docs":{},"个":{"docs":{},"本":{"docs":{},"地":{"docs":{},"的":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"包":{"docs":{},"路":{"docs":{},"径":{"docs":{},",":{"docs":{},"或":{"docs":{},"是":{"docs":{},"某":{"docs":{},"个":{"docs":{},"全":{"docs":{},"局":{"docs":{},"安":{"docs":{},"装":{"docs":{},"的":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"包":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"作":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"模":{"docs":{},"块":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"整":{"docs":{},"合":{"docs":{},"进":{"docs":{},"其":{"docs":{},"他":{"docs":{},"工":{"docs":{},"具":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}},"向":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"送":{"docs":{},"请":{"docs":{},"求":{"docs":{},"前":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"并":{"docs":{},"带":{"docs":{},"上":{"docs":{},"参":{"docs":{},"数":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"发":{"docs":{},"送":{"docs":{},"请":{"docs":{},"求":{"docs":{},"前":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{},"并":{"docs":{},"带":{"docs":{},"上":{"docs":{},"参":{"docs":{},"数":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"与":{"docs":{},"目":{"docs":{},"标":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"发":{"docs":{},"生":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"二":{"docs":{},"次":{"docs":{},"开":{"docs":{},"发":{"docs":{},"的":{"docs":{},"能":{"docs":{},"力":{"docs":{},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"j":{"docs":{},"s":{"docs":{},"编":{"docs":{},"写":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"(":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{},"来":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"收":{"docs":{},"到":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{},"并":{"docs":{},"带":{"docs":{},"上":{"docs":{},"参":{"docs":{},"数":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"开":{"docs":{},"放":{"docs":{},"式":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"由":{"docs":{},"模":{"docs":{},"块":{"docs":{},"做":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"新":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"或":{"docs":{},"返":{"docs":{},"回":{"docs":{},"响":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"不":{"docs":{},"对":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"做":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"如":{"docs":{},"需":{"docs":{},"看":{"docs":{},"到":{"docs":{},"明":{"docs":{},"文":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"配":{"docs":{},"置":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"i":{"docs":{},"x":{"docs":{},":":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}},"t":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},")":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"提":{"docs":{},"前":{"docs":{},"信":{"docs":{},"任":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"b":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"d":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"e":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"b":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0026917900403768506}},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0026917900403768506}},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},"e":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"o":{"docs":{},"d":{"docs":{},"y":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}}},"三":{"docs":{},"个":{"docs":{},"字":{"docs":{},"段":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"等":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},")":{"docs":{},",":{"docs":{},"甚":{"docs":{},"至":{"docs":{},"是":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"目":{"docs":{},"标":{"docs":{},"地":{"docs":{},"址":{"docs":{},"等":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"i":{"docs":{"./":{"ref":"./","tf":0.0031404217137729925}}}},"n":{"docs":{},"o":{"docs":{},"u":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"y":{"docs":{},"'":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}},"c":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.01031852848811126}},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},",":{"docs":{},"按":{"docs":{},"提":{"docs":{},"示":{"docs":{},"扫":{"docs":{},"描":{"docs":{},"二":{"docs":{},"维":{"docs":{},"码":{"docs":{},"即":{"docs":{},"可":{"docs":{},"安":{"docs":{},"装":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},".":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}},"l":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.004037685060565276}}}},"r":{"docs":{},"d":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"i":{"docs":{},"f":{"docs":{"./":{"ref":"./","tf":0.005383580080753701}},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"s":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"y":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"i":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"c":{"docs":{},"k":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}},",":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}},"o":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"d":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}},")":{"docs":{},"、":{"docs":{},"响":{"docs":{},"应":{"docs":{},"头":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"s":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"'":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"(":{"docs":{},"'":{"docs":{},"t":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"t":{"docs":{"./":{"ref":"./","tf":0.008524001794526694}}}},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"'":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.00493494840735756}},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"u":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"o":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.005383580080753701}},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}}}}},"w":{"docs":{},"d":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"o":{"docs":{},"o":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}},"d":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"s":{"docs":{},"l":{"docs":{},"y":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.0026917900403768506}},"\"":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"'":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}}}}},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0026917900403768506}},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"l":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"b":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"c":{"docs":{},"r":{"docs":{},"y":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}}}}},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.003589053387169134}},".":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"m":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"o":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}}},"i":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"n":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}},"u":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"r":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"c":{"docs":{},"r":{"docs":{},"y":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"d":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"t":{"docs":{},"i":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.006729475100942127}},")":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"s":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"(":{"docs":{},"'":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0031404217137729925}}}}}},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"k":{"docs":{},"g":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"l":{"docs":{},"o":{"docs":{},"k":{"docs":{},"b":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"h":{"docs":{},"g":{"docs":{},"k":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"j":{"docs":{},"o":{"docs":{},"m":{"docs":{},"c":{"docs":{},"l":{"docs":{},"g":{"docs":{},"j":{"docs":{},"g":{"docs":{},"i":{"docs":{},"f":{"docs":{},")":{"docs":{},"为":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},".":{"docs":{},"g":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}}},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.003589053387169134}},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"q":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"c":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.006280843427545985}},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},",":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"d":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}}}},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}}},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}},"s":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0026917900403768506}},"(":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}},".":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}}},"l":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"i":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"w":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}},"g":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.004486316733961417}}}}},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"主":{"docs":{},"页":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"v":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}}}}},"o":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"u":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"d":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"h":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"e":{"docs":{},"d":{"docs":{},"!":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},"'":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}}}}}}},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}},")":{"docs":{},",":{"docs":{},"请":{"docs":{},"求":{"docs":{},"体":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}},":":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}}},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"a":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},")":{"docs":{},"、":{"docs":{},"响":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{},"等":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},"l":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"r":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"o":{"docs":{},"d":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.014804845222072678}},"/":{"1":{"docs":{},".":{"1":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"docs":{}}},"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},":":{"docs":{},"/":{"docs":{},"/":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"1":{"docs":{"./":{"ref":"./","tf":0.004486316733961417}}},"2":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},"/":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}}}},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.004486316733961417}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"8":{"0":{"0":{"8":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"j":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"#":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"连":{"docs":{},"接":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"出":{"docs":{},"错":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}},"代":{"docs":{},"理":{"docs":{},"配":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}}},"的":{"docs":{},"代":{"docs":{},"理":{"docs":{},"模":{"docs":{},"式":{"docs":{},"中":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"是":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"r":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0031404217137729925}}}}}},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.008075370121130552}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"i":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.008972633467922835}},"`":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"按":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"模":{"docs":{},"块":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"配":{"docs":{},"置":{"docs":{},"`":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"`":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"都":{"docs":{},"会":{"docs":{},"被":{"docs":{},"替":{"docs":{},"换":{"docs":{},"证":{"docs":{},"书":{"docs":{},"并":{"docs":{},"解":{"docs":{},"析":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"后":{"docs":{},"才":{"docs":{},"会":{"docs":{},"从":{"docs":{},"界":{"docs":{},"面":{"docs":{},"上":{"docs":{},"看":{"docs":{},"到":{"docs":{},"相":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":10.001345895020188}}}}}}}}},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"o":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},",":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"o":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},"s":{"docs":{},"系":{"docs":{},"统":{"docs":{},"信":{"docs":{},"任":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"s":{"docs":{},"u":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}}},".":{"docs":{},"e":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"t":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},".":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"e":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"'":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"n":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"b":{"docs":{},"/":{"docs":{},"s":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0026917900403768506}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}}}},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"a":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}}}},"g":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"i":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"n":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"u":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}},":":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"n":{"docs":{},"u":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"e":{"docs":{},")":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"必":{"docs":{},"须":{"docs":{},"信":{"docs":{},"任":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"才":{"docs":{},"能":{"docs":{},"进":{"docs":{},"行":{"docs":{},"后":{"docs":{},"续":{"docs":{},"流":{"docs":{},"程":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.012113055181695828}}}}},"u":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.008972633467922835}},"e":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00493494840735756}}}}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"y":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"p":{"docs":{},"k":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}}}},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"n":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"a":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.0031404217137729925}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"[":{"docs":{},"'":{"docs":{},"u":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"r":{"docs":{},"e":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.005383580080753701}},"e":{"docs":{},".":{"docs":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"[":{"docs":{},"'":{"docs":{},"x":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"e":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0026917900403768506}}}},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}},"s":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}}}}}},"w":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"p":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.003589053387169134}}}},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},";":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}}},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"(":{"docs":{},"{":{"docs":{},"}":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}}}}}}}}}}}}}}}},"n":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"\"":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.004486316733961417}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"a":{"docs":{},"l":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}},"s":{"docs":{},"x":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"系":{"docs":{},"统":{"docs":{},"信":{"docs":{},"任":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"w":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"s":{"docs":{},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}}}}}}}}},"w":{"docs":{},"n":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"g":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.0031404217137729925}}}},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"s":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0026917900403768506}},":":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0026917900403768506}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"p":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},"e":{"docs":{},"(":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},"\"":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},":":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},",":{"docs":{},"i":{"docs":{},".":{"docs":{},"e":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.016150740242261104}}},"y":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"'":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"y":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"'":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"y":{"docs":{},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}},"p":{"docs":{},"m":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}}}}},"q":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"r":{"1":{"5":{"docs":{},")":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"docs":{}},"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"i":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}},"f":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.02332884701659937}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},":":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}}}},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.004037685060565276}},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},";":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}}}}}}}}}}}}}}}}}},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}}}}}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.0026917900403768506}}},".":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"s":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"i":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},"e":{"docs":{},"(":{"docs":{},"'":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"y":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}},")":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"d":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"{":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.014804845222072678}},"e":{"docs":{},"\"":{"docs":{},"}":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},":":{"docs":{"./":{"ref":"./","tf":0.007178106774338268}}},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},")":{"docs":{"./":{"ref":"./","tf":0.0026917900403768506}}},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}},";":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.016150740242261104}}}}}},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.005832211754149843}},"c":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"'":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},".":{"docs":{},"c":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.021085688649618663}},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"_":{"docs":{},"s":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"/":{"docs":{},"s":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"口":{"docs":{},"文":{"docs":{},"档":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"样":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"模":{"docs":{},"块":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"n":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"s":{"docs":{},"k":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"s":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00493494840735756}},"e":{"docs":{},".":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}},":":{"docs":{"./":{"ref":"./","tf":0.003589053387169134}}}}}},"e":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}}}},"v":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}},"f":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"e":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0031404217137729925}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"s":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"u":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"e":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"l":{"docs":{},"f":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.004486316733961417}}},"t":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.008075370121130552}},",":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"t":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"(":{"docs":{},"s":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"u":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}},"d":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"g":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"p":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"s":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}}}},"t":{"docs":{},"u":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}}}}}}}}}}},"e":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"u":{"docs":{},"f":{"docs":{},"f":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"u":{"docs":{},"d":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}},"y":{"docs":{},"(":{"docs":{},")":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},":":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"c":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"r":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}},"d":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"k":{"docs":{},"i":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.0031404217137729925}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},":":{"docs":{"./":{"ref":"./","tf":0.003589053387169134}}}}},"x":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"/":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"a":{"docs":{},"t":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"i":{"docs":{},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"o":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0026917900403768506}}}}}},"!":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},",":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}},";":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"或":{"docs":{},"者":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"替":{"docs":{},"换":{"docs":{},"证":{"docs":{},"书":{"docs":{},"并":{"docs":{},"解":{"docs":{},"析":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.005383580080753701}},")":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}},"i":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"'":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}}}},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"i":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0031404217137729925}}}}}}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"p":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"u":{"docs":{},"i":{"docs":{},"中":{"docs":{},"的":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},",":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}},"n":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}},"k":{"docs":{},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"l":{"docs":{},"i":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"s":{"docs":{"./":{"ref":"./","tf":0.009421265141318977}},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"s":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"u":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}},"u":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}}}}},"i":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}},"e":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.001794526693584567}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{"./":{"ref":"./","tf":0.0031404217137729925}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"版":{"docs":{},"界":{"docs":{},"面":{"docs":{},"端":{"docs":{},"口":{"docs":{},"号":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"8":{"0":{"0":{"2":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}},"配":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"重":{"docs":{},"构":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"s":{"docs":{},"系":{"docs":{},"统":{"docs":{},"信":{"docs":{},"任":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"o":{"docs":{},"r":{"docs":{},"l":{"docs":{},"d":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"k":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}},"s":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}},"s":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"r":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}},"y":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}},"h":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}},"x":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}},"y":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"'":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}},"{":{"docs":{"./":{"ref":"./","tf":0.03947958725886048}},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.0022431583669807087}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.003589053387169134}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.0013458950201884253}}}}}}}}}},"|":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"}":{"docs":{"./":{"ref":"./","tf":0.013458950201884253}},")":{"docs":{"./":{"ref":"./","tf":0.0008972633467922835}},";":{"docs":{"./":{"ref":"./","tf":0.004037685060565276}}}},",":{"docs":{"./":{"ref":"./","tf":0.008972633467922835}}},";":{"docs":{"./":{"ref":"./","tf":0.01256168685509197}}}},"下":{"docs":{},"载":{"docs":{},"后":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"单":{"docs":{},"击":{"docs":{},"打":{"docs":{},"开":{"docs":{},"并":{"docs":{},"安":{"docs":{},"装":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"是":{"docs":{},"最":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"安":{"docs":{},"装":{"docs":{},"即":{"docs":{},"可":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"做":{"docs":{},"任":{"docs":{},"何":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{},"此":{"docs":{},"时":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"错":{"docs":{},"误":{"docs":{},"页":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}}}}}}}}}}},"同":{"docs":{},"安":{"docs":{},"卓":{"docs":{},"系":{"docs":{},"统":{"docs":{},"支":{"docs":{},"持":{"docs":{},"安":{"docs":{},"装":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"文":{"docs":{},"件":{"docs":{},"类":{"docs":{},"型":{"docs":{},"不":{"docs":{},"尽":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"大":{"docs":{},"多":{"docs":{},"支":{"docs":{},"持":{"docs":{},"安":{"docs":{},"装":{"docs":{},"拓":{"docs":{},"展":{"docs":{},"名":{"docs":{},"为":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"启":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"代":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}},"中":{"docs":{},"把":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"开":{"docs":{},"关":{"docs":{},"打":{"docs":{},"开":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"s":{"docs":{},"a":{"docs":{},"f":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"将":{"docs":{},"报":{"docs":{},"错":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"文":{"docs":{},"档":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}},"为":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"什":{"docs":{},"么":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"不":{"docs":{},"能":{"docs":{},"进":{"docs":{},"入":{"docs":{},"处":{"docs":{},"理":{"docs":{},"函":{"docs":{},"数":{"docs":{},"?":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"要":{"docs":{},"特":{"docs":{},"性":{"docs":{},"包":{"docs":{},"括":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"举":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},",":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},":":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"从":{"docs":{},"s":{"docs":{},"d":{"docs":{},"卡":{"docs":{},"安":{"docs":{},"装":{"docs":{},"证":{"docs":{},"书":{"docs":{},"。":{"docs":{},"找":{"docs":{},"到":{"docs":{},"你":{"docs":{},"下":{"docs":{},"载":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"安":{"docs":{},"装":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}},"存":{"docs":{},"储":{"docs":{},"设":{"docs":{},"备":{"docs":{},"安":{"docs":{},"装":{"docs":{},"。":{"docs":{},"找":{"docs":{},"到":{"docs":{},"你":{"docs":{},"下":{"docs":{},"载":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"安":{"docs":{},"装":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"理":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"发":{"docs":{},"生":{"docs":{},"错":{"docs":{},"误":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"启":{"docs":{},"动":{"docs":{},"完":{"docs":{},"成":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"都":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"设":{"docs":{},"置":{"docs":{},"中":{"docs":{},"配":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}},"以":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"的":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"y":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"插":{"docs":{},"件":{"docs":{},"为":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"任":{"docs":{},"意":{"docs":{},"一":{"docs":{},"项":{"docs":{},"都":{"docs":{},"能":{"docs":{},"用":{"docs":{},"来":{"docs":{},"改":{"docs":{},"变":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"特":{"docs":{},"性":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}},"几":{"docs":{},"种":{"docs":{},"返":{"docs":{},"回":{"docs":{},"都":{"docs":{},"是":{"docs":{},"合":{"docs":{},"法":{"docs":{},"的":{"docs":{"./":{"ref":"./","tf":0.002210759027266028}}}}}}}}}}}}},"作":{"docs":{},"为":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"模":{"docs":{},"块":{"docs":{},"使":{"docs":{},"用":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"全":{"docs":{},"局":{"docs":{},"模":{"docs":{},"块":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"使":{"docs":{},"用":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"包":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"举":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"在":{"docs":{},"线":{"docs":{},"地":{"docs":{},"址":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"本":{"docs":{},"地":{"docs":{},"数":{"docs":{},"据":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"路":{"docs":{},"径":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"修":{"docs":{},"改":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}},"请":{"docs":{},"求":{"docs":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"协":{"docs":{},"议":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},",":{"docs":{},"如":{"docs":{},"强":{"docs":{},"制":{"docs":{},"改":{"docs":{},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"发":{"docs":{},"起":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}},"参":{"docs":{},"数":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"头":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"数":{"docs":{},"据":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"的":{"docs":{},"目":{"docs":{},"标":{"docs":{},"地":{"docs":{},"址":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"内":{"docs":{},"容":{"docs":{},"并":{"docs":{},"延":{"docs":{},"迟":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"头":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"状":{"docs":{},"态":{"docs":{},"码":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"状":{"docs":{},"态":{"docs":{},"码":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}},"关":{"docs":{},"闭":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"全":{"docs":{},"局":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}},"其":{"docs":{},"他":{"docs":{},"命":{"docs":{},"令":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"创":{"docs":{},"建":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"加":{"docs":{},"密":{"docs":{},"与":{"docs":{},"凭":{"docs":{},"据":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"即":{"docs":{},"将":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"供":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"'":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"作":{"docs":{},"为":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{},"详":{"docs":{},"见":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"j":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"#":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"原":{"docs":{},"始":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"返":{"docs":{},"回":{"docs":{},"对":{"docs":{},"象":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}},"双":{"docs":{},"击":{"docs":{},"打":{"docs":{},"开":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},".":{"docs":{},"c":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}},"发":{"docs":{},"送":{"docs":{},"响":{"docs":{},"应":{"docs":{},"前":{"docs":{},"处":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"请":{"docs":{},"求":{"docs":{},"前":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"处":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}},"只":{"docs":{},"有":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"时":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"才":{"docs":{},"会":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"替":{"docs":{},"换":{"docs":{},"证":{"docs":{},"书":{"docs":{},"、":{"docs":{},"解":{"docs":{},"析":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"。":{"docs":{},"否":{"docs":{},"则":{"docs":{},"只":{"docs":{},"做":{"docs":{},"数":{"docs":{},"据":{"docs":{},"流":{"docs":{},"转":{"docs":{},"发":{"docs":{},",":{"docs":{},"无":{"docs":{},"法":{"docs":{},"看":{"docs":{},"到":{"docs":{},"明":{"docs":{},"文":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"普":{"docs":{},"通":{"docs":{},"的":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}},"修":{"docs":{},"改":{"docs":{},"内":{"docs":{},"容":{"docs":{},"包":{"docs":{},"括":{"docs":{},"请":{"docs":{},"求":{"docs":{},"头":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"包":{"docs":{},"括":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"状":{"docs":{},"态":{"docs":{},"码":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}},"同":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},",":{"docs":{},"加":{"docs":{},"载":{"docs":{},"规":{"docs":{},"则":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"后":{"docs":{},"将":{"docs":{},"终":{"docs":{},"端":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"配":{"docs":{},"置":{"docs":{},"为":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"1":{"docs":{},"即":{"docs":{},"可":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"启":{"docs":{},"动":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"时":{"docs":{},"配":{"docs":{},"置":{"docs":{},"`":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"端":{"docs":{},"口":{"docs":{},"号":{"8":{"0":{"0":{"1":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"启":{"docs":{},"动":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"在":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"j":{"docs":{},"s":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"启":{"docs":{},"动":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"高":{"docs":{},"级":{"docs":{},"设":{"docs":{},"置":{"docs":{},"中":{"docs":{},",":{"docs":{},"配":{"docs":{},"置":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"代":{"docs":{},"理":{"docs":{},"即":{"docs":{},"可":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}},"构":{"docs":{},"造":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"传":{"docs":{},"入":{"docs":{},"参":{"docs":{},"数":{"docs":{},"d":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"s":{"docs":{},"l":{"docs":{},"y":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"请":{"docs":{},"求":{"docs":{},"处":{"docs":{},"理":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"发":{"docs":{},"生":{"docs":{},"错":{"docs":{},"误":{"docs":{},"时":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"并":{"docs":{},"提":{"docs":{},"供":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"错":{"docs":{},"误":{"docs":{},"信":{"docs":{},"息":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"基":{"docs":{},"于":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},",":{"docs":{},"开":{"docs":{},"放":{"docs":{},"二":{"docs":{},"次":{"docs":{},"开":{"docs":{},"发":{"docs":{},"能":{"docs":{},"力":{"docs":{},",":{"docs":{},"允":{"docs":{},"许":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"请":{"docs":{},"求":{"docs":{},"处":{"docs":{},"理":{"docs":{},"逻":{"docs":{},"辑":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"流":{"docs":{},"程":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"图":{"docs":{},"如":{"docs":{},"下":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"多":{"docs":{},"数":{"docs":{},"场":{"docs":{},"景":{"docs":{},"下":{"docs":{},",":{"docs":{},"错":{"docs":{},"误":{"docs":{},"会":{"docs":{},"在":{"docs":{},"请":{"docs":{},"求":{"docs":{},"目":{"docs":{},"标":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"发":{"docs":{},"生":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"解":{"docs":{},"析":{"docs":{},"失":{"docs":{},"败":{"docs":{},"、":{"docs":{},"请":{"docs":{},"求":{"docs":{},"超":{"docs":{},"时":{"docs":{},"等":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"下":{"docs":{},"几":{"docs":{},"种":{"docs":{},"方":{"docs":{},"案":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"来":{"docs":{},"引":{"docs":{},"用":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"何":{"docs":{},"引":{"docs":{},"用":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"果":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"返":{"docs":{},"回":{"docs":{},"了":{"docs":{},"响":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"则":{"docs":{},"立":{"docs":{},"即":{"docs":{},"把":{"docs":{},"此":{"docs":{},"响":{"docs":{},"应":{"docs":{},"返":{"docs":{},"回":{"docs":{},"到":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"(":{"docs":{},"而":{"docs":{},"不":{"docs":{},"再":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},")":{"docs":{},",":{"docs":{},"流":{"docs":{},"程":{"docs":{},"结":{"docs":{},"束":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{},"了":{"docs":{},"全":{"docs":{},"局":{"docs":{},"解":{"docs":{},"析":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"则":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"会":{"docs":{},"略":{"docs":{},"过":{"docs":{},"这":{"docs":{},"个":{"docs":{},"调":{"docs":{},"用":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"启":{"docs":{},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"解":{"docs":{},"析":{"docs":{},",":{"docs":{},"请":{"docs":{},"在":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"启":{"docs":{},"动":{"docs":{},"前":{"docs":{},"自":{"docs":{},"行":{"docs":{},"调":{"docs":{},"用":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},".":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"m":{"docs":{},"g":{"docs":{},"r":{"docs":{},"相":{"docs":{},"关":{"docs":{},"方":{"docs":{},"法":{"docs":{},"生":{"docs":{},"成":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"并":{"docs":{},"引":{"docs":{},"导":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"任":{"docs":{},"安":{"docs":{},"装":{"docs":{},"。":{"docs":{},"或":{"docs":{},"引":{"docs":{},"导":{"docs":{},"用":{"docs":{},"户":{"docs":{},"使":{"docs":{},"用":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"安":{"docs":{},"全":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"性":{"docs":{},"与":{"docs":{},"位":{"docs":{},"置":{"docs":{},"信":{"docs":{},"息":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"卓":{"docs":{},"系":{"docs":{},"统":{"docs":{},"信":{"docs":{},"任":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}},"装":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"c":{"docs":{},"a":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"对":{"docs":{},"于":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"或":{"docs":{},"者":{"docs":{},"u":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"u":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"在":{"docs":{},"安":{"docs":{},"装":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"安":{"docs":{},"装":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{},"示":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"引":{"docs":{},"入":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"当":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"请":{"docs":{},"求":{"docs":{},"经":{"docs":{},"过":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"时":{"docs":{},",":{"docs":{},"具":{"docs":{},"体":{"docs":{},"处":{"docs":{},"理":{"docs":{},"过":{"docs":{},"程":{"docs":{},"是":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"收":{"docs":{},"到":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"时":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"可":{"docs":{},"以":{"docs":{},"替":{"docs":{},"换":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"对":{"docs":{},"请":{"docs":{},"求":{"docs":{},"做":{"docs":{},"明":{"docs":{},"文":{"docs":{},"解":{"docs":{},"析":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"代":{"docs":{},"理":{"docs":{},"时":{"docs":{},",":{"docs":{},"w":{"docs":{},"s":{"docs":{},"s":{"docs":{},"也":{"docs":{},"会":{"docs":{},"被":{"docs":{},"代":{"docs":{},"理":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"记":{"docs":{},"录":{"docs":{},"。":{"docs":{},"需":{"docs":{},"要":{"docs":{},"开":{"docs":{},"启":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"访":{"docs":{},"问":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"站":{"docs":{},"点":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"会":{"docs":{},"提":{"docs":{},"示":{"docs":{},"该":{"docs":{},"站":{"docs":{},"点":{"docs":{},"不":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"安":{"docs":{},"全":{"docs":{},"的":{"docs":{},"网":{"docs":{},"站":{"docs":{},",":{"docs":{},"这":{"docs":{},"通":{"docs":{},"常":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"站":{"docs":{},"点":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"设":{"docs":{},"置":{"docs":{},"不":{"docs":{},"能":{"docs":{},"被":{"docs":{},"正":{"docs":{},"确":{"docs":{},"识":{"docs":{},"别":{"docs":{},"导":{"docs":{},"致":{"docs":{},"的":{"docs":{},"(":{"docs":{},"比":{"docs":{},"如":{"docs":{},",":{"docs":{},"站":{"docs":{},"点":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"是":{"docs":{},"自":{"docs":{},"签":{"docs":{},"发":{"docs":{},"的":{"docs":{},")":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"信":{"docs":{},"任":{"docs":{},"该":{"docs":{},"网":{"docs":{},"站":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"以":{"docs":{},"下":{"docs":{},"方":{"docs":{},"式":{"docs":{},"来":{"docs":{},"继":{"docs":{},"续":{"docs":{},"访":{"docs":{},"问":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"必":{"docs":{},"选":{"docs":{},",":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"端":{"docs":{},"口":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}},"快":{"docs":{},"速":{"docs":{},"开":{"docs":{},"始":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"我":{"docs":{},"们":{"docs":{},"自":{"docs":{},"然":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"借":{"docs":{},"助":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"个":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"我":{"docs":{},"们":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"控":{"docs":{},"制":{"docs":{},"到":{"docs":{},"只":{"docs":{},"允":{"docs":{},"许":{"docs":{},"指":{"docs":{},"定":{"docs":{},"网":{"docs":{},"址":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{},"对":{"docs":{},"不":{"docs":{},"在":{"docs":{},"列":{"docs":{},"表":{"docs":{},"的":{"docs":{},"网":{"docs":{},"址":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"强":{"docs":{},"验":{"docs":{},"证":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"有":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}},"找":{"docs":{},"到":{"docs":{},"刚":{"docs":{},"刚":{"docs":{},"导":{"docs":{},"入":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"配":{"docs":{},"置":{"docs":{},"为":{"docs":{},"信":{"docs":{},"任":{"docs":{},"(":{"docs":{},"a":{"docs":{},"l":{"docs":{},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"把":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}},"响":{"docs":{},"应":{"docs":{},"信":{"docs":{},"息":{"docs":{},"返":{"docs":{},"回":{"docs":{},"给":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}},"所":{"docs":{},"有":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},"拦":{"docs":{},"截":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"对":{"docs":{},"内":{"docs":{},"容":{"docs":{},"做":{"docs":{},"修":{"docs":{},"改":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"并":{"docs":{},"修":{"docs":{},"改":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"响":{"docs":{},"应":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"正":{"docs":{},"在":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"g":{"docs":{},"u":{"docs":{},"i":{"docs":{},"界":{"docs":{},"面":{"docs":{},",":{"docs":{},"用":{"docs":{},"以":{"docs":{},"观":{"docs":{},"察":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}},"了":{"docs":{},"多":{"docs":{},"种":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"可":{"docs":{},"在":{"docs":{},"下":{"docs":{},"载":{"docs":{},"安":{"docs":{},"装":{"docs":{},"时":{"docs":{},"选":{"docs":{},"择":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}},"示":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"支":{"docs":{},"持":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"的":{"docs":{},"解":{"docs":{},"析":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}},"收":{"docs":{},"集":{"docs":{},"请":{"docs":{},"求":{"docs":{},"所":{"docs":{},"有":{"docs":{},"请":{"docs":{},"求":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}},"改":{"docs":{},"成":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"并":{"docs":{},"发":{"docs":{},"送":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}},"文":{"docs":{},"件":{"docs":{},"(":{"docs":{},"已":{"docs":{},"知":{"docs":{},"如":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},"时":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"参":{"docs":{},"数":{"docs":{},"内":{"docs":{},"容":{"docs":{},"大":{"docs":{},"致":{"docs":{},"如":{"docs":{},"下":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"参":{"docs":{},"数":{"docs":{},"内":{"docs":{},"容":{"docs":{},"大":{"docs":{},"致":{"docs":{},"如":{"docs":{},"下":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"否":{"docs":{},"启":{"docs":{},"用":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"版":{"docs":{},"界":{"docs":{},"面":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}},"屏":{"docs":{},"蔽":{"docs":{},"所":{"docs":{},"有":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"输":{"docs":{},"出":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"启":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"代":{"docs":{},"理":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}},"强":{"docs":{},"制":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},",":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"忽":{"docs":{},"略":{"docs":{},"请":{"docs":{},"求":{"docs":{},"中":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}},"必":{"docs":{},"选":{"docs":{},"字":{"docs":{},"段":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"文":{"docs":{},"档":{"docs":{},"的":{"docs":{},"适":{"docs":{},"用":{"docs":{},"范":{"docs":{},"围":{"docs":{},"是":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}},"质":{"docs":{},"是":{"docs":{},"中":{"docs":{},"间":{"docs":{},"人":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}},"来":{"docs":{},"加":{"docs":{},"载":{"docs":{},"模":{"docs":{},"块":{"docs":{},"并":{"docs":{},"体":{"docs":{},"验":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"忽":{"docs":{},"略":{"docs":{},"证":{"docs":{},"书":{"docs":{},"认":{"docs":{},"证":{"docs":{},"的":{"docs":{},"错":{"docs":{},"误":{"docs":{},"。":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"该":{"docs":{},"参":{"docs":{},"数":{"docs":{},"是":{"docs":{},"全":{"docs":{},"局":{"docs":{},"生":{"docs":{},"效":{"docs":{},"的":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"在":{"docs":{},"此":{"docs":{},"期":{"docs":{},"间":{"docs":{},"访":{"docs":{},"问":{"docs":{},"了":{"docs":{},"其":{"docs":{},"他":{"docs":{},"未":{"docs":{},"知":{"docs":{},"的":{"docs":{},"网":{"docs":{},"站":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"问":{"docs":{},"题":{"docs":{},"也":{"docs":{},"会":{"docs":{},"被":{"docs":{},"忽":{"docs":{},"略":{"docs":{},",":{"docs":{},"这":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"带":{"docs":{},"来":{"docs":{},"安":{"docs":{},"全":{"docs":{},"隐":{"docs":{},"患":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"查":{"docs":{},"看":{"docs":{},"请":{"docs":{},"求":{"docs":{},"信":{"docs":{},"息":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},"校":{"docs":{},"验":{"docs":{},"系":{"docs":{},"统":{"docs":{},"内":{"docs":{},"是":{"docs":{},"否":{"docs":{},"存":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"的":{"docs":{},"根":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}},"样":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"根":{"docs":{},"据":{"docs":{},"请":{"docs":{},"求":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"向":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"发":{"docs":{},"出":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"接":{"docs":{},"收":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"响":{"docs":{},"应":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}},"模":{"docs":{},"块":{"docs":{},"介":{"docs":{},"绍":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"此":{"docs":{},"处":{"docs":{},"无":{"docs":{},"法":{"docs":{},"控":{"docs":{},"制":{"docs":{},"向":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"无":{"docs":{},"需":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}},"注":{"docs":{},"意":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"引":{"docs":{},"用":{"docs":{},"规":{"docs":{},"则":{"docs":{},"前":{"docs":{},",":{"docs":{},"请":{"docs":{},"务":{"docs":{},"必":{"docs":{},"确":{"docs":{},"保":{"docs":{},"文":{"docs":{},"件":{"docs":{},"来":{"docs":{},"源":{"docs":{},"可":{"docs":{},"靠":{"docs":{},",":{"docs":{},"以":{"docs":{},"免":{"docs":{},"发":{"docs":{},"生":{"docs":{},"安":{"docs":{},"全":{"docs":{},"问":{"docs":{},"题":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"测":{"docs":{},"试":{"docs":{},"规":{"docs":{},"则":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"访":{"docs":{},"问":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"2":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"然":{"docs":{},"后":{"docs":{},",":{"docs":{},"安":{"docs":{},"装":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}},"生":{"docs":{},"成":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"的":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},",":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},"请":{"docs":{},"引":{"docs":{},"导":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"任":{"docs":{},".":{"docs":{},"c":{"docs":{},"r":{"docs":{},"t":{"docs":{},"文":{"docs":{},"件":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"证":{"docs":{},"书":{"docs":{},"并":{"docs":{},"解":{"docs":{},"析":{"docs":{},"所":{"docs":{},"有":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}},"用":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"发":{"docs":{},"请":{"docs":{},"求":{"docs":{},"测":{"docs":{},"试":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"如":{"docs":{},"下":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}},"测":{"docs":{},"试":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"测":{"docs":{},"试":{"docs":{},":":{"docs":{},"配":{"docs":{},"置":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"代":{"docs":{},"理":{"docs":{},"为":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"会":{"docs":{},"被":{"docs":{},"解":{"docs":{},"析":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"数":{"docs":{},"据":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"证":{"docs":{},"书":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"少":{"docs":{},"部":{"docs":{},"分":{"docs":{},"仅":{"docs":{},"支":{"docs":{},"持":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},"请":{"docs":{},"求":{"docs":{},"全":{"docs":{},"部":{"docs":{},"改":{"docs":{},"到":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"本":{"docs":{},"地":{"docs":{},"数":{"docs":{},"据":{"docs":{},"代":{"docs":{},"替":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"返":{"docs":{},"回":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"里":{"docs":{},"加":{"docs":{},"上":{"docs":{},"测":{"docs":{},"试":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"并":{"docs":{},"延":{"docs":{},"迟":{"5":{"docs":{},"秒":{"docs":{},"返":{"docs":{},"回":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"docs":{}}}}}}}}}}}}},"头":{"docs":{},"里":{"docs":{},"加":{"docs":{},"上":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"最":{"docs":{},"后":{"docs":{},"追":{"docs":{},"加":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"的":{"docs":{},"签":{"docs":{},"名":{"docs":{},",":{"docs":{},"并":{"docs":{},"延":{"docs":{},"迟":{"5":{"docs":{},"秒":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"docs":{}}}}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},"码":{"docs":{},"都":{"docs":{},"改":{"docs":{},"成":{"4":{"0":{"4":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"请":{"docs":{},"求":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},":":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},",":{"docs":{},"不":{"docs":{},"再":{"docs":{},"发":{"docs":{},"起":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}},"相":{"docs":{},"比":{"3":{"docs":{},".":{"docs":{},"x":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}},"docs":{}}},"确":{"docs":{},"认":{"docs":{},"将":{"docs":{},"证":{"docs":{},"书":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"或":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{"./":{"ref":"./","tf":0.0029476787030213707}}}},"简":{"docs":{},"介":{"docs":{"./":{"ref":"./","tf":10}}},"化":{"docs":{},"了":{"docs":{},"规":{"docs":{},"则":{"docs":{},"文":{"docs":{},"件":{"docs":{},"内":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"全":{"docs":{},"局":{"docs":{},"代":{"docs":{},"理":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"密":{"docs":{},"码":{"docs":{},"框":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"似":{"docs":{},"这":{"docs":{},"种":{"docs":{},"报":{"docs":{},"错":{"docs":{},"都":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"系":{"docs":{},"统":{"docs":{},"没":{"docs":{},"有":{"docs":{},"信":{"docs":{},"任":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"所":{"docs":{},"造":{"docs":{},"成":{"docs":{},"的":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"经":{"docs":{},"过":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"后":{"docs":{},",":{"docs":{},"期":{"docs":{},"望":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"如":{"docs":{},"下":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"被":{"docs":{},"明":{"docs":{},"文":{"docs":{},"解":{"docs":{},"析":{"docs":{},"后":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"处":{"docs":{},"理":{"docs":{},"流":{"docs":{},"程":{"docs":{},"同":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"一":{"docs":{},"致":{"docs":{},"。":{"docs":{},"未":{"docs":{},"明":{"docs":{},"文":{"docs":{},"解":{"docs":{},"析":{"docs":{},"请":{"docs":{},"求":{"docs":{},"不":{"docs":{},"会":{"docs":{},"再":{"docs":{},"进":{"docs":{},"入":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"做":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"规":{"docs":{},"则":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},",":{"docs":{},"除":{"docs":{},"了":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},",":{"docs":{},"都":{"docs":{},"是":{"docs":{},"由":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}},"内":{"docs":{},"提":{"docs":{},"供":{"docs":{},"`":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"`":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},"全":{"docs":{},"面":{"docs":{},"支":{"docs":{},"持":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"和":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}},"模":{"docs":{},"块":{"docs":{},"应":{"docs":{},"该":{"docs":{},"符":{"docs":{},"合":{"docs":{},"c":{"docs":{},"m":{"docs":{},"d":{"docs":{},"规":{"docs":{},"范":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"典":{"docs":{},"型":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"代":{"docs":{},"码":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"下":{"docs":{},"。":{"docs":{},"模":{"docs":{},"块":{"docs":{},"中":{"docs":{},"所":{"docs":{},"有":{"docs":{},"方":{"docs":{},"法":{"docs":{},"都":{"docs":{},"是":{"docs":{},"可":{"docs":{},"选":{"docs":{},"的":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"实":{"docs":{},"现":{"docs":{},"业":{"docs":{},"务":{"docs":{},"感":{"docs":{},"兴":{"docs":{},"趣":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"用":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"的":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"文":{"docs":{},"案":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"提":{"docs":{},"示":{"docs":{},"用":{"docs":{},"户":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"力":{"docs":{},"范":{"docs":{},"围":{"docs":{},"包":{"docs":{},"括":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}},"解":{"docs":{},"析":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"是":{"docs":{},"中":{"docs":{},"间":{"docs":{},"人":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}},"警":{"docs":{},"告":{"docs":{},":":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{},"和":{"docs":{},"系":{"docs":{},"统":{"docs":{},"安":{"docs":{},"全":{"docs":{},"息":{"docs":{},"息":{"docs":{},"相":{"docs":{},"关":{"docs":{},",":{"docs":{},"建":{"docs":{},"议":{"docs":{},"亲":{"docs":{},"自":{"docs":{},"生":{"docs":{},"成":{"docs":{},",":{"docs":{},"并":{"docs":{},"妥":{"docs":{},"善":{"docs":{},"保":{"docs":{},"管":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.002210759027266028}},"属":{"docs":{},"性":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"访":{"docs":{},"问":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"2":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"证":{"docs":{},"书":{"docs":{},"下":{"docs":{},"载":{"docs":{},"到":{"docs":{},"指":{"docs":{},"定":{"docs":{},"目":{"docs":{},"录":{"docs":{},"后":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"从":{"docs":{},"其":{"docs":{},"他":{"docs":{},"入":{"docs":{},"口":{"docs":{},"进":{"docs":{},"行":{"docs":{},"安":{"docs":{},"装":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"请":{"docs":{},"求":{"docs":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"或":{"docs":{},"者":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}},"出":{"docs":{},"错":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"的":{"docs":{},"原":{"docs":{},"始":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014738393515106854}}}}}}}}}}}},"目":{"docs":{},"标":{"docs":{},"的":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{},"受":{"docs":{},"制":{"docs":{},"于":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"无":{"docs":{},"法":{"docs":{},"获":{"docs":{},"取":{"docs":{},"完":{"docs":{},"整":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"会":{"docs":{},"明":{"docs":{},"文":{"docs":{},"解":{"docs":{},"析":{"docs":{},"这":{"docs":{},"个":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"其":{"docs":{},"他":{"docs":{},"请":{"docs":{},"求":{"docs":{},"不":{"docs":{},"处":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"由":{"docs":{},"模":{"docs":{},"块":{"docs":{},"对":{"docs":{},"响":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{},"进":{"docs":{},"行":{"docs":{},"处":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"错":{"docs":{},"误":{"docs":{},"页":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}},"这":{"docs":{},"里":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"些":{"docs":{},"样":{"docs":{},"例":{"docs":{},",":{"docs":{},"来":{"docs":{},"讲":{"docs":{},"解":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"常":{"docs":{},"见":{"docs":{},"用":{"docs":{},"法":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"请":{"docs":{},"求":{"docs":{},":":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"参":{"docs":{},"数":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"来":{"docs":{},"修":{"docs":{},"改":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},",":{"docs":{},"其":{"docs":{},"配":{"docs":{},"置":{"docs":{},"也":{"docs":{},"是":{"docs":{},"全":{"docs":{},"局":{"docs":{},"性":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"网":{"docs":{},"站":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"问":{"docs":{},"题":{"docs":{},"都":{"docs":{},"会":{"docs":{},"被":{"docs":{},"忽":{"docs":{},"略":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"1":{"docs":{},"为":{"docs":{},"全":{"docs":{},"局":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"系":{"docs":{},"统":{"docs":{},"代":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}},"o":{"docs":{},"s":{"docs":{},"x":{"docs":{},"系":{"docs":{},"统":{"docs":{},"代":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"端":{"docs":{},"口":{"docs":{},",":{"docs":{},"如":{"1":{"0":{"8":{"0":{"docs":{},"端":{"docs":{},"口":{"docs":{},"启":{"docs":{},"动":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"代":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},"附":{"docs":{},"录":{"docs":{},":":{"docs":{},"如":{"docs":{},"何":{"docs":{},"信":{"docs":{},"任":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}},"限":{"docs":{},"速":{"docs":{},"值":{"docs":{},",":{"docs":{},"单":{"docs":{},"位":{"docs":{},"k":{"docs":{},"b":{"docs":{},"/":{"docs":{},"s":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"不":{"docs":{},"限":{"docs":{},"速":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}},"除":{"docs":{},"了":{"docs":{},"上":{"docs":{},"述":{"docs":{},"证":{"docs":{},"书":{"docs":{},"安":{"docs":{},"装":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"编":{"docs":{},"写":{"docs":{},"一":{"docs":{},"个":{"docs":{},"规":{"docs":{},"则":{"docs":{},"模":{"docs":{},"块":{"docs":{},",":{"docs":{},"在":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}},"首":{"docs":{},"先":{"docs":{},"和":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"扫":{"docs":{},"描":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"二":{"docs":{},"维":{"docs":{},"码":{"docs":{},"进":{"docs":{},"行":{"docs":{},"下":{"docs":{},"载":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"安":{"docs":{},"卓":{"docs":{},"系":{"docs":{},"统":{"docs":{},"安":{"docs":{},"装":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"可":{"docs":{},"能":{"docs":{},"有":{"docs":{},"所":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"安":{"docs":{},"装":{"docs":{},"的":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"是":{"docs":{},"类":{"docs":{},"似":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"列":{"docs":{},"举":{"docs":{},"了":{"docs":{},"几":{"docs":{},"种":{"docs":{},"类":{"docs":{},"型":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"驱":{"docs":{},"动":{"docs":{},"的":{"docs":{},",":{"docs":{},"函":{"docs":{},"数":{"docs":{},"需":{"docs":{},"要":{"docs":{},"满":{"docs":{},"足":{"docs":{},"y":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},"或":{"docs":{},"是":{"docs":{},"返":{"docs":{},"回":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"或":{"docs":{},"使":{"docs":{},"用":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"界":{"docs":{},"面":{"docs":{},"上":{"docs":{},"能":{"docs":{},"看":{"docs":{},"到":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"信":{"docs":{},"息":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}}}},"界":{"docs":{},"面":{"docs":{},"上":{"docs":{},"能":{"docs":{},"看":{"docs":{},"到":{"docs":{},"刚":{"docs":{},"才":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"信":{"docs":{},"息":{"docs":{"./":{"ref":"./","tf":0.0007369196757553427}}}}}}}}}}}}}}}},",":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}},"[":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"y":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}}}}}}}}}},"s":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},":":{"docs":{"./":{"ref":"./","tf":0.00044863167339614175}}}},"length":1376},"corpusTokens":["\"content","\"curl/7.43.0\"","\"data\":","\"https\"","\"i","\"thi","\"turn","\"user","\"x","#gener","#global","#launch","#local","#全局包","#启动anyproxy,并解析所有https请求","#本地包","#生成rootca证书,生成后需要手动信任","&","&&","'","'...'","'...',","'/',","'/index.html';","'/redirect/to/another/path';","'127.0.0.1'","'8001');","'8008';","';","'a","'anyproxy';","'anyproxy.io',","'anyproxy/0.0.0';","'application/json'","'cach","'close',","'content","'get',","'get';","'hello","'http',","'http';","'http://anyproxy.io/',","'http://httpbin.org/get?show_env=1'","'http://httpbin.org/us","'https'","'https',","'i","'image/gif',","'keep","'mi","'origin","'proxi","'rule","'text/html'","'thi","'user","'{\"hello\":","(!anyproxy.utils.certmgr.ifrootcafileexists())","(!error)","()","(e)","(iswin)","(requestdetail.url","(requestdetail.url.indexof('http://httpbin.org/')","(requestdetail.url.indexof('http://httpbin.org/post')","(requestdetail.url.indexof('http://httpbin.org/us","(requestdetail.url.indexof('https://httpbin.org/us","(requestdetail.url.indexof('https://th/","*/","*/}","*beforedealhttpsrequest(requestdetail)","*beforesendrequest(requestdetail)","*beforesendresponse(requestdetail,","*onconnecterror(requestdetail,","*onerror(requestdetail,","*true*","+=",",",".",".',","...","...,","./myrulepkg/","./rule.j",".cer",".crt","/*","//","//when","//这里也可以同时加上requestopt","/^win/.test(process.platform);","0)","1.","10.3","10.3信任ca证书","10000,","1080","127.0.0.1:8001","127.0.0.1:8001,","127.0.0.1:8001/index.html","127.0.0.1:8001,访问","1,write","1,编写规则","2,","2.","200,","3,","3.x:","4,","4.0的主要变化:","4.0,欢迎提供反馈","404","404;","443;","5","5000);","5s","80,","8001","8001,","8002","=","===","=>",">",">=",">关于本机",">证书信任设置",">通用","[switchyomega]","_re","_req","_req:","_res:","a:","abil","abliti","activ","add","address","advanc","advance.","agent","agent\":","agent'","agent')","agent':","agent']","agent,","alive',","all,","alway","android","anyprox","anyproxi","anyproxy',","anyproxy,","anyproxy.","anyproxy.io","anyproxy.io,","anyproxy.proxycore(options);","anyproxy.proxyserv","anyproxy.proxyserver(options)","anyproxy.proxyserver(options);","anyproxy.utils.certmgr","anyproxy.utils.certmgr.generaterootca((error,","anyproxy.utils.certmgr.generaterootca(callback)","anyproxy.utils.certmgr.ifrootcafileexists()","anyproxy.utils.systemproxymgr","anyproxy.utils.systemproxymgr.disableglobalproxy();","anyproxy.utils.systemproxymgr.enableglobalproxy('127.0.0.1',","anyproxyin","anyproxyins.start();","anyproxy使用require()加载本地规则,你可以在参数里传入一个本地的npm包路径,或是某个全局安装的npm包","anyproxy可以作为一个npm模块使用,整合进其他工具。","anyproxy向客户端发送请求前,会调用beforesendresponse,并带上参数requestdetail","anyproxy向服务端发送请求前,会调用beforesendrequest,并带上参数requestdetail","anyproxy在与目标https服务器建立连接的过程中,如果发生错误,anyproxy会调用这个方法","anyproxy提供了二次开发的能力,你可以用js编写自己的规则模块(rule),来自定义网络请求的处理逻辑。","anyproxy收到https请求时,会调用beforedealhttpsrequest,并带上参数requestdetail","anyproxy是一个开放式的http代理服务器。","anyproxy调用规则模块beforesendrequest方法,由模块做处理,返回新的请求参数,或返回响应内容","anyproxy默认不对https请求做处理,如需看到明文信息,需要配置ca证书","append","appendix:how","apt","as:","at',","attack","attack.","attack),需要客户端提前信任anyproxy生成的ca","automat","base","be","befor","beforedealhttpsrequest","beforedealhttpsrequest(requestdetail)","beforesendrequest","beforesendrequest(requestdetail)","beforesendrespons","beforesendresponse(requestdetail,","below,","below.","below:","besid","bodi","body,","body:","body三个字段","body等","body),甚至是请求的目标地址等","bonou","browser","browser.","by']","by:","by:anyproxi","ca","ca,","ca.","call","card,","caus","ca方法。","ca,按提示扫描二维码即可安装","cert","certdir","certdir);","certif","certificate.","certificates,","certificates.","certifyc","chang","chart","choos","chrome","class:","cli,","cli.","click","clicking,","client","client,","close","co","co.","code","code)、响应头(respons","code,","code.","collect","command","common","compat","config","config.","configur","connect","connection':","connection:","connections.","console,","console.error('error","console.log('th","const","content","content,","control':","couldn't","course.","creat","credenti","curl","curl:","custom","cwd:","d","dangerouslyignoreunauthor","dangerouslyignoreunauthorized:","dangerouslyignoreunauthorized:true,","data","data\"","data'","data',","deal","dealed.","deall","debian","decrypt","default","default.","defin","delay","demo","design","detect","determin","differ","directli","disabl","dn","doc","doubl","download","driven","due","dure","e.g.","easist","edit","emit","enabl","enable:","encrypt","end","english","entir","error","error)","error);","errors,","event:","example(https://chrome.google.com/webstore/detail/padekgcemlokbadohgkifijomclgjgif)为例","except","exec","exec('open","exec('start","exist","expect","extens","extent","face","fail","failure,","fals","false,","false;","faq","feature,","features:","few","field","file","file,","file.","file:","find","finish","first","flow","follow","follows.","forc","forceproxyhttp","forceproxyhttps:","forward","found","frequent","full","fulli","function","function()","function.","g","gener","get","github:","github主页:https://github.com/alibaba/anyproxi","give","global","go,","gui","guid","h","hack","hacked!","hacked!';","handl","handling.","happen","header","header),请求体(request","header,","header:","headers:","headersar","header)、响应内容等","help","here","here,","here.","hood,","host","host:","hostname:","http","http.rquest,","http/1.1","http/http","http://....j/","http://127.0.0.1:8001/","http://127.0.0.1:8002/","http://127.0.0.1:8002,","http://httpbin.org/","http://httpbin.org/","http://httpbin.org/post","http://httpbin.org/us","http://localhost:8008/index.html","httpbin.org","httpbin.org,","https://github.com/alibaba/anyproxi","https://httpbin.org/us","https://nodejs.org/api/http.html#http_http_request_options_callback","https://sample.com/rule.j","https连接服务器出错","http代理配置","http的代理模式中,这里的request是connect请求","i.e.","ignor","import","in.","includ","influenc","info","info,","insid","instal","installing.","instruct","intercept","intercept`参数,按npm模块启动时配置`forceproxyhttps`参数,所有https请求都会被替换证书并解析","intercept后才会从界面上看到相应内容。","interest","interfac","interface,","introduct","invok","io","ios/android","ios系统信任ca证书","issu","iswin","it,","it.","javascript.","js","kb/s,","keep","keypath)","kind","know","know.com')","known","launch","launching,","legaci","line","line,","list","load","local","localrespons","locat","log","logic","login","longer.","luanch","make","man","manag","manual","menu","menu,","messag","method","method,","method:","middl","middle),用户必须信任anyproxy生成的ca证书,才能进行后续流程","mind","modifi","modul","module,","module.","module.export","myrulepkg","nativ","need","network.","new","newli","newopt","newoption.path","newoption.port","newrequestopt","newrequestoptions.headers['us","newrequestoptions.hostnam","newrequestoptions.method","newrequestoptions.path","newrequestoptions.port","newrequestoptions.rejectunauthor","newrespons","newresponse.bodi","newresponse.header['x","newresponse.statuscod","node.j","nodej","nodejs.","nothing,","now","npm","null","null;","number","object","object.","object.assign({},","offer","on","on\"","on,","onconnecterror","onconnecterror(requestdetail,","one.","onerror","onerror(requestdetail,","onlin","oppo","option","option,","optional,","osx","osx系统信任ca证书","otherwire,","otherwise,","over","own.","page","param","part","pass","password","path.","path:","phones.","place","pleas","point","popular,","port","port:","post","privat","process","promis","promise((resolve,","propmt","protocol","protocol\":","protocol,","protocol:","protocol,i.e.","provid","proxi","proxy.close();","proxy.on('error',","proxy.on('ready',","proxy.start();","proxyserv","proxyserver.close();","proxyserver.on('error',","proxyserver.on('ready',","proxyserver.start();","q:","qr","quest","r15.","r15),anyproxi","read","readi","receiv","record","redirect","ref:","refer","reject)","rejectunauthor","replac","request","request,","request.","requestdata","requestdata:","requestdetail","requestdetail.protocol","requestdetail.requestoptions);","requestdetail.requestoptions;","requestdetail;","requesting,","requestopt","requestoptions:","requests,","requests.","requir","require('anyproxy');","require('child_process').exec;","require('http').request","require('myrulemodule'),","require('path').dirname(keypath);","require()","required,","resolve({","respons","response\"}'","response',","response:","responsedetail","responsedetail)","responsedetail.response);","responsedetail.response;","return","right","risk.","root","rootca","rootca',","rootca.crt","rule","rule:","rule_sample/sample_modify_request_data.j","rule_sample/sample_modify_request_header.j","rule_sample/sample_modify_request_path.j","rule_sample/sample_modify_request_protocol.j","rule_sample/sample_modify_response_data.j","rule_sample/sample_modify_response_header.j","rule_sample/sample_modify_response_statuscode.j","rule_sample/sample_use_local_response.j","rule接口文档","rule样例","rule模块","run","safari","safe","same","sampl","sample.j","sample:","save","scan","scenario,","sd","second","seconds.","secur","security.","see","self","send","sent","server","server,","server.","set","settimeout(()","settings.","sever","side","signed.","silent","silent:","similar","simpl","simplifi","site","site(s)","situation.","skip","someth","source.","specifi","ssl","start","statu","statuscod","statuscode:","step","storage,","string","stuff:","such","sudo","summari","summary():","summary,","summary:","summary:str","support","sure","system","system,","take","target","tell","test","test:","text","text/plain\"","that.","this:","throttl","throttle:","time","timeout","tip","to!","toward","traffic","tri","true","true,","true;","true或者false,表示是否需要anyproxy替换证书并解析http","trust","trust)","turn","type","type':","type:","typic","ubuntu","ui,","ui中的","unauthor","under","unknown","unlimit","unsecur","untrust","url","url:","us","use,","user","user.","users,","usual","valid","valu","var","via","view","visit","want","warning:","way","web","webinterfac","webinterface:","webport","webport:","websocket","websocket,","web版界面端口号,默认8002","web版界面配置","web版界面重构","whether","wifi","window","windows系统信任ca证书","without","work","world'","write","written","ws","wsintercept","wsintercept:","wss","x","yieldabl","yieldable,","you'r","{","{boolean}","{number}","{object}","{string}","|","}","})","});","},","};","下载后的证书可以直接单击打开并安装,这种方式是最简单的,直接安装即可","不做任何处理。此时anyproxy会返回一个默认的错误页。","不做任何处理,返回null","不同安卓系统支持安装的证书文件类型不尽相同,大多支持安装拓展名为","不开启websocket代理","中把anyproxy证书的开关打开,否则safari将报错。","中文文档","为","为什么https请求不能进入处理函数?","主要特性包括:","举例","举例,请求","举例:请求","从sd卡安装证书。找到你下载的证书文件,进行安装","从存储设备安装。找到你下载的证书文件,进行安装","代理http","代理websocket","代理服务器发生错误","代理服务器启动完成","代理服务器都在wifi设置中配置","以chrome的switchyomega插件为例","以下任意一项都能用来改变https的处理特性:","以下几种返回都是合法的","作为npm模块使用","作为全局模块","你可以通过","使用npm包","使用举例","使用在线地址","使用本地数据","使用本地路径anyproxi","使用示例","修改发送到","修改请求bodi","修改请求协议","修改请求协议,如强制改用https发起请求","修改请求参数","修改请求头","修改请求数据","修改请求的目标地址","修改返回内容并延迟","修改返回头","修改返回状态码","修改返回的内容","修改返回的状态码","关闭代理服务器","关闭全局代理服务器","其他命令","创建代理服务器","加密与凭据","即将发送的请求配置,供require('http').request作为使用。详见:https://nodejs.org/api/http.html#http_http_request_options_callback","原始的服务端返回对象","双击打开rootca.crt","发送响应前处理","发送请求前拦截处理","只有返回true时,anyproxy才会尝试替换证书、解析https。否则只做数据流转发,无法看到明文数据。","可以是一个函数,也可以是一个普通的字符串","可修改内容包括请求头(request","可修改的内容包括http状态码(statu","同beforedealhttpsrequest中的参数","同beforesendrequest中的参数","启动","启动anyproxy,加载规则","启动代理服务器","启动后将终端http代理服务器配置为127.0.0.1:8001即可","命令行启动anyproxy时配置`","命令行启动anyproxy,默认端口号8001","命令行直接启动","在","在nodejs代码中启动","在wifi高级设置中,配置http代理即可","在构造anyproxy实例的时候,传入参数dangerouslyignoreunauthorized:true,","在请求处理过程中发生错误时,anyproxy会调用onerror方法,并提供对应的错误信息","基于node.js,开放二次开发能力,允许自定义请求处理逻辑","处理流程","处理流程图如下","多数场景下,错误会在请求目标服务器的时候发生,比如dns解析失败、请求超时等","如下几种方案都可以用来引用规则模块:","如下:","如何引用","如果beforesendrequest返回了响应内容,则立即把此响应返回到客户端(而不再发送到真正的服务端),流程结束。","如果配置了全局解析https的参数,则anyproxy会略过这个调用","如要启用https解析,请在代理服务器启动前自行调用anyproxy.utils.certmgr相关方法生成证书,并引导用户信任安装。或引导用户使用anyproxi","安全","安全性与位置信息","安卓系统信任ca证书","安装","安装ca:","对于debian或者ubuntu系统,在安装anyproxy之前,可能还需要安装","开发示例","引入","当http请求经过代理服务器时,具体处理过程是:","当代理服务器收到https请求时,anyproxy可以替换证书,对请求做明文解析。","当启用https代理时,wss也会被代理,但是不会被anyproxy记录。需要开启","当访问特定的https站点,anyproxy会提示该站点不是一个安全的网站,这通常是因为站点的证书设置不能被正确识别导致的(比如,站点的证书是自签发的)。如果您信任该网站,可以用以下方式来继续访问:","必选,代理服务器端口","快速开始","我们自然也可以借助自定义的rule来实现这个效果,而且我们还可以控制到只允许指定网址的证书错误,对不在列表的网址,进行证书的强验证。","所有http://httpbin.org","找到刚刚导入的anyproxy证书,配置为信任(alway","把","把响应信息返回给客户端","把所有发送到","把用http协议请求的","拦截https请求,对内容做修改","拦截发送到","拦截并修改服务端响应","拦截并修改正在发送的请求","提供gui界面,用以观察请求","提供了多种类型的证书文件,可在下载安装时选择。","提示","支持https的解析","收集请求所有请求参数,包括method,","改成https并发送","文件(已知如","时,requestdetail参数内容大致如下","时,responsedetail参数内容大致如下","是否启用web版界面,默认fals","是否处理https请求","是否屏蔽所有console输出,默认fals","是否开启websocket代理,默认fals","是否强制拦截所有的https,忽略规则模块的返回,默认fals","是否忽略请求中的证书错误,默认fals","是必选字段","服务端的返回信息,包括statuscod","本文档的适用范围是anyproxi","本质是中间人攻击(man","来加载模块并体验","来忽略证书认证的错误。需要注意的是,该参数是全局生效的,如果你在此期间访问了其他未知的网站,他们的证书问题也会被忽略,这可能会带来安全隐患。","查看请求信息","校验系统内是否存在anyproxy的根证书","样例","根据请求参数,向服务端发出请求,接收服务端响应。","模块介绍","此处无法控制向客户端的返回信息,无需返回值。","注意:http","注意:引用规则前,请务必确保文件来源可靠,以免发生安全问题","测试规则","浏览器访问http://127.0.0.1:8002","点击web","然后,安装anyproxi","生成anyproxy的rootca,完成后请引导用户信任.crt文件","生成证书并解析所有https请求","用curl发请求测试的方法如下","用curl测试","用浏览器测试:配置浏览器http代理为","的https请求会被解析","的post数据","的user","的证书文件,少部分仅支持","的请求全部改到","的请求,使用本地数据代替服务端返回","的返回值里加上测试信息,并延迟5秒返回","的返回头里加上","的返回最后追加anyproxy的签名,并延迟5秒","的返回状态码都改成404","直接请求服务器:curl","直接返回客户端,不再发起请求,其中statuscod","相比3.x版本,anyproxi","确认将证书添加到login或system","示例","简介","简化了规则文件内的接口","管理anyproxy的证书","管理系统的全局代理配置,方法调用时可能会弹出密码框","类似这种报错都是因为系统没有信任anyproxy生成的ca所造成的","经过代理服务器后,期望的返回如下","自定义规则模块","被明文解析后的https请求,处理流程同http一致。未明文解析请求不会再进入规则模块做处理。","规则文件中,除了summary,都是由","规则文件内提供`beforedealhttpsrequest`方法,返回","规则文件(rule)全面支持promise和gener","规则模块应该符合cmd规范,一个典型的规则模块代码结构如下。模块中所有方法都是可选的,只需实现业务感兴趣的部分即可。","规则模块是用","规则模块的介绍文案,用于anyproxy提示用户,","规则模块的能力范围包括:","解析https请求的原理是中间人攻击(man","警告:ca证书和系统安全息息相关,建议亲自生成,并妥善保管","设置","设置属性","访问http://127.0.0.1:8002","证书下载到指定目录后,需要从其他入口进行安装,包括:","证书配置","请求bodi","请求url","请求使用的协议,http或者http","请求出错的事件","请求的原始request","请求目标的host,受制于协议,这里无法获取完整url","调用规则模块beforedealhttpsrequest方法,如果返回true,会明文解析这个请求,其他请求不处理","调用规则模块beforesendresponse方法,由模块对响应内容进行处理","运行","返回值","返回自定义错误页","这里提供一些样例,来讲解规则模块的常见用法","通过代理服务器请求:curl","通过启动参数","通过自定义的rule来修改","通过这种方式初始化的anyproxy,其配置也是全局性的,所有网站的证书问题都会被忽略","配置127.0.0.1:8001为全局http代理服务器","配置ios/android系统代理","配置osx系统代理","配置启动端口,如1080端口启动","配置浏览器http代理","附录:如何信任ca证书","限速值,单位kb/s,默认不限速","除了上述证书安装过程,还需要在","需要编写一个规则模块,在","首先和ios类似,需要先扫描证书的二维码进行下载。然后不同的安卓系统安装证书的方式可能有所不同,但是安装的步骤是类似的,我们列举了几种类型。","驱动的,函数需要满足yieldable。可以使用generator方法或是返回promise。","驱动的,函数需要满足yieldable。可以返回promise或使用generator函数。",",web界面上能看到所有的请求信息",",界面上能看到刚才的请求信息",":"],"pipeline":["stopWordFilter","stemmer"]},"store":{"./":{"url":"./","title":"Introduction","keywords":"","body":"AnyProxy\nAnyProxy is a fully configurable http/https proxy in NodeJS.\nRef: 中文文档\nGithub:\n\nhttps://github.com/alibaba/anyproxy\n\nFeatures:\n\nOffer you the ablity to handle http traffic by invoking a js module\nIntercept https\nGUI webinterface\n\nChange Logs since 3.x:\n\nSupport Promise and Generator in rule module\nSimplified interface in rule module\nA newly designed web interface\n\n\nGetting Start\ninstall\nTo Debian and Ubuntu users, you may need to install nodejs-legacy at the same time\nsudo apt-get install nodejs-legacy\n\nThen install the AnyProxy\nnpm install -g anyproxy\n\nlaunch\n\nstart AnyProxy in command line, with default port 8001\n\nanyproxy\n\n\nnow you can use http proxy server by 127.0.0.1:8001\nvisit http://127.0.0.1:8002 to see the http requests\n\noptions\n\nspecify the port of http proxy\n\nanyproxy --port 1080\n\nUse AnyProxy as an npm module\nAnyProxy can be used as an npm module\n\nTo enable https feature, please guide users to use anyproxy-ca in cli. Or use methods under AnyProxy.utils.certMgr to generate certificates.\n\n\ninstall\n\nnpm i anyproxy --save\n\n\nsample\n\nconst AnyProxy = require('anyproxy');\nconst options = {\n port: 8001,\n rule: require('myRuleModule'),\n webInterface: {\n enable: true,\n webPort: 8002\n },\n throttle: 10000,\n forceProxyHttps: false,\n wsIntercept: false,\n silent: false\n};\nconst proxyServer = new AnyProxy.ProxyServer(options);\n\nproxyServer.on('ready', () => { /* */ });\nproxyServer.on('error', (e) => { /* */ });\nproxyServer.start();\n\n//when finished\nproxyServer.close();\n\n\nClass: AnyProxy.proxyServer\n\ncreate a proxy server\nconst proxy = new AnyProxy.proxyServer(options)\n\n\noptions\n\nport {number} required, port number of proxy server\nrule {object} your rule module\nthrottle {number} throttle in kb/s, unlimited for default\nforceProxyHttps {boolean} in force intercept all https request, default to false\nsilent {boolean} if keep silent in console, false for default false\ndangerouslyIgnoreUnauthorized {boolean} if ignore certificate error in request, default to false\nwsIntercept {boolean} whether to intercept websocket, default to false\nwebInterface {object} config for web interface\nenable {boolean} if enable web interface, default to false\nwebPort {number} port number for web interface\n\n\n\n\nEvent: ready\n\nemit when proxy server is ready\nsample\n\nproxy.on('ready', function() { })\n\n\nEvent: error\n\nemit when error happened inside proxy server\nsample\n\nproxy.on('error', function() { })\n\n\nMethod: start\n\nstart proxy server\nsample\n\nproxy.start();\n\n\nMethod: close\n\nclose proxy server\nsample\n\nproxy.close();\n\n\n\n\nAnyProxy.utils.systemProxyMgr\n\nmanage the system proxy config. sudo password may be required\nsample\n\n// set 127.0.0.1:8001 as system http server\nAnyProxy.utils.systemProxyMgr.enableGlobalProxy('127.0.0.1', '8001');\n\n// disable global proxy server\nAnyProxy.utils.systemProxyMgr.disableGlobalProxy();\n\n\nAnyProxy.utils.certMgr\n\nManage certificates of AnyProxy\nAnyProxy.utils.certMgr.ifRootCAFileExists()\ndetect if AnyProx rootCA exists\n\n\nAnyProxy.utils.certMgr.generateRootCA(callback)\ngenerate a rootCA\n\n\nSample\n\n const AnyProxy = require('anyproxy');\n const exec = require('child_process').exec;\n\n if (!AnyProxy.utils.certMgr.ifRootCAFileExists()) {\n AnyProxy.utils.certMgr.generateRootCA((error, keyPath) => {\n // let users to trust this CA before using proxy\n if (!error) {\n const certDir = require('path').dirname(keyPath);\n console.log('The cert is generated at', certDir);\n const isWin = /^win/.test(process.platform);\n if (isWin) {\n exec('start .', { cwd: certDir });\n } else {\n exec('open .', { cwd: certDir });\n }\n } else {\n console.error('error when generating rootCA', error);\n }\n });\n }\n\n\n\nProxy Https\n\nAnyProxy does NOT intercept https requests by default. To view decrypted info, you have to config the CA certificate.\n\n\nUnder the hood, AnyProxy decryptes https requests by man-in-the-middle attack. Users have to trust the CA cert in advance. Otherwise, client side will issue errors about unsecure network.\n\n\ngenerate certifycates and intercept\n\nanyproxy-ca #generate root CA. manually trust it after that.\nanyproxy --intercept #launch anyproxy and intercept all https traffic\n\n\nAppendix:how to trust CA\n\nProxy WebSocket\nanyproxy --ws-intercept\n\n\nThe wss requests will be handled automatically when the HTTPS intercept is turned on, but AnyProxy will not record the data by default. You need to specify the --ws-intercept to tell AnyProxy to record it.\n\nRule Introduction\nAnyProxy provides the ability to load your own rules written in javascript. With rule module, you could customize the logic to handle requests.\n\nMake sure your rule file is got from a trusted source. Otherwise, you may face some unknown security risk.\n\nRule module could do the following stuff:\n\nintercept and modify the request which is being sent\neditable fields include request header, body, target address\n\n\nintercept and modify the response from server\neditable fields include response status code, header, body\n\n\nintercept https requests, modify request and response\n\nsample\n\nTarget\n\nwrite a rule module to append some text to the response of GET http://httpbin.org/user-agent, and delay the response for 5 seconds\n\n\nStep 1,Write the rule file, save as sample.js\n// file: sample.js\nmodule.exports = {\n summary: 'a rule to hack response',\n *beforeSendResponse(requestDetail, responseDetail) {\n if (requestDetail.url === 'http://httpbin.org/user-agent') {\n const newResponse = responseDetail.response;\n newResponse.body += '- AnyProxy Hacked!';\n\n return new Promise((resolve, reject) => {\n setTimeout(() => { // delay\n resolve({ response: newResponse });\n }, 5000);\n });\n }\n },\n};\n\n\nStep 2, start AnyProxy and load the rule file\n\nrun anyproxy --rule sample.js\n\n\nStep 3, test\n\nuse curl\ncurl http://httpbin.org/user-agent --proxy http://127.0.0.1:8001\n\n\nuse browser. Point the http proxy of browser to 127.0.0.1:8001, then visit http://httpbin.org/user-agent\n\nthe expected response from proxy is\n\n\n{\n \"user-agent\": \"curl/7.43.0\"\n}\n- AnyProxy Hacked!\n\nStep 4, view the request log\n\nvisit http://127.0.0.1:8002, the request just sent should be listed here\n\n\n\nhow does it work\n\nThe flow chart is as follows\n\n\n\nWhen got an http request, the entire process of proxy server is\n\nAnyProxy collects all the quest info, include method, header, body\nAnyProxy calls beforeSendRequest of the rule module. Rule module deal the request, return new request param or response content\nIf beforeSendRequest returns the response content, AnyProxy will send the response to client without sending to target server. The process ends here.\nSend request to target server, collect response\nCall beforeSendResponse of the rule module. Rule module deal the response data\nSend response to client\n\n\nWhen AnyProxy get https request, it could replace the certificate and decrypt the request data\n\nAnyProxy calls beforeDealHttpsRequest of the rule module\nIf the function returns true, AnyProxy will do the man-in-the-middle attack to it. Otherwise, the request will not be dealed.\n\n\n\nhow to load rule module\n\nuse local file\nanyproxy --rule ./rule.js\n\n\nuse an online rule file\nanyproxy --rule https://sample.com/rule.js\n\n\nuse an npm module\n\nAnyProxy uses require() to load rule module. You could either load a local npm module or a global-installed one.\n\nanyproxy --rule ./myRulePkg/ #local module\nnpm i -g myRulePkg && anyproxy --rule myRulePkg #global-installed module\n\n\n\nRule module interface\nA typical rule module is as follows. All the functions are optional, just write the part you are interested in.\nmodule.exports = {\n // introduction\n summary: 'my customized rule for AnyProxy',\n // intercept before send request to server\n *beforeSendRequest(requestDetail) { /* ... */ },\n // deal response before send to client\n *beforeSendResponse(requestDetail, responseDetail) { /* ... */ },\n // if deal https request\n *beforeDealHttpsRequest(requestDetail) { /* ... */ },\n // error happened when dealing requests\n *onError(requestDetail, error) { /* ... */ },\n // error happened when connect to https server\n *onConnectError(requestDetail, error) { /* ... */ }\n};\n\n\nAll functions in your rule file, except summary, are all driven by co . They should be yieldable, i.e. return a promise or be a generator function.\n\nsummary\nsummary\n\nIntroduction of this rule file. AnyProxy will read this field and give some tip to user.\n\nbeforeSendRequest\nbeforeSendRequest(requestDetail)\n\nBefore sending request to server, AnyProxy will call beforeSendRequest with param requestDetail\nrequestDetail\nprotocol {string} the protocol to use, http or https\nrequestOptions {object} the options of the request-to-go, a param of require('http').request . ref: https://nodejs.org/api/http.html#http_http_request_options_callback\nrequestData {object} request body\nurl {string} request url\n_req {object} the native node.js request object\n\n\ne.g. When requesting anyproxy.io, requestDetail is something like the following\n{\n protocol: 'http',\n url: 'http://anyproxy.io/',\n requestOptions: {\n hostname: 'anyproxy.io',\n port: 80,\n path: '/',\n method: 'GET',\n headers: {\n Host: 'anyproxy.io',\n 'Proxy-Connection': 'keep-alive',\n 'User-Agent': '...'\n }\n },\n requestData: '...',\n _req: { /* ... */}\n}\n\n\nAny of these return values are valid\n\ndo nothing, and return null\n\nreturn null;\n\n\nmodify the request protocol,i.e. force use https\n\nreturn {\n protocol: 'https'\n};\n\n\nmodify request param\n\nvar newOption = Object.assign({}, requestDetail.requestOptions);\nnewOption.path = '/redirect/to/another/path';\nreturn {\n requestOptions: newOption\n};\n\n\nmodify request body\n\nreturn {\n requestData: 'my new request data'\n // requestOptions can also be used here\n};\n\n\ngive response to the client, not sending request any longer. statusCode headersare required is this situation.\n\nreturn {\n response: {\n statusCode: 200,\n header: { 'content-type': 'text/html' },\n body: 'this could be a or '\n }\n};\n\n\n\nbeforeSendResponse\nbeforeSendResponse(requestDetail, responseDetail)\n\nBefore sending response to client, AnyProxy will call beforeSendResponse with param requestDetail responseDetail\nrequestDetail is the same param as in beforeSendRequest\nresponseDetail\nresponse {object} the response from server, includes statusCode header body\n_res {object} the native node.js response object\n\n\ne.g. When requesting anyproxy.io, responseDetail is something like the following\n{\n response: {\n statusCode: 200,\n header: {\n 'Content-Type': 'image/gif',\n Connection: 'close',\n 'Cache-Control': '...'\n },\n body: '...'\n },\n _res: { /* ... */ }\n}\n\n\nAny of these return values are valid\n\ndo nothing, and return null\n\nreturn null;\n\n\nmodify the response status code\n\nvar newResponse = Object.assign({}, responseDetail.response);\nnewResponse.statusCode = 404;\nreturn {\n response: newResponse\n};\n\n\nmodify the response content\n\nvar newResponse = Object.assign({}, responseDetail.response);\nnewResponse.body += '--from anyproxy--';\nreturn {\n response: newResponse\n};\n\n\n\nbeforeDealHttpsRequest\nbeforeDealHttpsRequest(requestDetail)\n\nWhen receiving https request, AnyProxy will call beforeDealHttpsRequest with param requestDetail\nIf configed with forceProxyHttps in launching, AnyProxy will skip calling this method\nOnly by returning true, AnyProxy will try to replace the certificate and intercept the https request.\nrequestDetail\nhost {string} the target host to request. Due to the request protocol, full url couldn't be got here\n_req {object} the native node.js request object. The _req here refers to the CONNECT request.\n\n\nreturn value\ntrue or false, whether AnyProxy should intercept the https request\n\n\n\nonError\nonError(requestDetail, error)\n\nAnyProxy will call this method when an error happened in request handling.\nErrors usually are issued during requesting, e.g. DNS failure, request timeout\nrequestDetail is the same one as in beforeSendRequest\nAny of these return values are valid\n\ndo nothing, and AnyProxy will response a default error page\n\nreturn null;\n\n\nreturn a customized error page\n\nreturn {\n response: {\n statusCode: 200,\n header: { 'content-type': 'text/html' },\n body: 'this could be a or '\n }\n};\n\n\n\nonConnectError\nonConnectError(requestDetail, error)\n\nAnyProxy will call this method when failed to connect target server in https request\nrequestDetail is the same one as in beforeDealHttpsRequest\nno return value is required\n\nRule Samples\n\nhere are some samples about frequently used rule file\ntry these samples by anyproxy --rule http://....js\nhow to test with curl:\nrequest the server directly curl http://httpbin.org/\nrequest the server via proxy curl http://httpbin.org/ --proxy http://127.0.0.1:8001\n\n\n\nuse local response\n\nintercept the request towards http://httpbin.org , return the local-defined response\n\nanyproxy --rule rule_sample/sample_use_local_response.js\n\n/* \n sample: \n intercept all requests toward httpbin.org, use a local response\n test:\n curl http://httpbin.org/user-agent --proxy http://127.0.0.1:8001\n*/\nmodule.exports = {\n *beforeSendRequest(requestDetail) {\n const localResponse = {\n statusCode: 200,\n header: { 'Content-Type': 'application/json' },\n body: '{\"hello\": \"this is local response\"}'\n };\n if (requestDetail.url.indexOf('http://httpbin.org/') === 0) {\n return {\n response: localResponse\n };\n }\n },\n};\n\nmodify request header\n\nmodify the user-agent sent to httpbin.org\n\nanyproxy --rule rule_sample/sample_modify_request_header.js\n\n/* \n sample: \n modify the user-agent in requests toward httpbin.org\n test:\n curl http://httpbin.org/user-agent --proxy http://127.0.0.1:8001\n*/\nmodule.exports = {\n *beforeSendRequest(requestDetail) {\n if (requestDetail.url.indexOf('http://httpbin.org/') === 0) {\n const newRequestOptions = requestDetail.requestOptions;\n newRequestOptions.headers['User-Agent'] = 'AnyProxy/0.0.0';\n return {\n requestOptions: newRequestOptions\n };\n }\n },\n};\n\nmodify request body\n\nmodify the post body of http://httpbin.org/post\n\nanyproxy --rule rule_sample/sample_modify_request_data.js\n\n/*\n sample:\n modify the post data towards http://httpbin.org/post\n test:\n curl -H \"Content-Type: text/plain\" -X POST -d 'original post data' http://httpbin.org/post --proxy http://127.0.0.1:8001\n expected response:\n { \"data\": \"i-am-anyproxy-modified-post-data\" }\n*/\nmodule.exports = {\n summary: 'Rule to modify request data',\n *beforeSendRequest(requestDetail) {\n if (requestDetail.url.indexOf('http://httpbin.org/post') === 0) {\n return {\n requestData: 'i-am-anyproxy-modified-post-data'\n };\n }\n },\n};\n\nmodify the request target\n\nsend all the request towards http://httpbin.org/ to http://httpbin.org/user-agent\n\nanyproxy --rule rule_sample/sample_modify_request_path.js\n\n/*\n sample:\n redirect all https://httpbin.org/user-agent requests to http://localhost:8008/index.html\n test:\n curl https://httpbin.org/user-agent --proxy http://127.0.0.1:8001\n expected response:\n 'hello world' from 127.0.0.1:8001/index.html\n*/\nmodule.exports = {\n *beforeSendRequest(requestDetail) {\n if (requestDetail.url.indexOf('https://httpbin.org/user-agent') === 0) {\n const newRequestOptions = requestDetail.requestOptions;\n requestDetail.protocol = 'http';\n newRequestOptions.hostname = '127.0.0.1'\n newRequestOptions.port = '8008';\n newRequestOptions.path = '/index.html';\n newRequestOptions.method = 'GET';\n return requestDetail;\n }\n },\n *beforeDealHttpsRequest(requestDetail) {\n return true;\n }\n};\n\nmodify request protocol\n\nmodify the http request towards http://httpbin.org to https\n\nanyproxy --rule rule_sample/sample_modify_request_protocol.js\n\n/* \n sample: \n redirect all http requests of httpbin.org to https\n test:\n curl 'http://httpbin.org/get?show_env=1' --proxy http://127.0.0.1:8001\n expected response:\n { \"X-Forwarded-Protocol\": \"https\" }\n*/\nmodule.exports = {\n *beforeSendRequest(requestDetail) {\n if (requestDetail.url.indexOf('http://httpbin.org/') === 0) {\n const newOption = requestDetail.requestOptions;\n newOption.port = 443;\n return {\n protocol: 'https',\n requestOptions: newOption\n };\n }\n }\n};\n\nmodify response status code\n\nmodify all status code from http://httpbin.org to 404\n\nanyproxy --rule rule_sample/sample_modify_response_statuscode.js\n\n/* \n sample: \n modify all status code of http://httpbin.org/ to 404\n test:\n curl -I 'http://httpbin.org/user-agent' --proxy http://127.0.0.1:8001\n expected response:\n HTTP/1.1 404 Not Found\n*/\nmodule.exports = {\n *beforeSendResponse(requestDetail, responseDetail) {\n if (requestDetail.url.indexOf('http://httpbin.org/') === 0) {\n const newResponse = responseDetail.response;\n newResponse.statusCode = 404;\n return {\n response: newResponse\n };\n }\n }\n};\n\nmodify the response header\n\nadd X-Proxy-By:AnyProxy to the response header from http://httpbin.org/user-agent\n\nanyproxy --rule rule_sample/sample_modify_response_header.js\n\n/* \n sample: \n modify response header of http://httpbin.org/user-agent\n test:\n curl -I 'http://httpbin.org/user-agent' --proxy http://127.0.0.1:8001\n expected response:\n X-Proxy-By: AnyProxy\n*/\nmodule.exports = {\n *beforeSendResponse(requestDetail, responseDetail) {\n if (requestDetail.url.indexOf('http://httpbin.org/user-agent') === 0) {\n const newResponse = responseDetail.response;\n newResponse.header['X-Proxy-By'] = 'AnyProxy';\n return {\n response: newResponse\n };\n }\n }\n};\n\nmodify response data and delay\n\nappend some info to the response of http://httpbin.org/user-agent, then delay the response for 5 seconds.\n\nanyproxy --rule rule_sample/sample_modify_response_data.js\n\n/* \n sample: \n modify response data of http://httpbin.org/user-agent\n test:\n curl 'http://httpbin.org/user-agent' --proxy http://127.0.0.1:8001\n expected response:\n { \"user-agent\": \"curl/7.43.0\" } -- AnyProxy Hacked! --\n*/\n\nmodule.exports = {\n *beforeSendResponse(requestDetail, responseDetail) {\n if (requestDetail.url === 'http://httpbin.org/user-agent') {\n const newResponse = responseDetail.response;\n newResponse.body += '-- AnyProxy Hacked! --';\n return new Promise((resolve, reject) => {\n setTimeout(() => { // delay the response for 5s\n resolve({ response: newResponse });\n }, 5000);\n });\n }\n },\n};\n\nConfig Certification\nConfig root CA in OSX\n\nthis kind of errors is usually caused by untrusted root CA\n\n\n\nWarning: please keep your root CA safe since it may influence your system security.\n\ninstall :\n\ndouble click rootCA.crt\n\nadd cert into login or system\n\n\n\n\nfind the newly imported AnyProxy certificates, configured as Always Trust\n\n\nConfig root CA in windows\n\nConfig OSX system proxy\n\nthe config is in wifi - advanced\n\n\nconfig http proxy server\n\ntake Chrome extent [SwitchyOmega] as an example(https://chrome.google.com/webstore/detail/padekgcemlokbadohgkifijomclgjgif)为例\n\n\ntrust root CA in iOS\n\nClick Root CA in web ui, and follow the instruction to install\n\n\ntrust root CA in iOS after 10.3\n\nBesides installing root CA, you have to \"turn on\" the certificate for web manually in settings - general - about - Certificate Trust Settings. Otherwire, safari will not trust the root CA generated by AnyProxy.\n\n\ntrust root CA in Android\nFirst of all, you need to download the root CA by clicking Root CA in web ui, and then scan the QR code.\nInstalling CA in Android could be different based on the system, we list some common steps as below, but you can find the right way in you system with similar menu path.\n\nThe downloaded CA file can be directly installed by clicking, this is the easist way\nYou need to install the CA file from other menu, such as:\nSettings -> Security & Location > Encryption & credentials -> Install from storage, and find your CA file to install\nSettings -> Security -> Install from SD card, and find you CA file to install\n\n\n\nThere are several file extensions of CA file which may not be compatible with all kinds of Android phones. .crt file is the most popular, while a few systems could only use .cer file such as OPPO R15. In AnyProxy, you can choose the type of certificate you need before installing.\nconfig iOS/Android proxy server\n\nproxy settings are placed in wifi setting\n\niOS\n\n\n\n\nAndroid\n\n\nFAQ\nQ: can not deal https request in rule module.\n\nA: Any of these options could be used to change the way AnyProxy deall https requests\nconfig --intercept when luanching AnyProxy via cli, or use forceProxyHttps when using as an npm module\nplace a beforeDealHttpsRequest function in your rule file and determine which request to intercept by your own.\n\n\n\nQ: get an error says function is not yieldable\n\nA: Rule module is driven by co. The functions inside should be yieldable, i.e. return a promise or be a generator function.\n\nQ: The connection is not private\nAnyProxy will propmt this message when the certification of the site you're visiting is not issued by a common known CA. This happens when the certification is self-signed. If you know and trust it, you can ignore the error as below.\n\nIf you run AnyProxy by command line\nPass in the option --ignore-unauthorized-ssl to ignore the certification errors, please mind that the option will be active for all connections.\nanyproxy -i --ignore-unauthorized-ssl\n\n\nIf you run AnyProxy by Nodejs\nPass in the option dangerouslyIgnoreUnauthorized:true, like this:\nconst options = {\n ...,\n dangerouslyIgnoreUnauthorized: true\n};\n\nconst anyproxyIns = new AnyProxy.ProxyCore(options);\nanyproxyIns.start();\n\nThis is also a global option, all certification errors will be ignored\n\nWith the help of AnyProxy Rule\nYou can change the request with rule of course. For this scenario, all you need is to pass in an option to Nodejs Http.rquest, as we do in AnyProxy. A simple demo below:\nmodule.exports = {\n *beforeSendRequest(requestDetail) {\n if (requestDetail.url.indexOf('https://the-site-you-know.com/') === 0) {\n const newRequestOptions = requestDetail.requestOptions;\n // set rejectUnauthorized as false\n newRequestOptions.rejectUnauthorized = false;\n return {\n requestOptions: newRequestOptions\n };\n }\n },\n};\n\nAnd we get a bonous here, AnyProxy will only ignore the errors for the site(s) we want it to!\n\n\n"}}} \ No newline at end of file diff --git a/jest.config.js b/jest.config.js new file mode 100644 index 000000000..b9eb114e8 --- /dev/null +++ b/jest.config.js @@ -0,0 +1,189 @@ +// For a detailed explanation regarding each configuration property, visit: +// https://jestjs.io/docs/en/configuration.html + +module.exports = { + testTimeout: 10 * 1000, + // All imported modules in your tests should be mocked automatically + // automock: false, + + // Stop running tests after `n` failures + // bail: 0, + + // Respect "browser" field in package.json when resolving modules + // browser: false, + + // The directory where Jest should store its cached dependency information + // cacheDirectory: "/private/var/folders/dn/t1cpcmtx6ng82d7qf8b02w7r0000gn/T/jest_dx", + + // Automatically clear mock calls and instances between every test + clearMocks: true, + + // Indicates whether the coverage information should be collected while executing the test + // collectCoverage: false, + + // An array of glob patterns indicating a set of files for which coverage information should be collected + // collectCoverageFrom: null, + + // The directory where Jest should output its coverage files + coverageDirectory: 'coverage', + + // An array of regexp pattern strings used to skip coverage collection + // coveragePathIgnorePatterns: [ + // "/node_modules/" + // ], + + // A list of reporter names that Jest uses when writing coverage reports + // coverageReporters: [ + // "json", + // "text", + // "lcov", + // "clover" + // ], + + // An object that configures minimum threshold enforcement for coverage results + // coverageThreshold: null, + + // A path to a custom dependency extractor + // dependencyExtractor: null, + + // Make calling deprecated APIs throw helpful error messages + // errorOnDeprecated: false, + + // Force coverage collection from ignored files using an array of glob patterns + // forceCoverageMatch: [], + + // A path to a module which exports an async function that is triggered once before all test suites + // globalSetup: null, + + // A path to a module which exports an async function that is triggered once after all test suites + // globalTeardown: null, + + // A set of global variables that need to be available in all test environments + // globals: {}, + + // The maximum amount of workers used to run your tests. Can be specified as % or a number. E.g. maxWorkers: 10% will use 10% of your CPU amount + 1 as the maximum worker number. maxWorkers: 2 will use a maximum of 2 workers. + // maxWorkers: "50%", + + // An array of directory names to be searched recursively up from the requiring module's location + // moduleDirectories: [ + // "node_modules" + // ], + + // An array of file extensions your modules use + // moduleFileExtensions: [ + // "js", + // "json", + // "jsx", + // "ts", + // "tsx", + // "node" + // ], + + // A map from regular expressions to module names that allow to stub out resources with a single module + // moduleNameMapper: {}, + + // An array of regexp pattern strings, matched against all module paths before considered 'visible' to the module loader + // modulePathIgnorePatterns: [], + + // Activates notifications for test results + // notify: false, + + // An enum that specifies notification mode. Requires { notify: true } + // notifyMode: "failure-change", + + // A preset that is used as a base for Jest's configuration + // preset: null, + + // Run tests from one or more projects + // projects: null, + + // Use this configuration option to add custom reporters to Jest + // reporters: undefined, + + // Automatically reset mock state between every test + // resetMocks: false, + + // Reset the module registry before running each individual test + // resetModules: false, + + // A path to a custom resolver + // resolver: null, + + // Automatically restore mock state between every test + // restoreMocks: false, + + // The root directory that Jest should scan for tests and modules within + // rootDir: null, + + // A list of paths to directories that Jest should use to search for files in + // roots: [ + // "" + // ], + + // Allows you to use a custom runner instead of Jest's default test runner + // runner: "jest-runner", + + // The paths to modules that run some code to configure or set up the testing environment before each test + // setupFiles: [], + + // A list of paths to modules that run some code to configure or set up the testing framework before each test + // setupFilesAfterEnv: [], + + // A list of paths to snapshot serializer modules Jest should use for snapshot testing + // snapshotSerializers: [], + + // The test environment that will be used for testing + testEnvironment: 'node', + + // Options that will be passed to the testEnvironment + // testEnvironmentOptions: {}, + + // Adds a location field to test results + // testLocationInResults: false, + + // The glob patterns Jest uses to detect test files + // testMatch: [ + // "**/__tests__/**/*.[jt]s?(x)", + // "**/?(*.)+(spec|test).[tj]s?(x)" + // ], + + // An array of regexp pattern strings that are matched against all test paths, matched tests are skipped + // testPathIgnorePatterns: [ + // "/node_modules/" + // ], + + // The regexp pattern or array of patterns that Jest uses to detect test files + // testRegex: [], + + // This option allows the use of a custom results processor + // testResultsProcessor: null, + + // This option allows use of a custom test runner + // testRunner: "jasmine2", + + // This option sets the URL for the jsdom environment. It is reflected in properties such as location.href + // testURL: "http://localhost/", + + // Setting this value to "fake" allows the use of fake timers for functions such as "setTimeout" + // timers: "real", + + // A map from regular expressions to paths to transformers + // transform: null, + + // An array of regexp pattern strings that are matched against all source file paths, matched files will skip transformation + // transformIgnorePatterns: [ + // "/node_modules/" + // ], + + // An array of regexp pattern strings that are matched against all modules before the module loader will automatically return a mock for them + // unmockedModulePathPatterns: undefined, + + // Indicates whether each individual test should be reported during the run + // verbose: null, + + // An array of regexp patterns that are matched against all source file paths before re-running tests in watch mode + // watchPathIgnorePatterns: [], + + // Whether to use watchman for file crawling + // watchman: true, +}; diff --git a/lib/httpsServerMgr.js b/lib/httpsServerMgr.js index e66c840d2..d1d162baa 100644 --- a/lib/httpsServerMgr.js +++ b/lib/httpsServerMgr.js @@ -4,62 +4,16 @@ const async = require('async'), https = require('https'), tls = require('tls'), + assert = require('assert'), crypto = require('crypto'), color = require('colorful'), certMgr = require('./certMgr'), logUtil = require('./log'), util = require('./util'), wsServerMgr = require('./wsServerMgr'), - co = require('co'), constants = require('constants'), asyncTask = require('async-task-mgr'); -const createSecureContext = tls.createSecureContext || crypto.createSecureContext; -//using sni to avoid multiple ports -function SNIPrepareCert(serverName, SNICallback) { - let keyContent, - crtContent, - ctx; - - async.series([ - (callback) => { - certMgr.getCertificate(serverName, (err, key, crt) => { - if (err) { - callback(err); - } else { - keyContent = key; - crtContent = crt; - callback(); - } - }); - }, - (callback) => { - try { - ctx = createSecureContext({ - key: keyContent, - cert: crtContent - }); - callback(); - } catch (e) { - callback(e); - } - } - ], (err) => { - if (!err) { - const tipText = 'proxy server for __NAME established'.replace('__NAME', serverName); - logUtil.printLog(color.yellow(color.bold('[internal https]')) + color.yellow(tipText)); - SNICallback(null, ctx); - } else { - logUtil.printLog('err occurred when prepare certs for SNI - ' + err, logUtil.T_ERR); - logUtil.printLog('err occurred when prepare certs for SNI - ' + err.stack, logUtil.T_ERR); - } - }); -} - -//config.port - port to start https server -//config.handler - request handler - - /** * Create an https server * @@ -67,97 +21,107 @@ function SNIPrepareCert(serverName, SNICallback) { * @param {number} config.port * @param {function} config.handler */ -function createHttpsServer(config) { - if (!config || !config.port || !config.handler) { - throw (new Error('please assign a port')); +function createHttpsSNIServer(port, handler) { + assert(port && handler, 'invalid param for https SNI server'); + + const createSecureContext = tls.createSecureContext || crypto.createSecureContext; + function SNIPrepareCert(serverName, SNICallback) { + let keyContent, + crtContent, + ctx; + + async.series([ + (callback) => { + certMgr.getCertificate(serverName, (err, key, crt) => { + if (err) { + callback(err); + } else { + keyContent = key; + crtContent = crt; + callback(); + } + }); + }, + (callback) => { + try { + ctx = createSecureContext({ + key: keyContent, + cert: crtContent + }); + callback(); + } catch (e) { + callback(e); + } + } + ], (err) => { + if (!err) { + const tipText = 'proxy server for __NAME established'.replace('__NAME', serverName); + logUtil.printLog(color.yellow(color.bold('[internal https]')) + color.yellow(tipText)); + SNICallback(null, ctx); + } else { + logUtil.printLog('err occurred when prepare certs for SNI - ' + err, logUtil.T_ERR); + logUtil.printLog('err occurred when prepare certs for SNI - ' + err.stack, logUtil.T_ERR); + SNICallback(err); + } + }); } return new Promise((resolve) => { - certMgr.getCertificate('anyproxy_internal_https_server', (err, keyContent, crtContent) => { - const server = https.createServer({ - secureOptions: constants.SSL_OP_NO_SSLv3 || constants.SSL_OP_NO_TLSv1, - SNICallback: SNIPrepareCert, - key: keyContent, - cert: crtContent - }, config.handler).listen(config.port); - resolve(server); - }); + const server = https.createServer({ + secureOptions: constants.SSL_OP_NO_SSLv3 || constants.SSL_OP_NO_TLSv1, + SNICallback: SNIPrepareCert, + }, handler).listen(port); + resolve(server); }); } -/** -* create an https server that serving on IP address -* @param @required {object} config -* @param @required {string} config.ip the IP address of the server -* @param @required {number} config.port the port to listen on -* @param @required {function} handler the handler of each connect -*/ -function createIPHttpsServer(config) { - if (!config || !config.port || !config.handler) { - throw (new Error('please assign a port')); - } +function createHttpsIPServer(ip, port, handler) { + assert(ip && port && handler, 'invalid param for https IP server'); - if (!config.ip) { - throw (new Error('please assign an IP to create the https server')); - } - - return new Promise((resolve) => { - certMgr.getCertificate(config.ip, (err, keyContent, crtContent) => { + return new Promise((resolve, reject) => { + certMgr.getCertificate(ip, (err, keyContent, crtContent) => { + if (err) return reject(err); const server = https.createServer({ secureOptions: constants.SSL_OP_NO_SSLv3 || constants.SSL_OP_NO_TLSv1, key: keyContent, - cert: crtContent - }, config.handler).listen(config.port); + cert: crtContent, + }, handler).listen(port); resolve(server); }); }); } -/** - * - * - * @class httpsServerMgr - * @param {object} config - * @param {function} config.handler handler to deal https request - * - */ class httpsServerMgr { constructor(config) { if (!config || !config.handler) { throw new Error('handler is required'); } - this.instanceDefaultHost = '127.0.0.1'; this.httpsAsyncTask = new asyncTask(); this.handler = config.handler; this.wsHandler = config.wsHandler + this.asyncSNITaskName = `https_SNI_${Math.random()}`; + this.activeServers = []; } getSharedHttpsServer(hostname) { - // ip address will have a unique name - const finalHost = util.isIpDomain(hostname) ? hostname : this.instanceDefaultHost; - const self = this; + const ifIPHost = hostname && util.isIp(hostname); + const serverHost = '127.0.0.1'; + function prepareServer(callback) { - let instancePort; - co(util.getFreePort) - .then(co.wrap(function *(port) { - instancePort = port; - let httpsServer = null; - - // if ip address passed in, will create an IP http server - if (util.isIpDomain(hostname)) { - httpsServer = yield createIPHttpsServer({ - ip: hostname, - port, - handler: self.handler - }); + let port; + Promise.resolve(util.getFreePort()) + .then(freePort => { + port = freePort; + if (ifIPHost) { + return createHttpsIPServer(hostname, port, self.handler); } else { - httpsServer = yield createHttpsServer({ - port, - handler: self.handler - }); + return createHttpsSNIServer(port, self.handler); } + }) + .then(httpsServer => { + self.activeServers.push(httpsServer); wsServerMgr.getWsServer({ server: httpsServer, @@ -169,21 +133,19 @@ class httpsServerMgr { }); const result = { - host: finalHost, - port: instancePort, + host: serverHost, + port, }; callback(null, result); - return result; - })) + }) .catch(e => { callback(e); }); } + // same server for same host return new Promise((resolve, reject) => { - // each ip address will gain a unit task name, - // while the domain address will share a common task name - self.httpsAsyncTask.addTask(`createHttpsServer-${finalHost}`, prepareServer, (error, serverInfo) => { + self.httpsAsyncTask.addTask(ifIPHost ? hostname : serverHost, prepareServer, (error, serverInfo) => { if (error) { reject(error); } else { @@ -192,6 +154,12 @@ class httpsServerMgr { }); }); } + + close() { + this.activeServers.forEach(server => { + server.close(); + }); + } } module.exports = httpsServerMgr; diff --git a/lib/recorder.js b/lib/recorder.js index 1a37739f7..cd9707c35 100644 --- a/lib/recorder.js +++ b/lib/recorder.js @@ -31,7 +31,7 @@ const WS_MESSAGE_FILE_PRFIX = 'ws_message_'; const CACHE_DIR_PREFIX = 'cache_r'; function getCacheDir() { const rand = Math.floor(Math.random() * 1000000), - cachePath = path.join(proxyUtil.getAnyProxyPath('cache'), './' + CACHE_DIR_PREFIX + rand); + cachePath = path.join(proxyUtil.getAnyProxyTmpPath(), './' + CACHE_DIR_PREFIX + rand); fs.mkdirSync(cachePath); return cachePath; @@ -86,9 +86,20 @@ class Recorder extends events.EventEmitter { this.globalId = 1; this.cachePath = getCacheDir(); this.db = new Datastore(); + + this.recordBodyMap = []; // id - body + } + + setDbAutoCompact() { this.db.persistence.setAutocompactionInterval(5001); + } - this.recordBodyMap = []; // id - body + stopDbAutoCompact() { + try { + this.db.persistence.stopAutocompaction(); + } catch (e) { + logUtil.printLog(e, logUtil.T_ERR); + } } emitUpdate(id, info) { @@ -126,12 +137,12 @@ class Recorder extends events.EventEmitter { * */ updateRecordWsMessage(id, message) { - const cachePath = this.cachePath; if (id < 0) return; try { - const recordWsMessageFile = path.join(cachePath, WS_MESSAGE_FILE_PRFIX + id); - - fs.appendFile(recordWsMessageFile, wsMessageStingify(message) + ',', () => {}); + this.getCacheFile(WS_MESSAGE_FILE_PRFIX + id, (err, recordWsMessageFile) => { + if (err) return; + fs.appendFile(recordWsMessageFile, wsMessageStingify(message) + ',', () => {}); + }); } catch (e) { console.error(e); logUtil.error(e.message + e.stack); @@ -172,15 +183,16 @@ class Recorder extends events.EventEmitter { updateRecordBody(id, info) { const self = this; - const cachePath = self.cachePath; if (id === -1) return; if (!id || typeof info.resBody === 'undefined') return; //add to body map //ignore image data - const bodyFile = path.join(cachePath, BODY_FILE_PRFIX + id); - fs.writeFile(bodyFile, info.resBody, () => {}); + self.getCacheFile(BODY_FILE_PRFIX + id, (err, bodyFile) => { + if (err) return; + fs.writeFile(bodyFile, info.resBody, () => {}); + }); } /** @@ -189,19 +201,23 @@ class Recorder extends events.EventEmitter { */ getBody(id, cb) { const self = this; - const cachePath = self.cachePath; if (id < 0) { cb && cb(''); + return; } - - const bodyFile = path.join(cachePath, BODY_FILE_PRFIX + id); - fs.access(bodyFile, fs.F_OK || fs.R_OK, (err) => { - if (err) { - cb && cb(err); - } else { - fs.readFile(bodyFile, cb); + self.getCacheFile(BODY_FILE_PRFIX + id, (error, bodyFile) => { + if (error) { + cb && cb(error); + return; } + fs.access(bodyFile, fs.F_OK || fs.R_OK, (err) => { + if (err) { + cb && cb(err); + } else { + fs.readFile(bodyFile, cb); + } + }); }); } @@ -242,18 +258,16 @@ class Recorder extends events.EventEmitter { bodyContent = iconv.decode(bodyContent, currentCharset); } - result.mime = contentType; result.content = bodyContent.toString(); result.type = contentType && /application\/json/i.test(contentType) ? 'json' : 'text'; } else if (contentType && /image/i.test(contentType)) { result.type = 'image'; - result.mime = contentType; result.content = bodyContent; } else { result.type = contentType; - result.mime = contentType; result.content = bodyContent.toString(); } + result.mime = contentType; result.fileName = path.basename(record.path); result.statusCode = record.statusCode; } catch (e) { @@ -270,36 +284,39 @@ class Recorder extends events.EventEmitter { * */ getDecodedWsMessage(id, cb) { - const self = this; - const cachePath = self.cachePath; - if (id < 0) { cb && cb([]); + return; } - const wsMessageFile = path.join(cachePath, WS_MESSAGE_FILE_PRFIX + id); - fs.access(wsMessageFile, fs.F_OK || fs.R_OK, (err) => { - if (err) { - cb && cb(err); - } else { - fs.readFile(wsMessageFile, 'utf8', (error, content) => { - if (error) { - cb && cb(err); - } - - try { - // remove the last dash "," if it has, since it's redundant - // and also add brackets to make it a complete JSON structure - content = `[${content.replace(/,$/, '')}]`; - const messages = JSON.parse(content); - cb(null, messages); - } catch (e) { - console.error(e); - logUtil.error(e.message + e.stack); - cb(e); - } - }); + this.getCacheFile(WS_MESSAGE_FILE_PRFIX + id, (outError, wsMessageFile) => { + if (outError) { + cb && cb(outError); + return; } + fs.access(wsMessageFile, fs.F_OK || fs.R_OK, (err) => { + if (err) { + cb && cb(err); + } else { + fs.readFile(wsMessageFile, 'utf8', (error, content) => { + if (error) { + cb && cb(err); + } + + try { + // remove the last dash "," if it has, since it's redundant + // and also add brackets to make it a complete JSON structure + content = `[${content.replace(/,$/, '')}]`; + const messages = JSON.parse(content); + cb(null, messages); + } catch (e) { + console.error(e); + logUtil.error(e.message + e.stack); + cb(e); + } + }); + } + }); }); } @@ -327,9 +344,23 @@ class Recorder extends events.EventEmitter { } clear() { + logUtil.printLog('clearing cache file...'); const self = this; proxyUtil.deleteFolderContentsRecursive(self.cachePath, true); } + + getCacheFile(fileName, cb) { + const self = this; + const cachePath = self.cachePath; + const filepath = path.join(cachePath, fileName); + + if (filepath.indexOf(cachePath) !== 0) { + cb && cb(new Error('invalid cache file path')); + } else { + cb && cb(null, filepath); + return filepath; + } + } } module.exports = Recorder; diff --git a/lib/requestHandler.js b/lib/requestHandler.js index 7f664c870..6a6c6c034 100644 --- a/lib/requestHandler.js +++ b/lib/requestHandler.js @@ -120,7 +120,7 @@ function fetchRemoteResponse(protocol, options, reqData, config) { // only do unzip when there is res data if (ifServerGzipped && originContentLen) { refactContentEncoding(); - zlib.gunzip(serverResData, (err, buff) => { // TODO test case to cover + zlib.gunzip(serverResData, (err, buff) => { if (err) { rejectParsing(err); } else { @@ -129,7 +129,7 @@ function fetchRemoteResponse(protocol, options, reqData, config) { }); } else if (isServerDeflated && originContentLen) { refactContentEncoding(); - zlib.inflateRaw(serverResData, (err, buff) => { // TODO test case to cover + zlib.inflate(serverResData, (err, buff) => { if (err) { rejectParsing(err); } else { @@ -221,7 +221,7 @@ function getWsReqInfo(wsReq) { // TODO 如果是windows机器,url是不是全路径?需要对其过滤,取出 const path = wsReq.url || '/'; - const isEncript = true && wsReq.connection && wsReq.connection.encrypted; + const isEncript = wsReq.connection && wsReq.connection.encrypted; /** * construct the request headers based on original connection, * but delete the `sec-websocket-*` headers as they are already consumed by AnyProxy @@ -272,7 +272,15 @@ function getUserReqHandler(userRule, recorder) { const host = req.headers.host; const protocol = (!!req.connection.encrypted && !(/^http:/).test(req.url)) ? 'https' : 'http'; - const fullUrl = protocol === 'http' ? req.url : (protocol + '://' + host + req.url); + + // try find fullurl https://github.com/alibaba/anyproxy/issues/419 + let fullUrl = protocol + '://' + host + req.url; + if (protocol === 'http') { + const reqUrlPattern = url.parse(req.url); + if (reqUrlPattern.host && reqUrlPattern.protocol) { + fullUrl = req.url; + } + } const urlPattern = url.parse(fullUrl); const path = urlPattern.path; @@ -365,7 +373,7 @@ function getUserReqHandler(userRule, recorder) { if (!global._throttle && transferEncoding !== 'chunked' && !(responseBody instanceof CommonReadableStream) - ) { + ) { resHeader['Content-Length'] = util.getByteSize(responseBody); } @@ -550,134 +558,142 @@ function getConnectReqHandler(userRule, recorder, httpsServerMgr) { shouldIntercept = reqHandlerCtx.forceProxyHttps; } }) - .then(() => - new Promise((resolve) => { + .then(() => { + return new Promise((resolve) => { // mark socket connection as established, to detect the request protocol - cltSocket.write('HTTP/' + req.httpVersion + ' 200 OK\r\n\r\n', 'UTF-8', resolve); + cltSocket.write('HTTP/' + req.httpVersion + ' 200 OK\r\n\r\n', 'UTF-8', resolve); + }); }) - ) - .then(() => - new Promise((resolve, reject) => { - let resolved = false; - cltSocket.on('data', (chunk) => { - requestStream.push(chunk); - if (!resolved) { - resolved = true; - try { - const chunkString = chunk.toString(); - if (chunkString.indexOf('GET ') === 0) { - shouldIntercept = false; // websocket, do not intercept - - // if there is '/do-not-proxy' in the request, do not intercept the websocket - // to avoid AnyProxy itself be proxied - if (reqHandlerCtx.wsIntercept && chunkString.indexOf('GET /do-not-proxy') !== 0) { - interceptWsRequest = true; + .then(() => { + return new Promise((resolve, reject) => { + let resolved = false; + cltSocket.on('data', (chunk) => { + requestStream.push(chunk); + if (!resolved) { + resolved = true; + try { + const chunkString = chunk.toString(); + if (chunkString.indexOf('GET ') === 0) { + shouldIntercept = false; // websocket, do not intercept + + // if there is '/do-not-proxy' in the request, do not intercept the websocket + // to avoid AnyProxy itself be proxied + if (reqHandlerCtx.wsIntercept && chunkString.indexOf('GET /do-not-proxy') !== 0) { + interceptWsRequest = true; + } } + } catch (e) { + console.error(e); } - } catch (e) { - console.error(e); + resolve(); } - resolve(); - } - }); - cltSocket.on('end', () => { - requestStream.push(null); + }); + cltSocket.on('error', (error) => { + logUtil.printLog(util.collectErrorLog(error), logUtil.T_ERR); + co.wrap(function *() { + try { + yield userRule.onClientSocketError(requestDetail, error); + } catch (e) { } + }); + }); + cltSocket.on('end', () => { + requestStream.push(null); + }); }); }) - ) - .then((result) => { + .then((result) => { // log and recorder - if (shouldIntercept) { - logUtil.printLog('will forward to local https server'); - } else { - logUtil.printLog('will bypass the man-in-the-middle proxy'); - } + if (shouldIntercept) { + logUtil.printLog('will forward to local https server'); + } else { + logUtil.printLog('will bypass the man-in-the-middle proxy'); + } - //record - if (recorder) { - resourceInfo = { - host, - method: req.method, - path: '', - url: 'https://' + host, - req, - startTime: new Date().getTime() - }; - resourceInfoId = recorder.appendRecord(resourceInfo); - } - }) - .then(() => { + //record + if (recorder) { + resourceInfo = { + host, + method: req.method, + path: '', + url: 'https://' + host, + req, + startTime: new Date().getTime() + }; + resourceInfoId = recorder.appendRecord(resourceInfo); + } + }) + .then(() => { // determine the request target - if (!shouldIntercept) { + if (!shouldIntercept) { // server info from the original request - const originServer = { - host, - port: (targetPort === 80) ? 443 : targetPort - } + const originServer = { + host, + port: (targetPort === 80) ? 443 : targetPort + } - const localHttpServer = { - host: 'localhost', - port: reqHandlerCtx.httpServerPort - } + const localHttpServer = { + host: 'localhost', + port: reqHandlerCtx.httpServerPort + } - // for ws request, redirect them to local ws server - return interceptWsRequest ? localHttpServer : originServer; - } else { - return httpsServerMgr.getSharedHttpsServer(host).then(serverInfo => ({ host: serverInfo.host, port: serverInfo.port })); - } - }) - .then((serverInfo) => { - if (!serverInfo.port || !serverInfo.host) { - throw new Error('failed to get https server info'); - } + // for ws request, redirect them to local ws server + return interceptWsRequest ? localHttpServer : originServer; + } else { + return httpsServerMgr.getSharedHttpsServer(host).then(serverInfo => ({ host: serverInfo.host, port: serverInfo.port })); + } + }) + .then((serverInfo) => { + if (!serverInfo.port || !serverInfo.host) { + throw new Error('failed to get https server info'); + } - return new Promise((resolve, reject) => { - const conn = net.connect(serverInfo.port, serverInfo.host, () => { + return new Promise((resolve, reject) => { + const conn = net.connect(serverInfo.port, serverInfo.host, () => { //throttle for direct-foward https - if (global._throttle && !shouldIntercept) { - requestStream.pipe(conn); - conn.pipe(global._throttle.throttle()).pipe(cltSocket); - } else { - requestStream.pipe(conn); - conn.pipe(cltSocket); - } + if (global._throttle && !shouldIntercept) { + requestStream.pipe(conn); + conn.pipe(global._throttle.throttle()).pipe(cltSocket); + } else { + requestStream.pipe(conn); + conn.pipe(cltSocket); + } - resolve(); - }); + resolve(); + }); - conn.on('error', (e) => { - reject(e); + conn.on('error', (e) => { + reject(e); + }); + + reqHandlerCtx.conns.set(serverInfo.host + ':' + serverInfo.port, conn) + reqHandlerCtx.cltSockets.set(serverInfo.host + ':' + serverInfo.port, cltSocket) }); + }) + .then(() => { + if (recorder) { + resourceInfo.endTime = new Date().getTime(); + resourceInfo.statusCode = '200'; + resourceInfo.resHeader = {}; + resourceInfo.resBody = ''; + resourceInfo.length = 0; - reqHandlerCtx.conns.set(serverInfo.host + ':' + serverInfo.port, conn) - reqHandlerCtx.cltSockets.set(serverInfo.host + ':' + serverInfo.port, cltSocket) - }); - }) - .then(() => { - if (recorder) { - resourceInfo.endTime = new Date().getTime(); - resourceInfo.statusCode = '200'; - resourceInfo.resHeader = {}; - resourceInfo.resBody = ''; - resourceInfo.length = 0; + recorder && recorder.updateRecord(resourceInfoId, resourceInfo); + } + }) + .catch(co.wrap(function *(error) { + logUtil.printLog(util.collectErrorLog(error), logUtil.T_ERR); - recorder && recorder.updateRecord(resourceInfoId, resourceInfo); - } - }) - .catch(co.wrap(function *(error) { - logUtil.printLog(util.collectErrorLog(error), logUtil.T_ERR); - - try { - yield userRule.onConnectError(requestDetail, error); - } catch (e) { } - - try { - let errorHeader = 'Proxy-Error: true\r\n'; - errorHeader += 'Proxy-Error-Message: ' + (error || 'null') + '\r\n'; - errorHeader += 'Content-Type: text/html\r\n'; - cltSocket.write('HTTP/1.1 502\r\n' + errorHeader + '\r\n\r\n'); - } catch (e) { } - })); + try { + yield userRule.onConnectError(requestDetail, error); + } catch (e) { } + + try { + let errorHeader = 'Proxy-Error: true\r\n'; + errorHeader += 'Proxy-Error-Message: ' + (error || 'null') + '\r\n'; + errorHeader += 'Content-Type: text/html\r\n'; + cltSocket.write('HTTP/1.1 502\r\n' + errorHeader + '\r\n\r\n'); + } catch (e) { } + })); } } @@ -694,7 +710,8 @@ function getWsHandler(userRule, recorder, wsClient, wsReq) { }; const clientMsgQueue = []; const serverInfo = getWsReqInfo(wsReq); - const wsUrl = `${serverInfo.protocol}://${serverInfo.hostName}:${serverInfo.port}${serverInfo.path}`; + const serverInfoPort = serverInfo.port ? `:${serverInfo.port}` : ''; + const wsUrl = `${serverInfo.protocol}://${serverInfo.hostName}${serverInfoPort}${serverInfo.path}`; const proxyWs = new WebSocket(wsUrl, '', { rejectUnauthorized: !self.dangerouslyIgnoreUnauthorized, headers: serverInfo.noWsHeaders @@ -836,7 +853,6 @@ function getWsHandler(userRule, recorder, wsClient, wsReq) { } class RequestHandler { - /** * Creates an instance of RequestHandler. * @@ -877,7 +893,8 @@ class RequestHandler { reqHandlerCtx.httpsServerMgr = new HttpsServerMgr({ handler: reqHandlerCtx.userRequestHandler, - wsHandler: reqHandlerCtx.wsHandler // websocket + wsHandler: reqHandlerCtx.wsHandler, // websocket + hostname: '127.0.0.1', }); this.connectReqHandler = getConnectReqHandler.apply(reqHandlerCtx, [userRule, recorder, reqHandlerCtx.httpsServerMgr]); diff --git a/lib/ruleLoader.js b/lib/ruleLoader.js index 1d498ff67..3dfa4a536 100644 --- a/lib/ruleLoader.js +++ b/lib/ruleLoader.js @@ -5,7 +5,7 @@ const path = require('path'); const fs = require('fs'); const request = require('request'); -const cachePath = proxyUtil.getAnyProxyPath('cache'); +const cachePath = proxyUtil.getAnyProxyTmpPath(); /** * download a file and cache diff --git a/lib/rule_default.js b/lib/rule_default.js index dc74910fa..b3d29e9f3 100644 --- a/lib/rule_default.js +++ b/lib/rule_default.js @@ -66,4 +66,16 @@ module.exports = { *onConnectError(requestDetail, error) { return null; }, + + + /** + * + * + * @param {any} requestDetail + * @param {any} error + * @returns + */ + *onClientSocketError(requestDetail, error) { + return null; + }, }; diff --git a/lib/systemProxyMgr.js b/lib/systemProxyMgr.js index 353bd6be6..3a1bbf3fa 100644 --- a/lib/systemProxyMgr.js +++ b/lib/systemProxyMgr.js @@ -82,16 +82,16 @@ macProxyManager.enableGlobalProxy = (ip, port, proxyType) => { // set http proxy execSync( - 'networksetup -setwebproxy ${networkType} ${ip} ${port} && networksetup -setproxybypassdomains ${networkType} 127.0.0.1 localhost' - .replace(/\${networkType}/g, networkType) - .replace('${ip}', ip) - .replace('${port}', port)) : + 'networksetup -setwebproxy ${networkType} ${ip} ${port} && networksetup -setproxybypassdomains ${networkType} 127.0.0.1 localhost' + .replace(/\${networkType}/g, networkType) + .replace('${ip}', ip) + .replace('${port}', port)) : // set https proxy execSync('networksetup -setsecurewebproxy ${networkType} ${ip} ${port} && networksetup -setproxybypassdomains ${networkType} 127.0.0.1 localhost' - .replace(/\${networkType}/g, networkType) - .replace('${ip}', ip) - .replace('${port}', port)); + .replace(/\${networkType}/g, networkType) + .replace('${ip}', ip) + .replace('${port}', port)); }; macProxyManager.disableGlobalProxy = (proxyType) => { @@ -101,13 +101,13 @@ macProxyManager.disableGlobalProxy = (proxyType) => { // set http proxy execSync( - 'networksetup -setwebproxystate ${networkType} off' - .replace('${networkType}', networkType)) : + 'networksetup -setwebproxystate ${networkType} off' + .replace('${networkType}', networkType)) : // set https proxy execSync( - 'networksetup -setsecurewebproxystate ${networkType} off' - .replace('${networkType}', networkType)); + 'networksetup -setsecurewebproxystate ${networkType} off' + .replace('${networkType}', networkType)); }; macProxyManager.getProxyState = () => { @@ -136,8 +136,8 @@ winProxyManager.enableGlobalProxy = (ip, port) => { return execSync( // set proxy 'reg add "HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings" /v ProxyServer /t REG_SZ /d ${ip}:${port} /f & ' - .replace('${ip}', ip) - .replace('${port}', port) + + .replace('${ip}', ip) + .replace('${port}', port) + // enable proxy 'reg add "HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings" /v ProxyEnable /t REG_DWORD /d 1 /f'); diff --git a/lib/util.js b/lib/util.js index 0d6a78c45..4048e6c9d 100644 --- a/lib/util.js +++ b/lib/util.js @@ -5,9 +5,11 @@ const fs = require('fs'), mime = require('mime-types'), color = require('colorful'), child_process = require('child_process'), + os = require('os'), Buffer = require('buffer').Buffer, logUtil = require('./log'); -const networkInterfaces = require('os').networkInterfaces(); + +const networkInterfaces = os.networkInterfaces(); // {"Content-Encoding":"gzip"} --> {"content-encoding":"gzip"} module.exports.lower_keys = (obj) => { @@ -52,6 +54,14 @@ module.exports.getAnyProxyPath = function (pathName) { return targetPath; } +module.exports.getAnyProxyTmpPath = function () { + const targetPath = path.join(os.tmpdir(), 'anyproxy', 'cache'); + if (!fs.existsSync(targetPath)) { + fs.mkdirSync(targetPath, { recursive: true }); + } + return targetPath; +} + module.exports.simpleRender = function (str, object, regexp) { return String(str).replace(regexp || (/\{\{([^{}]+)\}\}/g), (match, name) => { if (match.charAt(0) === '\\') { @@ -216,8 +226,6 @@ function deleteFolderContentsRecursive(dirPath, ifClearFolderItself) { throw new Error('can_not_delete_this_dir'); } - logUtil.info('==>>> clearing cache ', dirPath); - if (fs.existsSync(dirPath)) { fs.readdirSync(dirPath).forEach((file) => { const curPath = path.join(dirPath, file); @@ -300,7 +308,7 @@ module.exports.getByteSize = function (content) { /* * identify whether the */ -module.exports.isIpDomain = function (domain) { +module.exports.isIp = function (domain) { if (!domain) { return false; } diff --git a/lib/webInterface.js b/lib/webInterface.js index b039fc9d7..c87cbaee0 100644 --- a/lib/webInterface.js +++ b/lib/webInterface.js @@ -1,7 +1,5 @@ 'use strict'; -const DEFAULT_WEB_PORT = 8002; // port for web interface - const express = require('express'), url = require('url'), bodyParser = require('body-parser'), @@ -14,11 +12,16 @@ const express = require('express'), wsServer = require('./wsServer'), juicer = require('juicer'), ip = require('ip'), - compress = require('compression'); + compress = require('compression'), + pug = require('pug'); + +const DEFAULT_WEB_PORT = 8002; // port for web interface const packageJson = require('../package.json'); const MAX_CONTENT_SIZE = 1024 * 2000; // 2000kb + +const certFileTypes = ['crt', 'cer', 'pem', 'der']; /** * * @@ -26,7 +29,6 @@ const MAX_CONTENT_SIZE = 1024 * 2000; // 2000kb * @extends {events.EventEmitter} */ class webInterface extends events.EventEmitter { - /** * Creates an instance of webInterface. * @@ -56,7 +58,7 @@ class webInterface extends events.EventEmitter { */ getServer() { const self = this; - const recorder = self.recorder; + const recorder = self.recorder; const ipAddress = ip.address(), // userRule = proxyInstance.proxyRule, webBasePath = 'web'; @@ -68,10 +70,9 @@ class webInterface extends events.EventEmitter { customMenu = ''; // userRule._getCustomMenu(); } catch (e) { } - const myAbsAddress = 'http://' + ipAddress + ':' + self.webPort + '/', - staticDir = path.join(__dirname, '../', webBasePath); - + const staticDir = path.join(__dirname, '../', webBasePath); const app = express(); + app.use(compress()); //invoke gzip app.use((req, res, next) => { res.setHeader('note', 'THIS IS A REQUEST FROM ANYPROXY WEB INTERFACE'); @@ -147,10 +148,8 @@ class webInterface extends events.EventEmitter { if (err || !result) { res.json({}); } else if (result.statusCode === 200 && result.mime) { - if (result.type === 'json' || - result.mime.indexOf('text') === 0 || - // deal with 'application/x-javascript' and 'application/javascript' - result.mime.indexOf('javascript') > -1) { + // deal with 'application/x-javascript' and 'application/javascript' + if (/json|text|javascript/.test(result.mime)) { _resContent(); } else if (result.type === 'image') { _resDownload(false); @@ -162,7 +161,7 @@ class webInterface extends events.EventEmitter { } }); } else { - res.end({}); + res.end(''); } }); @@ -201,12 +200,18 @@ class webInterface extends events.EventEmitter { } }); + app.get('/downloadCrt', (req, res) => { + const pageFn = pug.compileFile(path.join(__dirname, '../resource/cert_download.pug')); + res.end(pageFn({ ua: req.get('user-agent') })); + }); + app.get('/fetchCrtFile', (req, res) => { res.setHeader('Access-Control-Allow-Origin', '*'); const _crtFilePath = certMgr.getRootCAFilePath(); if (_crtFilePath) { + const fileType = certFileTypes.indexOf(req.query.type) !== -1 ? req.query.type : 'crt'; res.setHeader('Content-Type', 'application/x-x509-ca-cert'); - res.setHeader('Content-Disposition', 'attachment; filename="rootCA.crt"'); + res.setHeader('Content-Disposition', `attachment; filename="rootCA.${fileType}"`); res.end(fs.readFileSync(_crtFilePath, { encoding: null })); } else { res.setHeader('Content-Type', 'text/html'); @@ -214,38 +219,21 @@ class webInterface extends events.EventEmitter { } }); - //make qr code - app.get('/qr', (req, res) => { - res.setHeader('Access-Control-Allow-Origin', '*'); - const qr = qrCode.qrcode(4, 'M'), - targetUrl = myAbsAddress; - qr.addData(targetUrl); - qr.make(); - const qrImageTag = qr.createImgTag(4); - const resDom = ' __img
      click or scan qr code to start client
      '.replace(/__url/, targetUrl).replace(/__img/, qrImageTag); - res.setHeader('Content-Type', 'text/html'); - res.end(resDom); - }); - app.get('/api/getQrCode', (req, res) => { res.setHeader('Access-Control-Allow-Origin', '*'); - const qr = qrCode.qrcode(4, 'M'), - targetUrl = myAbsAddress + 'fetchCrtFile'; + + const qr = qrCode.qrcode(4, 'M'); + const targetUrl = req.protocol + '://' + req.get('host') + '/downloadCrt'; + const isRootCAFileExists = certMgr.isRootCAFileExists(); qr.addData(targetUrl); qr.make(); - const qrImageTag = qr.createImgTag(4); - // resDom = ' __img
      click or scan qr code to download rootCA.crt
      '.replace(/__url/,targetUrl).replace(/__img/,qrImageTag); - // res.setHeader("Content-Type", "text/html"); - // res.end(resDom); - - const isRootCAFileExists = certMgr.isRootCAFileExists(); res.json({ status: 'success', url: targetUrl, isRootCAFileExists, - qrImgDom: qrImageTag + qrImgDom: qr.createImgTag(4) }); }); @@ -319,11 +307,15 @@ class webInterface extends events.EventEmitter { } close() { - this.server && this.server.close(); - this.wsServer && this.wsServer.closeAll(); - this.server = null; - this.wsServer = null; - this.proxyInstance = null; + const self = this; + return new Promise((resolve, reject) => { + self.server && self.server.close(); + self.wsServer && self.wsServer.closeAll(); + self.server = null; + self.wsServer = null; + self.proxyInstance = null; + resolve(); + }); } } diff --git a/lib/wsServer.js b/lib/wsServer.js index 7ab654a24..ec40c99d9 100644 --- a/lib/wsServer.js +++ b/lib/wsServer.js @@ -59,6 +59,7 @@ class wsServer { const self = this; self.config = config; self.recorder = recorder; + self.checkBroadcastFlagTimer = null; } start() { @@ -72,13 +73,13 @@ class wsServer { clientTracking: true, }); resolve(); - + // the queue of the messages to be delivered let messageQueue = []; // the flat to indicate wheter to broadcast the record let broadcastFlag = true; - setInterval(() => { + self.checkBroadcastFlagTimer = setInterval(() => { broadcastFlag = true; sendMultipleMessage(); }, 50); @@ -102,7 +103,7 @@ class wsServer { try { data = JSON.stringify(data); } catch (e) { - console.error('==> errorr when do broadcast ', e, data); + console.error('==> error when do broadcast ', e, data); } } for (const client of wss.clients) { @@ -161,6 +162,9 @@ class wsServer { closeAll() { const self = this; + if (self.checkBroadcastFlagTimer) { + clearInterval(self.checkBroadcastFlagTimer); + } return new Promise((resolve, reject) => { self.wss.close((e) => { if (e) { diff --git a/module_sample/https_config.js b/module_sample/https_config.js index 92ffc8248..c36f29859 100644 --- a/module_sample/https_config.js +++ b/module_sample/https_config.js @@ -3,7 +3,7 @@ const exec = require('child_process').exec; if (!AnyProxy.utils.certMgr.ifRootCAFileExists()) { AnyProxy.utils.certMgr.generateRootCA((error, keyPath) => { - // let users to trust this CA before using proxy + // let users to trust this CA before using proxy if (!error) { const certDir = require('path').dirname(keyPath); console.log('The cert is generated at', certDir); @@ -18,6 +18,6 @@ if (!AnyProxy.utils.certMgr.ifRootCAFileExists()) { } }); } else { - // clear all the certificates - // AnyProxy.utils.certMgr.clearCerts() + // clear all the certificates + // AnyProxy.utils.certMgr.clearCerts() } diff --git a/package.json b/package.json index 30b857a52..bf3deeb9e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "anyproxy", - "version": "4.0.12", + "version": "4.1.3", "description": "A fully configurable HTTP/HTTPS proxy in Node.js", "main": "proxy.js", "bin": { @@ -40,10 +40,13 @@ "ws": "^5.1.0" }, "devDependencies": { + "@babel/core": "^7.8.3", + "@babel/preset-env": "^7.8.3", "antd": "^2.5.0", "autoprefixer": "^6.4.1", "babel-core": "^6.14.0", "babel-eslint": "^7.0.0", + "babel-jest": "^24.9.0", "babel-loader": "^6.2.5", "babel-plugin-import": "^1.0.0", "babel-plugin-transform-runtime": "^6.15.0", @@ -54,19 +57,14 @@ "babel-register": "^6.11.6", "babel-runtime": "^6.11.6", "css-loader": "^0.23.1", - "eslint": "^3.5.0", + "eslint": ">=4.18.2", "eslint-config-airbnb": "^15.1.0", "eslint-plugin-import": "^2.7.0", "eslint-plugin-jsx-a11y": "^5.1.1", "eslint-plugin-react": "^7.4.0", "extract-text-webpack-plugin": "^3.0.2", "file-loader": "^0.9.0", - "https-proxy-agent": "^1.0.0", - "jasmine": "^2.5.3", - "koa": "^1.2.1", - "koa-body": "^1.4.0", - "koa-router": "^5.4.0", - "koa-send": "^3.2.0", + "jest": "^24.9.0", "less": "^2.7.1", "less-loader": "^2.2.3", "node-simhash": "^0.1.0", @@ -85,16 +83,17 @@ "stream-equal": "0.1.8", "style-loader": "^0.13.1", "svg-inline-loader": "^0.7.1", + "tunnel": "^0.0.6", "url-loader": "^0.5.7", + "urllib": "^2.34.2", "webpack": "^3.10.0", "worker-loader": "^0.7.1" }, "scripts": { "prepublish": "npm run buildweb", - "test": "node test.js", + "test": "npx jest", "lint": "eslint .", "testserver": "node test/server/startServer.js", - "testOutWeb": "jasmine test/spec_outweb/test_realweb_spec.js", "buildweb": "NODE_ENV=production webpack --config web/webpack.config.js --colors", "webserver": "NODE_ENV=test webpack --config web/webpack.config.js --colors --watch", "doc:serve": "node build_scripts/prebuild-doc.js && gitbook serve ./docs-src ./docs --log debug", @@ -108,5 +107,8 @@ "url": "https://github.com/alibaba/anyproxy" }, "author": "ottomao@gmail.com", - "license": "Apache-2.0" + "license": "Apache-2.0", + "engines": { + "node": ">=6.0.0" + } } diff --git a/proxy.js b/proxy.js index a80ca2b2e..76ce576b3 100644 --- a/proxy.js +++ b/proxy.js @@ -14,25 +14,6 @@ const http = require('http'), wsServerMgr = require('./lib/wsServerMgr'), ThrottleGroup = require('stream-throttle').ThrottleGroup; -// const memwatch = require('memwatch-next'); - -// setInterval(() => { -// console.log(process.memoryUsage()); -// const rss = Math.ceil(process.memoryUsage().rss / 1000 / 1000); -// console.log('Program is using ' + rss + ' mb of Heap.'); -// }, 1000); - -// memwatch.on('stats', (info) => { -// console.log('gc !!'); -// console.log(process.memoryUsage()); -// const rss = Math.ceil(process.memoryUsage().rss / 1000 / 1000); -// console.log('GC !! Program is using ' + rss + ' mb of Heap.'); - -// // var heapUsed = Math.ceil(process.memoryUsage().heapUsed / 1000); -// // console.log("Program is using " + heapUsed + " kb of Heap."); -// // console.log(info); -// }); - const T_TYPE_HTTP = 'http', T_TYPE_HTTPS = 'https', DEFAULT_TYPE = T_TYPE_HTTP; @@ -47,7 +28,6 @@ const PROXY_STATUS_CLOSED = 'CLOSED'; * @extends {events.EventEmitter} */ class ProxyCore extends events.EventEmitter { - /** * Creates an instance of ProxyCore. * @@ -135,7 +115,7 @@ class ProxyCore extends events.EventEmitter { */ handleExistConnections(socket) { const self = this; - self.socketIndex ++; + self.socketIndex++; const key = `socketIndex_${self.socketIndex}`; self.socketPool[key] = socket; @@ -248,7 +228,6 @@ class ProxyCore extends events.EventEmitter { return self; } - /** * close the proxy server * @@ -271,10 +250,14 @@ class ProxyCore extends events.EventEmitter { for (const cltSocketItem of this.requestHandler.cltSockets) { const key = cltSocketItem[0]; const cltSocket = cltSocketItem[1]; - logUtil.printLog(`endding https cltSocket : ${key}`); + logUtil.printLog(`closing https cltSocket : ${key}`); cltSocket.end(); } + if (this.requestHandler.httpsServerMgr) { + this.requestHandler.httpsServerMgr.close(); + } + if (this.socketPool) { for (const key in this.socketPool) { this.socketPool[key].destroy(); @@ -326,54 +309,47 @@ class ProxyServer extends ProxyCore { } start() { + if (this.recorder) { + this.recorder.setDbAutoCompact(); + } + // start web interface if neeeded if (this.proxyWebinterfaceConfig && this.proxyWebinterfaceConfig.enable) { this.webServerInstance = new WebInterface(this.proxyWebinterfaceConfig, this.recorder); // start web server - this.webServerInstance.start().then(() => { - // start proxy core - super.start(); - }) - .catch((e) => { - this.emit('error', e); - }); + this.webServerInstance.start() + // start proxy core + .then(() => { + super.start(); + }) + .catch((e) => { + this.emit('error', e); + }); } else { super.start(); } } close() { - return new Promise((resolve, reject) => { - super.close() - .then((error) => { - if (error) { - resolve(error); - } - }); - - if (this.recorder) { - logUtil.printLog('clearing cache file...'); - this.recorder.clear(); - } - const tmpWebServer = this.webServerInstance; - this.recorder = null; - this.webServerInstance = null; - if (tmpWebServer) { - logUtil.printLog('closing webserver...'); - tmpWebServer.close((error) => { - if (error) { - console.error(error); - logUtil.printLog(`proxy web server close FAILED: ${error.message}`, logUtil.T_ERR); - } else { - logUtil.printLog(`proxy web server closed at ${this.proxyHostName} : ${this.webPort}`); - } - - resolve(error); - }) - } else { - resolve(null); - } - }); + const self = this; + // release recorder + if (self.recorder) { + self.recorder.stopDbAutoCompact(); + self.recorder.clear(); + } + self.recorder = null; + + // close ProxyCore + return super.close() + // release webInterface + .then(() => { + if (self.webServerInstance) { + const tmpWebServer = self.webServerInstance; + self.webServerInstance = null; + logUtil.printLog('closing webInterface...'); + return tmpWebServer.close(); + } + }); } } diff --git a/resource/cert_download.pug b/resource/cert_download.pug new file mode 100644 index 000000000..5c5762bf4 --- /dev/null +++ b/resource/cert_download.pug @@ -0,0 +1,91 @@ +doctype html +html(lang="en") + head + title Download rootCA + meta(name='viewport', content='initial-scale=1, maximum-scale=0.5, minimum-scale=1, user-scalable=no') + style. + body { + color: #666; + line-height: 1.5; + font-size: 16px; + font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif; + } + + body * { + box-sizing: border-box; + } + + .logo { + font-size: 36px; + margin-bottom: 40px; + text-align: center; + } + + .any { + font-weight: 500; + } + + .proxy { + font-weight: 100; + } + + .title { + font-weight: bold; + margin: 20px 0 6px; + } + + .button { + text-align: center; + padding: 4px 15px 5px 15px; + font-size: 14px; + font-weight: 500; + border-radius: 4px; + height: 32px; + margin-bottom: 10px; + display: block; + text-decoration: none; + border-color: #108ee9; + color: rgba(0, 0, 0, .65); + background-color: #fff; + border-style: solid; + border-width: 1px; + border-style: solid; + border-color: #d9d9d9; + } + + .primary { + color: #fff; + background-color: #108ee9; + border-color: #108ee9; + } + + .more { + text-align: center; + font-size: 14px; + } + + .content { + word-break: break-all; + font-size: 14px; + line-height: 1.2; + margin-bottom: 10px; + } + body + .logo + span.any Any + span.proxy Proxy + .title Download: + .content Select a CA file to download, the .crt file is commonly used. + a(href="http://github.com/fetchCrtFile?type=crt").button.primary rootCA.crt + a(href="http://github.com/fetchCrtFile?type=cer").button rootCA.cer + .more More + .buttons(style='display: none') + a(href="http://github.com/fetchCrtFile?type=pem").button rootCA.pem + a(href="http://github.com/fetchCrtFile?type=der").button rootCA.der + .title User-Agent: + .content #{ua} + script(type='text/javascript'). + window.document.querySelector('.more').addEventListener('click', function (e) { + e.target.style.display = 'none'; + window.document.querySelector('.buttons').style.display = 'block'; + }); \ No newline at end of file diff --git a/test.js b/test.js deleted file mode 100644 index abd6d8ccd..000000000 --- a/test.js +++ /dev/null @@ -1,16 +0,0 @@ -const Jasmine = require('jasmine'); - -const jasmine = new Jasmine(); -const util = require('./lib/util'); -const path = require('path'); - -const testTmpPath = path.join(__dirname, './test/temp'); -const configFilePath = path.join(__dirname, './test/jasmine.json'); -// rm - rf./test / temp / -util.deleteFolderContentsRecursive(testTmpPath); - -jasmine.loadConfigFile(configFilePath); -jasmine.configureDefaultReporter({ - showColors: false -}); -jasmine.execute(); diff --git a/test/__snapshots__/basic.spec.js.snap b/test/__snapshots__/basic.spec.js.snap new file mode 100644 index 000000000..3d3b39809 --- /dev/null +++ b/test/__snapshots__/basic.spec.js.snap @@ -0,0 +1,69 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`http - HTTP verbs DELETE: args 1`] = ` +Object { + "foo": "bar", +} +`; + +exports[`http - HTTP verbs DELETE: data 1`] = `""`; + +exports[`http - HTTP verbs GET: args 1`] = ` +Object { + "param": "param_value", +} +`; + +exports[`http - HTTP verbs GET: data 1`] = `undefined`; + +exports[`http - HTTP verbs PATCH: args 1`] = `Object {}`; + +exports[`http - HTTP verbs PATCH: data 1`] = `""`; + +exports[`http - HTTP verbs POST body and header: args 1`] = `Object {}`; + +exports[`http - HTTP verbs POST body and header: data 1`] = ` +"1 +" +`; + +exports[`http - HTTP verbs PUT: args 1`] = `Object {}`; + +exports[`http - HTTP verbs PUT: data 1`] = ` +"1 +" +`; + +exports[`https - HTTP verbs DELETE: args 1`] = ` +Object { + "foo": "bar", +} +`; + +exports[`https - HTTP verbs DELETE: data 1`] = `""`; + +exports[`https - HTTP verbs GET: args 1`] = ` +Object { + "param": "param_value", +} +`; + +exports[`https - HTTP verbs GET: data 1`] = `undefined`; + +exports[`https - HTTP verbs PATCH: args 1`] = `Object {}`; + +exports[`https - HTTP verbs PATCH: data 1`] = `""`; + +exports[`https - HTTP verbs POST body and header: args 1`] = `Object {}`; + +exports[`https - HTTP verbs POST body and header: data 1`] = ` +"1 +" +`; + +exports[`https - HTTP verbs PUT: args 1`] = `Object {}`; + +exports[`https - HTTP verbs PUT: data 1`] = ` +"1 +" +`; diff --git a/test/basic.spec.js b/test/basic.spec.js new file mode 100644 index 000000000..47cb3548f --- /dev/null +++ b/test/basic.spec.js @@ -0,0 +1,247 @@ + +process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'; +const path = require('path'); +const fs = require('fs'); +const urllib = require('urllib'); +const request = require('request'); +const { basicProxyRequest, proxyServerWithRule, } = require('./util.js'); +const http = require('http'); +const WebSocket = require('ws'); +const tunnel = require('tunnel'); + +let proxyServer; +let proxyPort; +let proxyHost; +let proxyWebInterfaceHost; +beforeAll(async () => { + jest.DEFAULT_TIMEOUT_INTERVAL = 20 * 1000; + proxyServer = await proxyServerWithRule({}, {}); + proxyPort = proxyServer.proxyPort; + proxyHost = `http://localhost:${proxyPort}`; + const proxyWebInterfacePort = proxyServer.webServerInstance.webPort; + proxyWebInterfaceHost = `http://localhost:${proxyWebInterfacePort}`; +}); + +afterAll(() => { + return proxyServer && proxyServer.close(); +}); + +function doProxyWebSocket(url, headers = {}) { + let agent = new tunnel.httpOverHttp({ + proxy: { + hostname: 'localhost', + port: proxyPort, + } + }) + + if (url.indexOf('wss') === 0) { + agent = new tunnel.httpsOverHttp({ + rejectUnauthorized: false, + proxy: { + hostname: 'localhost', + port: proxyPort, + } + }) + } + + const ws = new WebSocket(url, { + agent, + rejectUnauthorized: false, + headers + }); + + return ws; +} + +['http', 'https'].forEach(protocol => { + describe(`${protocol} - HTTP verbs`, () => { + const assertProxyRes = (result) => { + const proxyRes = result.response; + const body = JSON.parse(result.body); + expect(proxyRes.statusCode).toBe(200); + expect(body.args).toMatchSnapshot('args'); + expect(body.data).toMatchSnapshot('data'); + return body; + }; + + it('GET', async () => { + const url = `${protocol}://httpbin.org/get`; + const getParam = { + param: 'param_value' + }; + await basicProxyRequest(proxyHost, 'GET', url, {}, getParam).then(assertProxyRes); + }); + + it('POST body and header', async () => { + const url = `${protocol}://httpbin.org/post`; + const payloadStream = fs.createReadStream(path.resolve(__dirname, './fixtures/upload.txt')); + + const postHeaders = { + anyproxy_header: 'header_value', + }; + + const body = await basicProxyRequest(proxyHost, 'POST', url, postHeaders, {}, payloadStream).then(assertProxyRes); + expect(body.headers['Anyproxy-Header']).toBe(postHeaders.anyproxy_header); + }); + + it('PUT', async () => { + const url = `${protocol}://httpbin.org/put`; + const payloadStream = fs.createReadStream(path.resolve(__dirname, './fixtures/upload.txt')); + await basicProxyRequest(proxyHost, 'PUT', url, {}, undefined, payloadStream).then(assertProxyRes); + }); + + it('DELETE', async () => { + const url = `${protocol}://httpbin.org/delete`; + const param = { + foo: 'bar', + }; + await basicProxyRequest(proxyHost, 'DELETE', url, {}, param).then(assertProxyRes); + }); + + it('PATCH', async () => { + const url = `${protocol}://httpbin.org/patch`; + await basicProxyRequest(proxyHost, 'PATCH', url).then(assertProxyRes); + }); + + it('Websocket', async () => { + const expectEcho = (ws) => { + return new Promise((resolve, reject) => { + const wsMsg = Buffer.alloc(100 * 1024, 'a').toString(); // 100kb + + ws.on('open', () => { + ws.send(wsMsg); + }); + + ws.on('message', (msg) => { + expect(msg).toBe(wsMsg); + ws.close(); + resolve(); + }); + }); + }; + + const wsUrl = `${protocol === 'https' ? 'wss' : 'ws'}://echo.websocket.org`; + const ws = doProxyWebSocket(wsUrl, {}); + await expectEcho(ws); + }); + }); +}); + +describe('status code and headers', () => { + [302, 404, 500].forEach(statusCode => { + it(`GET ${statusCode}`, async () => { + const status = statusCode; + const url = `http://httpbin.org/status/${status}`; + const result = await basicProxyRequest(proxyHost, 'GET', url, {}, {}); + const proxyRes = result.response; + expect(proxyRes.statusCode).toBe(statusCode); + }); + + it(`PUT ${statusCode}`, async () => { + const status = statusCode; + const url = `http://httpbin.org/status/${status}`; + const result = await basicProxyRequest(proxyHost, 'PUT', url, {}, {}); + const proxyRes = result.response; + expect(proxyRes.statusCode).toBe(statusCode); + }); + }); +}); + +describe('response data formats', () => { + ['brotli', 'deflate', 'gzip'].forEach(encoding => { + it(`GET ${encoding}`, async () => { + const url = `http://httpbin.org/${encoding}`; + const result = await basicProxyRequest(proxyHost, 'GET', url); + const headers = result.response.headers; + const body = JSON.parse(result.body); + expect(headers['content-encoding']).toBeUndefined(); // should be removed by anyproxy + expect(body.brotli || body.deflated || body.gzipped).toBeTruthy(); + }); + }); +}); + +describe('big files', () => { + const BIG_FILE_SIZE = 100 * 1024 * 1024 - 1; // 100 mb + const BUFFER_FILL = 'a'; + + let server; + beforeAll(() => { + server = http.createServer({}, (req, res) => { + if (/download/.test(req.url)) { + const bufferContent = Buffer.alloc(BIG_FILE_SIZE, BUFFER_FILL); + res.write(bufferContent); + res.end(); + } else if (/upload/.test(req.url)) { + let reqPayloadSize = 0; + req.on('data', (data) => { + const bufferLength = data.length; + reqPayloadSize += bufferLength; + const expectBufferContent = Buffer.alloc(bufferLength, BUFFER_FILL); + if (!expectBufferContent.equals(data)) { + res.statusCode = 500; + res.write('content not match'); + } + }).on('end', () => { + if (res.statusCode === 500 || reqPayloadSize !== BIG_FILE_SIZE) { + res.statusCode = 500; + } else { + res.statusCode = 200; + } + res.end(); + }); + } + }); + + server.listen(3000); + }); + + afterAll((done) => { + server && server.close(done); + }); + + it('download big file', (done) => { + let responseSizeCount = 0; + request({ + url: 'http://127.0.0.1:3000/download', + proxy: proxyHost, + }).on('data', (data) => { + const bufferLength = data.length; + responseSizeCount += bufferLength; + const expectBufferContent = Buffer.alloc(bufferLength, BUFFER_FILL); + if (!expectBufferContent.equals(data)) { + return done(new Error('download content not match')); + } + }).on('end', () => { + if (responseSizeCount !== BIG_FILE_SIZE) { + return done(new Error('file size not match')); + } + done(); + }); + }, 120 * 1000); + + it('upload big file', (done) => { + const bufferContent = Buffer.alloc(BIG_FILE_SIZE, BUFFER_FILL); + const req = request({ + url: 'http://127.0.0.1:3000/upload', + method: 'POST', + proxy: proxyHost, + }, (err, response, body) => { + if (err) { + return done(err); + } else if (response.statusCode !== 200) { + return done(new Error('upload failed ' + body)); + } + done(); + }); + req.write(bufferContent); + req.end(); + }, 120 * 1000); +}); + +describe('web interface', () => { + it('should be available', async () => { + await urllib.request(proxyWebInterfaceHost).then((result) => { + expect(result.status).toBe(200); + }); + }); +}); diff --git a/test/data/headers.js b/test/data/headers.js deleted file mode 100644 index 8062bf0f9..000000000 --- a/test/data/headers.js +++ /dev/null @@ -1,29 +0,0 @@ -/* -* 用于放置所有header信息的测试数据 -* -*/ - -// Get 和 Post共有的header信息 -/*eslint max-len: ["off"]*/ -const CommonRequestHeader = { - Accept: 'application/json;charset=utf-8,text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', - 'Accept-Charset': 'utf-8', - 'Accept-Encoding': 'gzip, deflate', - 'Accept-Language': 'zh-CN', - 'Accept-Datetime': 'Thu, 31 May 2007 20:35:00 GMT', - Authorization: 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==', - 'Cache-Control': 'no-cache', - Connection: 'keep-alive', - Cookie: 'testCookie1=cookie1; testCookie2=cookie2', - 'Content-Type': 'application/x-www-form-urlencoded', - Date: 'Tue, 15 Nov 1994 08:12:31 GMT', - Origin: 'http://localhost/', - Pragma: 'no-cache', - some_thing: 'only_to_test_letter_case', - 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36' -}; - -module.exports = { - CommonRequestHeader -}; - diff --git a/test/data/test.css b/test/data/test.css deleted file mode 100644 index 73457514a..000000000 --- a/test/data/test.css +++ /dev/null @@ -1,3 +0,0 @@ -.test { - display: block; -} \ No newline at end of file diff --git a/test/data/test.eot b/test/data/test.eot deleted file mode 100755 index c4c74f965..000000000 Binary files a/test/data/test.eot and /dev/null differ diff --git a/test/data/test.js b/test/data/test.js deleted file mode 100644 index 80214815f..000000000 --- a/test/data/test.js +++ /dev/null @@ -1,4 +0,0 @@ -function test() { - console.info('This is nothing but a js file, to test the js download'); -} -test(); diff --git a/test/data/test.json b/test/data/test.json deleted file mode 100644 index 107be9b39..000000000 --- a/test/data/test.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - 'testkey': 'this is just a normal json file' -} \ No newline at end of file diff --git a/test/data/test.png b/test/data/test.png deleted file mode 100755 index 55a2aa302..000000000 Binary files a/test/data/test.png and /dev/null differ diff --git a/test/data/test.svg b/test/data/test.svg deleted file mode 100755 index b3c6de372..000000000 --- a/test/data/test.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - -Copyright (C) 2016 by original authors @ fontello.com - - - - - - - - - - \ No newline at end of file diff --git a/test/data/test.ttf b/test/data/test.ttf deleted file mode 100755 index c3616fe23..000000000 Binary files a/test/data/test.ttf and /dev/null differ diff --git a/test/data/test.webp b/test/data/test.webp deleted file mode 100644 index 565200ab4..000000000 Binary files a/test/data/test.webp and /dev/null differ diff --git a/test/data/test.woff b/test/data/test.woff deleted file mode 100755 index 6324ce3cb..000000000 Binary files a/test/data/test.woff and /dev/null differ diff --git a/test/data/test.woff2 b/test/data/test.woff2 deleted file mode 100755 index c40c369c6..000000000 Binary files a/test/data/test.woff2 and /dev/null differ diff --git a/test/fixtures/someRule.js b/test/fixtures/someRule.js new file mode 100644 index 000000000..5b4c8fd7a --- /dev/null +++ b/test/fixtures/someRule.js @@ -0,0 +1,3 @@ +module.exports = { + foo: 'bar', +}; diff --git a/test/fixtures/upload.txt b/test/fixtures/upload.txt new file mode 100644 index 000000000..d00491fd7 --- /dev/null +++ b/test/fixtures/upload.txt @@ -0,0 +1 @@ +1 diff --git a/test/jasmine.json b/test/jasmine.json deleted file mode 100644 index 057167a5a..000000000 --- a/test/jasmine.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "spec_dir": "test", - "spec_files": [ - "spec_lib/*.js", - "spec_rule/*.js" - ], - "helpers": [ - "../node_modules/babel-register/lib/node.js", - "../node_modules/babel-polyfill/dist/polyfill.js" - ], - "stopSpecOnExpectationFailure": false, - "random": false -} diff --git a/test/large_post.js b/test/large_post.js deleted file mode 100644 index 45c586568..000000000 --- a/test/large_post.js +++ /dev/null @@ -1,35 +0,0 @@ -const proxyTester = require('proxy-eval'), - Buffer = require('buffer').Buffer, - express = require('express'); - -const app = express(); - -app.post('/', (req, res) => { - const bigBody = new Buffer(1024 * 1024 * 10); - res.send(bigBody); //10 mb -}); -app.listen(3000); - -function test() { - //test the basic availibility of proxy server - setTimeout(() => { - const testParam = { - proxy: 'http://127.0.0.1:8001/', - reqTimeout: 4500, - httpGetUrl: '', - httpPostUrl: 'http://127.0.0.1:3000/', - httpPostBody: '123', - httpsGetUrl: '', - httpsPostUrl: '', - httpsPostBody: '' - }; - proxyTester.test(testParam, (results) => { - process.exit(); - }); - }, 1000); -} - -setTimeout(() => { - test(); -}, 3000); - diff --git a/test/lib/httpsServerMgr.spec.js b/test/lib/httpsServerMgr.spec.js new file mode 100644 index 000000000..f4b5f788b --- /dev/null +++ b/test/lib/httpsServerMgr.spec.js @@ -0,0 +1,67 @@ +const tls = require('tls'); +const httpsServerMgr = require('../../lib/httpsServerMgr'); + +describe('httpsServerMgr', () => { + let serverMgrInstance; + + beforeAll(async () => { + serverMgrInstance = new httpsServerMgr({ + hostname: '127.0.0.1', + handler: (req, res) => { + res.end('hello world'); + }, + wsHandler: () => { }, + }); + }); + + afterAll(async () => { + await serverMgrInstance.close(); + }); + + it('SNI server should work properly', async () => { + const sniServerA = await serverMgrInstance.getSharedHttpsServer('a.anyproxy.io'); + const sniServerB = await serverMgrInstance.getSharedHttpsServer('b.anyproxy.io'); + + expect(sniServerA).toEqual(sniServerB); // SNI - common server + + const connectHostname = 'some_new_host.anyproxy.io'; + const connectOpt = { + servername: connectHostname, // servername is required for sni server + rejectUnauthorized: false, + } + await new Promise((resolve, reject) => { + const socketToSNIServer = tls.connect(sniServerA.port, '127.0.0.1', connectOpt, (tlsSocket) => { + // console.log('client to SNI server connected, ', socketToSNIServer.authorized ? 'authorized' : 'unauthorized'); + const certSubject = socketToSNIServer.getPeerCertificate().subject; + expect(certSubject.CN).toEqual(connectHostname); + socketToSNIServer.end(); + resolve(); + }); + + socketToSNIServer.on('keylog', line => { + console.log(line); + }) + }); + }); + + it('IP server should work properly', async () => { + const ipServerHost = '1.2.3.4'; + const anotherSNIServer = await serverMgrInstance.getSharedHttpsServer('c.anyproxy.io'); + const ipServerA = await serverMgrInstance.getSharedHttpsServer(ipServerHost); + const ipServerB = await serverMgrInstance.getSharedHttpsServer('5.6.7.8'); + expect(ipServerA).not.toEqual(ipServerB); + expect(anotherSNIServer).not.toEqual(ipServerA); + + const connectOpt = { + rejectUnauthorized: false, + } + await new Promise((resolve, reject) => { + const socketToIpServer = tls.connect(ipServerA.port, '127.0.0.1', connectOpt, () => { + const certSubject = socketToIpServer.getPeerCertificate().subject; + expect(certSubject.CN).toEqual(ipServerHost); + socketToIpServer.end(); + resolve(); + }); + }); + }); +}); diff --git a/test/spec_lib/ruleLoader.js b/test/lib/ruleLoader.spec.js similarity index 56% rename from test/spec_lib/ruleLoader.js rename to test/lib/ruleLoader.spec.js index 3bf4560c0..5674b13b4 100644 --- a/test/spec_lib/ruleLoader.js +++ b/test/lib/ruleLoader.spec.js @@ -1,34 +1,25 @@ -/* -* test for rule replaceOption rule -* -*/ - const ruleLoader = require('../../lib/ruleLoader'); const fs = require('fs'); const path = require('path'); -const localModulePath = path.join(__dirname, '../util/CommonUtil.js'); -describe('rule loader', () => { - it('should successfully cache a remote file', done => { - ruleLoader.cacheRemoteFile('https://cdn.bootcss.com/lodash.js/4.16.4/lodash.min.js') +const localModulePath = path.join(__dirname, '../fixtures/someRule.js'); +describe('ruleLoader', () => { + it('should successfully cache a remote file', async () => { + await ruleLoader.cacheRemoteFile('https://cdn.bootcss.com/lodash.js/4.16.4/lodash.min.js') .then(filePath => { let content; if (filePath) { content = fs.readFileSync(filePath, { encoding: 'utf8' }); } expect(content && content.length > 100).toBe(true); - done(); - }) - .catch(done.fail); + }); }); - it('should load a local module ../util/CommonUtil', done => { - ruleLoader.loadLocalPath(localModulePath) + it('should load a local module ../util/CommonUtil', async () => { + await ruleLoader.loadLocalPath(localModulePath) .then(module => { - expect(module.printLog).not.toBeUndefined(); - done(); - }) - .catch(done.fail); + expect(module.foo).not.toBeUndefined(); + }); }); it('should smart load a remote module', done => { @@ -43,7 +34,7 @@ describe('rule loader', () => { it('should smart load a local module', done => { ruleLoader.requireModule(localModulePath) .then(module => { - expect(module.printLog).not.toBeUndefined(); + expect(module.foo).not.toBeUndefined(); done(); }) .catch(done.fail); diff --git a/test/spec_lib/util.js b/test/lib/util.spec.js similarity index 73% rename from test/spec_lib/util.js rename to test/lib/util.spec.js index 8881df3c0..d01afcbb0 100644 --- a/test/spec_lib/util.js +++ b/test/lib/util.spec.js @@ -1,17 +1,13 @@ -/* -* test for rule replaceOption rule -* -*/ const util = require('../../lib/util'); describe('utils', () => { - it('should get some free ports', done => { + it('getFreePort', async () => { const count = 100; const tasks = []; for (let i = 1; i <= count; i++) { tasks.push(util.getFreePort()); } - Promise.all(tasks) + await Promise.all(tasks) .then((results) => { // ensure ports are unique const portMap = {}; @@ -19,8 +15,6 @@ describe('utils', () => { portMap[portNumber] = true; }); expect(Object.keys(portMap).length).toEqual(count); - done(); - }) - .catch(done.fail); + }); }); }); diff --git a/test/report/README b/test/report/README deleted file mode 100644 index bb7c5113c..000000000 --- a/test/report/README +++ /dev/null @@ -1 +0,0 @@ -* this is a folder to save test reports * \ No newline at end of file diff --git a/test/rule/beforeDealHttpsRequest.spec.js b/test/rule/beforeDealHttpsRequest.spec.js new file mode 100644 index 000000000..0bcbfed3c --- /dev/null +++ b/test/rule/beforeDealHttpsRequest.spec.js @@ -0,0 +1,50 @@ +const fs = require('fs'); +const path = require('path'); +const { basicProxyRequest, proxyServerWithRule, } = require('../util.js'); + +const RULE_PAYLOAD = 'this is something in rule'; + +const rule = { + *beforeSendRequest(requestDetail) { + const requestOptions = requestDetail.requestOptions; + return { + requestOptions, + requestData: RULE_PAYLOAD, + }; + }, + + *beforeDealHttpsRequest(requestDetail) { + return requestDetail.host.indexOf('httpbin.org') >= 0; + } +}; + +describe('Rule beforeDealHttpsRequest', () => { + let proxyServer; + let proxyPort; + let proxyHost; + + beforeAll(async () => { + proxyServer = await proxyServerWithRule(rule); + proxyPort = proxyServer.proxyPort; + proxyHost = `http://localhost:${proxyPort}`; + }); + + afterAll(() => { + return proxyServer && proxyServer.close(); + }); + it('Should replace the https request body', async () => { + const url = 'https://httpbin.org/put'; + const payloadStream = fs.createReadStream(path.resolve(__dirname, '../fixtures/upload.txt')); + const postHeaders = { + anyproxy_header: 'header_value', + }; + + await basicProxyRequest(proxyHost, 'PUT', url, postHeaders, {}, payloadStream).then((result) => { + const proxyRes = result.response; + const body = JSON.parse(result.body); + expect(proxyRes.statusCode).toBe(200); + expect(body.data).toEqual(RULE_PAYLOAD); + expect(body.url.indexOf('/put')).toBeGreaterThan(0); + }); + }); +}); diff --git a/test/rule/beforeSendRequest.spec.js b/test/rule/beforeSendRequest.spec.js new file mode 100644 index 000000000..52c31318b --- /dev/null +++ b/test/rule/beforeSendRequest.spec.js @@ -0,0 +1,93 @@ +const fs = require('fs'); +const path = require('path'); +const { basicProxyRequest, proxyServerWithRule, } = require('../util.js'); + +const RULE_PAYLOAD = 'this is something in rule'; +const RULE_REPLACE_HEADER_KEY = 'rule_replace_header_key'; +const RULE_REPLACE_HEADER_VALUE = 'rule_replace_header_value'; + +const rule = { + *beforeSendRequest(requestDetail) { + const reqUrl = requestDetail.url; + if (reqUrl.indexOf('/post') >= 0) { + const requestOptions = requestDetail.requestOptions; + requestOptions.path = '/put'; + requestOptions.method = 'PUT'; + return { + requestOptions, + requestData: RULE_PAYLOAD, + }; + } else if (reqUrl.indexOf('/status/302') >= 0) { + return { + response: { + statusCode: 404, + header: { + [RULE_REPLACE_HEADER_KEY]: RULE_REPLACE_HEADER_VALUE, + 'content-type': 'plain/text', + }, + body: RULE_PAYLOAD + } + }; + } else if (reqUrl.indexOf('/should_be_replaced') >= 0) { + const requestOptions = requestDetail.requestOptions; + requestOptions.hostname = 'httpbin.org'; + requestOptions.path = '/status/302'; + requestOptions.port = '443'; + return { + protocol: 'https', + requestOptions, + }; + } + } +}; + +describe('Rule replaceRequestData', () => { + let proxyServer; + let proxyPort; + let proxyHost; + + beforeAll(async () => { + proxyServer = await proxyServerWithRule(rule); + proxyPort = proxyServer.proxyPort; + proxyHost = `http://localhost:${proxyPort}`; + }); + + afterAll(() => { + return proxyServer && proxyServer.close(); + }); + + it('should replace the request data in proxy if the assertion is true', async () => { + const url = 'http://httpbin.org/post'; + const payloadStream = fs.createReadStream(path.resolve(__dirname, '../fixtures/upload.txt')); + const postHeaders = { + anyproxy_header: 'header_value', + }; + + await basicProxyRequest(proxyHost, 'POST', url, postHeaders, {}, payloadStream).then((result) => { + const proxyRes = result.response; + const body = JSON.parse(result.body); + expect(proxyRes.statusCode).toBe(200); + expect(body.data).toEqual(RULE_PAYLOAD); + expect(body.url.indexOf('/put')).toBeGreaterThan(0); + }); + }); + + it('should respond content specified in rule', async () => { + const url = 'http://httpbin.org/status/302'; + await basicProxyRequest(proxyHost, 'GET', url).then((result) => { + const proxyRes = result.response; + const body = result.body; + expect(body).toBe(RULE_PAYLOAD); + expect(proxyRes.statusCode).toBe(404); + expect(proxyRes.headers[RULE_REPLACE_HEADER_KEY]).toBe(RULE_REPLACE_HEADER_VALUE); + }); + }); + + it('should replace protocol and url', async () => { + const url = 'http://domain_not_exists.anyproxy.io/should_be_replaced'; + await basicProxyRequest(proxyHost, 'GET', url).then((result) => { + const proxyRes = result.response; + expect(proxyRes.statusCode).toBe(302); + }); + }); +}); diff --git a/test/rule/beforeSendResponse.js b/test/rule/beforeSendResponse.js new file mode 100644 index 000000000..dd4169d75 --- /dev/null +++ b/test/rule/beforeSendResponse.js @@ -0,0 +1,45 @@ +const { basicProxyRequest, proxyServerWithRule, } = require('../util.js'); + +const RULE_REPLACE_HEADER_KEY = 'rule_replace_header_key'; +const RULE_REPLACE_HEADER_VALUE = 'rule_replace_header_value'; +const RULE_REPLACE_BODY = 'RULE_REPLACE_BODY'; +const rule = { + *beforeSendResponse(requestDetail, responseDetail) { + if (requestDetail.url.indexOf('/uuid') >= 0) { + const newResponse = responseDetail.response; + newResponse.header[RULE_REPLACE_HEADER_KEY] = RULE_REPLACE_HEADER_VALUE; + newResponse.body = RULE_REPLACE_BODY; + newResponse.statusCode = 502; + return { + response: newResponse, + }; + } + }, +}; + +describe('Rule replaceResponseData', () => { + let proxyServer; + let proxyPort; + let proxyHost; + + beforeAll(async () => { + proxyServer = await proxyServerWithRule(rule); + proxyPort = proxyServer.proxyPort; + proxyHost = `http://localhost:${proxyPort}`; + }); + + afterAll(() => { + return proxyServer && proxyServer.close(); + }); + + it('Should replace the header and body', async () => { + const url = 'http://httpbin.org/uuid'; + await basicProxyRequest(proxyHost, 'GET', url).then((result) => { + const proxyRes = result.response; + const body = result.body; + expect(proxyRes.statusCode).toBe(502); + expect(proxyRes.headers[RULE_REPLACE_HEADER_KEY]).toBe(RULE_REPLACE_HEADER_VALUE); + expect(body).toBe(RULE_REPLACE_BODY); + }); + }); +}); diff --git a/test/rule/onError.spec.js b/test/rule/onError.spec.js new file mode 100644 index 000000000..b03c9e0b3 --- /dev/null +++ b/test/rule/onError.spec.js @@ -0,0 +1,60 @@ +const { basicProxyRequest, proxyServerWithRule, } = require('../util.js'); + +const jestMockErrorFn = jest.fn(); +const jestMockConnectErrorFn = jest.fn(); + +const ERROR_PAGE_IN_RULE = 'this is my error page'; +const rule = { + onConnectError: jestMockConnectErrorFn, + *onError(requestDetail, error) { + jestMockErrorFn(requestDetail, error); + return { + response: { + statusCode: '200', + header: {}, + body: ERROR_PAGE_IN_RULE, + } + }; + }, + *beforeDealHttpsRequest(requestDetail) { + return requestDetail.host.indexOf('intercept') === 0; + }, +}; + +describe('Rule replaceResponseData', () => { + let proxyServer; + let proxyPort; + let proxyHost; + + beforeAll(async () => { + proxyServer = await proxyServerWithRule(rule); + proxyPort = proxyServer.proxyPort; + proxyHost = `http://localhost:${proxyPort}`; + }); + + afterAll(() => { + return proxyServer && proxyServer.close(); + }); + + it('should get error', async () => { + const url = 'https://intercept.anyproxy_not_exists.io/some_path'; + const result = await basicProxyRequest(proxyHost, 'GET', url); + const proxyRes = result.response; + const body = result.body; + expect(proxyRes.statusCode).toBe(200); + expect(body).toBe(ERROR_PAGE_IN_RULE); + expect(jestMockErrorFn.mock.calls.length).toBe(1); + }); + + it('should get connec error', async () => { + const url = 'https://anyproxy_not_exists.io/do_not_intercept'; + let e; + try { + await basicProxyRequest(proxyHost, 'GET', url); + } catch (err) { + e = err; + } + expect(e).not.toBeUndefined(); + expect(jestMockConnectErrorFn.mock.calls.length).toBe(1); + }); +}); diff --git a/test/server/server.js b/test/server/server.js deleted file mode 100644 index fcab17ffb..000000000 --- a/test/server/server.js +++ /dev/null @@ -1,363 +0,0 @@ -const Koa = require('koa'); -const KoaRouter = require('koa-router'); -const koaBody = require('koa-body'); -const send = require('koa-send'); -const path = require('path'); -const https = require('https'); -const certMgr = require('../../lib/certMgr'); -const fs = require('fs'); -const nurl = require('url'); -const color = require('colorful'); -const WebSocketServer = require('ws').Server; -const tls = require('tls'); -const crypto = require('crypto'); - -const createSecureContext = tls.createSecureContext || crypto.createSecureContext; - -const DEFAULT_PORT = 3000; -const HTTPS_PORT = 3001; -const HTTPS_PORT2 = 3002; // start multiple https server -const UPLOAD_DIR = path.resolve(__dirname, '../temp'); -const PROXY_KEY_PREFIX = 'proxy-'; - -function SNICertCallback(serverName, SNICallback) { - certMgr.getCertificate(serverName, (err, key, crt) => { - if (err) { - console.error('error happend in sni callback', err); - return; - } - const ctx = createSecureContext({ - key, - cert: crt - }); - - SNICallback(null, ctx); - }); -} - -function KoaServer() { - this.httpServer = null; - this.httpsServer = null; - this.requestRecordMap = {}; // store all request data to the map - const self = this; - - /** - * log the request info, write as - */ - this.logRequest = function *(next) { - const headers = this.request.headers; - let key = this.request.protocol + '://' + this.request.host + nurl.parse(this.request.url).pathname; // remove param to get clean key - - // take proxy data with 'proxy-' + url - if (headers['via-proxy'] === 'true') { - key = PROXY_KEY_PREFIX + key; - } - - printLog('log request with key :' + key); - let body = this.request.body; - body = typeof body === 'object' ? JSON.stringify(body) : body; - - self.requestRecordMap[key] = { - headers, - body - }; - yield next; - }; - - this.logWsRequest = function (wsReq) { - const headers = wsReq.headers; - const host = headers.host; - const isEncript = true && wsReq.connection && wsReq.connection.encrypted; - const protocol = isEncript ? 'wss' : 'ws'; - let key = `${protocol}://${host}${wsReq.url}`; - // take proxy data with 'proxy-' + url - if (headers['via-proxy'] === 'true') { - key = PROXY_KEY_PREFIX + key; - } - - self.requestRecordMap[key] = { - headers: wsReq.headers, - body: '' - } - }; - - this.start(); -} - -KoaServer.prototype.constructRouter = function () { - const router = KoaRouter(); - router.post('/test/getuser', koaBody(), this.logRequest, function *(next) { - printLog('requesting post /test/getuser'); - this.response.set('reqbody', JSON.stringify(this.request.body)); - this.response.body = 'body_post_getuser'; - }); - - router.get('/test', this.logRequest, function *(next) { - printLog('request in get: ' + JSON.stringify(this.request)); - this.cookies.set('a1', 'a1value'); - this.cookies.set('a2', 'a2value'); - this.cookies.set('a3', 'a3value'); - this.response.set('header1', 'cookie2=headervalue2'); - - this.response.body = 'something'; - this.response.__req = this.request; - printLog('response in get:' + JSON.stringify(this.response)); - }); - - router.get('/test/uselocal', this.logRequest, function *(next) { - printLog('request in get local:' + JSON.stringify(this.request)); - this.response.body = 'something should be in local'; - // this.response.__req = this.request; - printLog('response in get:' + JSON.stringify(this.response)); - }); - - ['png', 'webp', 'json', 'js', 'css', 'ttf', 'eot', 'svg', 'woff', 'woff2'].forEach(item => { - router.get(`/test/download/${item}`, this.logRequest, function *(next) { - yield send(this, `./data/test.${item}`, { - root: path.resolve(__dirname, '../') - }); - }); - }); - - router.get('/test/response/304', this.logRequest, function *(next) { - this.response.set('Content-Encoding', 'gzip'); - this.status = 304; - }); - - router.get('/test/response/303', function *(next) { - printLog('now to redirect 303'); - this.redirect('/test'); - this.status = 303; - }); - - router.get('/test/response/302', function *(next) { - printLog('now to redirect 302'); - this.redirect('/test'); - }); - - router.get('/test/response/301', function *(next) { - printLog('now to redirect permanently'); - this.redirect('/test'); - this.status = 301; - }); - - const onFileBegin = function (name, file) { - if (!fs.existsSync(UPLOAD_DIR)) { - try { - fs.mkdirSync(UPLOAD_DIR, '0777'); - } catch (e) { - console.log(e); - return null; - } - } - - file.name = 'test_upload_' + Date.now() + '.png'; - const folder = path.dirname(file.path); - file.path = path.join(folder, file.name); - }; - - router.post('/test/upload/png', - this.logRequest, - koaBody({ - multipart: true, - formidable: { - uploadDir: UPLOAD_DIR, - onFileBegin - } - }), - function *(next) { - const file = this.request.body.files.file; - this.response.set('reqbody', JSON.stringify(this.request.body.fields)); - this.response.body = file.path; - } - ); - - router.put('/test/upload/putpng', - this.logRequest, - koaBody({ - multipart: true, - formidable: { - uploadDir: UPLOAD_DIR, - onFileBegin - } - }), - function *(next) { - const file = this.request.body.files.file; - this.response.body = file.path; - } - ); - - router.put('/test/put', koaBody(), this.logRequest, function *(next) { - printLog('requesting put /test/put' + JSON.stringify(this.request)); - this.response.body = 'something in put'; - }); - - router.delete('/test/delete/:id', this.logRequest, function *(next) { - printLog('requesting delete /test/delete/:id' + JSON.stringify(this.params)); - this.response.body = 'something in delete'; - }); - - router.head('/test/head', this.logRequest, function *(next) { - printLog('requesting head /test/head'); - this.response.body = ''; // the body will not be passed to response, in HEAD request - this.response.set('reqBody', 'head_request_contains_no_resbody'); - }); - - router.options('/test/options', this.logRequest, function *(next) { - printLog('requesting options /test/options'); - this.response.body = 'could_be_empty'; - this.response.set('Allow', 'GET, HEAD, POST, OPTIONS'); - }); - - // router.connect('/test/connect', function *(next) { - // printLog('requesting connect /test/connect'); - // this.response.body = 'connect_established_body'; - // }); - - router.get('/test/should_not_replace_option', this.logRequest, function *(next) { - this.response.body = 'the_option_that_not_be_replaced'; - }); - - router.get('/test/should_replace_option', this.logRequest, function *(next) { - this.response.body = 'the_request_that_has_not_be_replaced'; - }); - - router.get('/test/new_replace_option', this.logRequest, function *(next) { - this.response.body = 'the_new_replaced_option_page_content'; - }); - - router.get('/test/normal_request1', this.logRequest, koaBody(), function *(next) { - printLog('requesting get /test/normal_request1'); - this.response.body = 'body_normal_request1'; - }); - - router.get('/test/normal_request2', this.logRequest, koaBody(), function *(next) { - printLog('requesting get /test/normal_request2'); - this.response.body = 'body_normal_request2'; - }); - - router.post('/test/normal_post_request1', koaBody(), this.logRequest, function *(next) { - printLog('requesting post /test/normal_post_request1'); - this.response.body = 'body_normal_post_request1'; - }); - - router.get('/big_response', this.logRequest, function *(next) { - const buf = new Buffer(1 * 1024 * 1024 * 1024); // 1GB - buf.fill(1); - printLog('request in get big response of 1GB'); - this.response.type = 'application/octet-stream'; - this.response.body = buf; - }); - - return router; -}; - -KoaServer.prototype.createWsServer = function (httpServer) { - const wsServer = new WebSocketServer({ - server: httpServer, - path: '/test/socket' - }); - wsServer.on('connection', (ws, wsReq) => { - const self = this; - self.logWsRequest(wsReq); - const messageObj = { - type: 'initial', - content: 'default message' - }; - - ws.send(JSON.stringify(messageObj)); - ws.on('message', message => { - printLog('message from request socket: ' + message); - self.handleRecievedMessage(ws, message); - }); - }) -}; - -KoaServer.prototype.getRequestRecord = function (key) { - return this.requestRecordMap[key] || null; -}; - -KoaServer.prototype.getProxyRequestRecord = function (key) { - key = PROXY_KEY_PREFIX + key; - return this.requestRecordMap[key] || null; -}; - -KoaServer.prototype.handleRecievedMessage = function (ws, message) { - const newMessage = { - type: 'onMessage', - content: message - }; - ws.send(JSON.stringify(newMessage)); -}; - -KoaServer.prototype.start = function () { - printLog('Starting the server...'); - const router = this.constructRouter(); - const self = this; - const app = Koa(); - - app.use(router.routes()); - this.httpServer = app.listen(DEFAULT_PORT); - this.createWsServer(this.httpServer); - - - printLog('HTTP is now listening on port :' + DEFAULT_PORT); - - certMgr.getCertificate('localhost', (error, keyContent, crtContent) => { - if (error) { - console.error('failed to create https server:', error); - } else { - self.httpsServer = https.createServer({ - SNICallback: SNICertCallback, - key: keyContent, - cert: crtContent - }, app.callback()); - - // create wss server - const wss = new WebSocketServer({ - server: self.httpsServer - }); - - wss.on('connection', (ws, wsReq) => { - self.logWsRequest(wsReq); - ws.on('message', (message) => { - printLog('received in wss: ' + message); - self.handleRecievedMessage(ws, message); - }); - }); - - wss.on('error', e => console.error('error happened in wss:%s', e)); - - self.httpsServer.listen(HTTPS_PORT); - - self.httpsServer2 = https.createServer({ - key: keyContent, - cert: crtContent - }, app.callback()); - - self.httpsServer2.listen(HTTPS_PORT2); - - printLog('HTTPS is now listening on port :' + HTTPS_PORT); - - printLog('Server started successfully'); - } - }); - - return this; -}; - -KoaServer.prototype.close = function () { - printLog('Closing server now...'); - this.httpServer && this.httpServer.close(); - this.httpsServer && this.httpsServer.close(); - this.httpsServer2 && this.httpsServer2.close(); - this.requestRecordMap = {}; - printLog('Server closed successfully'); -}; - - -function printLog(content) { - console.log(color.cyan('[SERVER LOG]: ' + content)); -} - -module.exports = KoaServer; diff --git a/test/server/startServer.js b/test/server/startServer.js deleted file mode 100644 index 7b861e3a6..000000000 --- a/test/server/startServer.js +++ /dev/null @@ -1,3 +0,0 @@ -const Server = require('./server.js'); - -new Server(); diff --git a/test/spec_lib/proxyServerModule.js b/test/spec_lib/proxyServerModule.js deleted file mode 100644 index 0b87a2c50..000000000 --- a/test/spec_lib/proxyServerModule.js +++ /dev/null @@ -1,92 +0,0 @@ -/* -* test for rule replaceOption rule -* -*/ -const ip = require('ip'); -const AnyProxy = require('../../proxy'); -const { proxyGet, directGet } = require('../util/HttpUtil.js'); -const Server = require('../server/server.js'); - -const OUT_BOUND_IP = ip.address(); - -describe('AnyProxy.proxyServer basic test', () => { - it('should successfully start a proxy server', done => { - const options = { - port: 8001, - rule: null, - webInterface: { - enable: true, - webPort: 8002 - }, - throttle: 10000, - forceProxyHttps: false, - silent: false - }; - const proxyServer = new AnyProxy.ProxyServer(options); - proxyServer.on('ready', () => { - proxyServer.close(); - done(); - }); - proxyServer.on('error', done.fail); - proxyServer.start(); - }); -}); - -describe('AnyProxy.proxyServer high order test', () => { - let proxyServer; - let serverInstance; - beforeAll(done => { - // jasmine.DEFAULT_TIMEOUT_INTERVAL = 5000; - serverInstance = new Server(); - - const options = { - port: 8001, - rule: null, - webInterface: { - enable: true, - webPort: 8002, - }, - throttle: 10000, - forceProxyHttps: false, - silent: false - }; - proxyServer = new AnyProxy.ProxyServer(options); - proxyServer.on('ready', done); - proxyServer.start(); - }); - - afterAll(() => { - proxyServer && proxyServer.close(); - serverInstance && serverInstance.close(); - }); - - it('should work as expected for domain host', done => { - // test if proxy server works - proxyGet('https://www.tmall.com/', {}, {}) - .then(res => { - expect(res && res.statusCode && res.statusCode === 200 && res.body.length > 300).toBe(true); - done(); - }) - .catch(done) - }); - - it('should work as expected for ip host', done => { - // test if proxy server works - proxyGet(`https://${OUT_BOUND_IP}:3001/test`, {}, {}) - .then(res => { - expect(res && res.statusCode && res.statusCode === 200).toBe(true); - done(); - }) - .catch(done) - }); - - it('should start webinterface correctly', done => { - // test web interface - directGet('http://127.0.0.1:8002/', {}, {}) - .then(res => { - expect(res && res.statusCode && res.statusCode === 200 && res.body.length > 300).toBe(true); - done(); - }) - .catch(done) - }); -}); diff --git a/test/spec_outweb/test_realweb_spec.js b/test/spec_outweb/test_realweb_spec.js deleted file mode 100644 index 697086555..000000000 --- a/test/spec_outweb/test_realweb_spec.js +++ /dev/null @@ -1,147 +0,0 @@ - -/** - * use phantomjs to capture requests in real websites, then compare the directly-connected response with those through AnyProxy - */ -const fs = require('fs'); -const ProxyServerUtil = require('../util/ProxyServerUtil.js'); -const HttpUtil = require('../util/HttpUtil.js'); -const path = require('path'); -const { printLog, printError, printHilite, stringSimilarity } = require('../util/CommonUtil.js'); - -const reportPath = path.join(__dirname, '../report/'); - -const testUrls = ['https://www.taobao.com/', 'https://www.baidu.com/', 'https://www.tmall.com/']; - -let direcrtResponseSampleA = []; -let direcrtResponseSampleB = []; -let proxyResponse = []; - -function test(url, requestHeaders = {}) { - describe('Test requests in real broswer', () => { - let proxyServer; - - beforeAll((done) => { - jasmine.DEFAULT_TIMEOUT_INTERVAL = 200000; - printLog('Start server for ' + url); - - proxyServer = ProxyServerUtil.defaultProxyServer(); - setTimeout(() => { - done(); - }, 2000); - }); - - afterAll(() => { - proxyServer && proxyServer.close(); - printLog('Closed server for ' + url); - }); - - it(`Request towards ${url}`, (done) => { - HttpUtil.getRequestListFromPage(url).then((arr) => { - const directPromisesA = []; - const directPromisesB = []; - const proxyPromises = []; - arr.forEach((data, i) => { - const requestPath = data.url; - const headers = data.headers; - const method = data.method; - const params = data.method === 'POST' ? JSON.parse(data.postData) : {}; - if (HttpUtil.isSupportedProtocol(requestPath)) { - directPromisesA.push(HttpUtil.directRequest(method, requestPath, params, headers)); - directPromisesB.push(HttpUtil.directRequest(method, requestPath, params, headers)); - proxyPromises.push(HttpUtil.proxyRequest(method, requestPath, params, headers)); - } - }); - Promise.all(directPromisesA).then(responseArr => { direcrtResponseSampleA = responseArr }).then(() => { - Promise.all(directPromisesB).then(responseArr => { direcrtResponseSampleB = responseArr }).then(() => { - Promise.all(proxyPromises).then(responseArr => { proxyResponse = responseArr }).then(() => { - showResponseResult(); - const { compareResult: TESTRESULT, errRecord } = compareResponses(url); - const reportFile = dealLogFile(errRecord, url, () => { - printHilite('====== COMPARE RESULT: ' + TESTRESULT.toString().toUpperCase() + ' ======'); - !TESTRESULT && printHilite(`Check more details in ${reportFile}`); - // expect(TESTRESULT).toBe(true); - done(); - }); - }) - .catch((err) => { - printError(err); - done(); - }); - }) - .catch((err) => { - printError(err); - done(); - }); - }) - .catch((err) => { - printError(err); - done(); - }); - }); - }) - }) -} - -function compareResponses(curUrl) { - const errRecord = []; - if (direcrtResponseSampleA.length !== direcrtResponseSampleB.length || direcrtResponseSampleA.length !== proxyResponse.length) { - printError('compare fail: length not match'); - return { - compareResult: false, - errRecord - } - } - for (let i = 0; i < proxyResponse.length; i++) { - const direcrtResponseInfoA = direcrtResponseSampleA[i]; - const direcrtResponseInfoB = direcrtResponseSampleB[i]; - const proxyResponseInfo = proxyResponse[i]; - const { similarity: similarity_direct } = stringSimilarity(stringify(direcrtResponseInfoA.body), stringify(direcrtResponseInfoB.body)); - const { similarity: similarity_proxy } = stringSimilarity(stringify(direcrtResponseInfoA.body), stringify(proxyResponseInfo.body)); - if (similarity_direct !== similarity_proxy) { - let LogText = `Similarity from ${proxyResponseInfo.request.href} between direct samples and proxy is not equal : ${similarity_direct} | ${similarity_proxy}\n`; - printError(LogText); - LogText += `\n${stringify(direcrtResponseInfoA.body)}`; - LogText += '\n=============================================\n'; - LogText += `${stringify(direcrtResponseInfoB.body)}`; - LogText += '\n=============================================\n'; - LogText += `${stringify(proxyResponseInfo.body)}\n\n`; - errRecord.push(LogText); - } - } - return { - compareResult: errRecord.length === 0, - errRecord - }; -} - -function stringify(data) { - return data ? data.replace(/\s+/g, '') : ''; -} - -function showResponseResult() { - if (direcrtResponseSampleA.length !== direcrtResponseSampleB.length || direcrtResponseSampleA.length !== proxyResponse.length) { - printError('compare fail: length not match'); - } - proxyResponse.forEach((dataObj, i) => { - const direcrtResponseInfoA = direcrtResponseSampleA[i]; - const direcrtResponseInfoB = direcrtResponseSampleB[i]; - printLog(`Direct Sample A ${direcrtResponseInfoA.request.method}: ${direcrtResponseInfoA.request.href} ${direcrtResponseInfoA.statusCode}${direcrtResponseInfoA.statusMessage}`); - printLog(`Direct Sample B ${direcrtResponseInfoB.request.method}: ${direcrtResponseInfoB.request.href} ${direcrtResponseInfoB.statusCode}${direcrtResponseInfoB.statusMessage}`); - printLog(`PROXY ${dataObj.request.method}: ${dataObj.request.href} ${dataObj.statusCode}${dataObj.statusMessage}`); - }) - console.log('\n'); -} - -function dealLogFile(dataObj = 'Log', url, cb) { - const filePath = reportPath + url.replace(/[^\u4E00-\u9FA5A-Za-z\s()()\d•·]/g, '_') + '.txt'; - fs.writeFile(filePath, dataObj, (err) => { - if (err) throw err; - console.log('Log is saved!'); - cb && cb(); - }); - return filePath; -} - -testUrls.forEach((link) => { - test(link); -}); diff --git a/test/spec_rule/no_rule_big_response_spec.js b/test/spec_rule/no_rule_big_response_spec.js deleted file mode 100644 index a215ab8fe..000000000 --- a/test/spec_rule/no_rule_big_response_spec.js +++ /dev/null @@ -1,42 +0,0 @@ -process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'; -const { printLog } = require('../util/CommonUtil.js'); -const spawn = require('child_process').spawn; -const Server = require('../server/server.js'); - -const ProxyServerUtil = require('../util/ProxyServerUtil.js'); - -describe('Test request with big body', () => { - let proxyServer; - let serverInstance; - - beforeAll((done) => { - jasmine.DEFAULT_TIMEOUT_INTERVAL = 200000; - printLog('Start server for no_rule_big_response'); - - serverInstance = new Server(); - proxyServer = ProxyServerUtil.defaultProxyServer(); - - setTimeout(() => { - done(); - }, 2000); - }); - - afterAll(() => { - serverInstance && serverInstance.close(); - proxyServer && proxyServer.close(); - printLog('Closed server for no_rule_spec'); - }); - - it('should successfully get file', (done) => { - const isWin = /^win/.test(process.platform); - if (isWin) { - done(); - } else { - const curl = spawn('curl', ['http://localhost:3000/big_response', '--proxy', 'http://127.0.0.1:8001/', '-o', '/dev/null']); - curl.on('close', (code) => { - expect(code).toEqual(0); - done(); - }); - } - }); -}); diff --git a/test/spec_rule/no_rule_spec.js b/test/spec_rule/no_rule_spec.js deleted file mode 100644 index 32373ef8d..000000000 --- a/test/spec_rule/no_rule_spec.js +++ /dev/null @@ -1,427 +0,0 @@ - -process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'; -const path = require('path'); -const fs = require('fs'); -const Server = require('../server/server.js'); -const - { - proxyGet, - proxyPost, - directGet, - directPost, - directUpload, - proxyUpload, - generateUrl, - proxyPut, - directPut, - proxyDelete, - directDelete, - directHead, - proxyHead, - directOptions, - proxyOptions, - proxyPutUpload, - directPutUpload - } = require('../util/HttpUtil.js'); -const { CommonRequestHeader } = require('../data/headers.js'); -const { isCommonResHeaderEqual, isCommonReqEqual, printLog } = require('../util/CommonUtil.js'); -const streamEqual = require('stream-equal'); - -const ProxyServerUtil = require('../util/ProxyServerUtil.js'); - -testRequest('http'); -testRequest('https'); -testRequest('http', false); -testRequest('https', false); - -// Test suites for http and https request -function testRequest(protocol = 'http', needWeb = true) { - function constructUrl(urlPath) { - return generateUrl(protocol, urlPath); - } - - describe('Test request without proxy rules in protocol ' + protocol, () => { - let proxyServer; - let serverInstance; - - beforeAll((done) => { - jasmine.DEFAULT_TIMEOUT_INTERVAL = 200000; - printLog('Start server for no_rule_spec'); - - serverInstance = new Server(); - proxyServer = ProxyServerUtil.defaultProxyServer(needWeb); - setTimeout(() => { - done(); - }, 2000); - }); - - afterAll(() => { - serverInstance && serverInstance.close(); - proxyServer && proxyServer.close(); - printLog('Closed server for no_rule_spec'); - }); - - - it('Get should work as direct without proxy rules', (done) => { - const url = constructUrl('/test'); - const getParam = { - param: 'nothing' - }; - - proxyGet(url, getParam, CommonRequestHeader).then((proxyRes) => { - directGet(url, getParam, CommonRequestHeader).then(directRes => { - expect(proxyRes.statusCode).toEqual(200); - expect(isCommonResHeaderEqual(directRes.headers, proxyRes.headers, url)).toBe(true); - expect(isCommonReqEqual(url, serverInstance)).toBe(true); - expect(proxyRes.statusCode).toEqual(directRes.statusCode); - expect(directRes.body).toEqual(proxyRes.body); - - done(); - }, error => { - console.error('error happend in direct get:', error); - done.fail('error happend in direct get'); - }); - }, error => { - console.log('error happened in proxy get:', error); - done.fail('error happend in proxy get'); - }); - }); - - it('Post should work as direct without proxy rules', (done) => { - const url = constructUrl('/test/getuser'); - const param = { - param: 'postnothing' - }; - - proxyPost(url, param, CommonRequestHeader).then(proxyRes => { - directPost(url, param, CommonRequestHeader).then(directRes => { - expect(proxyRes.statusCode).toEqual(200); - - expect(isCommonResHeaderEqual(directRes.headers, proxyRes.headers, url)).toBe(true); - expect(proxyRes.statusCode).toEqual(directRes.statusCode); - expect(directRes.body).toEqual(proxyRes.body); - - expect(isCommonReqEqual(url, serverInstance)).toBe(true); - - done(); - }, error => { - console.error('error in direct post:', error); - done.fail('error happend in direct post'); - }); - }, error => { - console.log('error happened in proxy post,', error); - done.fail('error happend in proxy post'); - }); - }); - - it('PUT should work as direct without proxy rules', done => { - const url = constructUrl('/test/put'); - const param = { - param: 'putsomething' - }; - proxyPut(url, param, CommonRequestHeader).then(proxyRes => { - directPut(url, param, CommonRequestHeader).then(directRes => { - expect(directRes.statusCode).toEqual(200); - - expect(isCommonResHeaderEqual(directRes.headers, proxyRes.headers, url)).toBe(true); - expect(directRes.statusCode).toEqual(proxyRes.statusCode); - expect(directRes.body).toEqual(proxyRes.body); - expect(isCommonReqEqual(url, serverInstance)).toBe(true); - - done(); - }, error => { - console.error('error happened in direct put', error); - done.fail('error happened in direct put'); - }); - }, error => { - console.error('error happened in proxy put', error); - done.fail('error happened in proxy put'); - }); - }); - - it('DELETE rquest should work as direct without proxy rules', (done) => { - const url = constructUrl('/test/delete/123456'); - - proxyDelete(url, {}, CommonRequestHeader).then(proxyRes => { - directDelete(url, {}, CommonRequestHeader).then(directRes => { - expect(directRes.statusCode).toEqual(200); - - expect(directRes.statusCode).toEqual(proxyRes.statusCode); - expect(isCommonResHeaderEqual(directRes.headers, proxyRes.headers, url)).toBe(true); - expect(directRes.body).toEqual(proxyRes.body); - expect(isCommonReqEqual(url, serverInstance)).toBe(true); - - done(); - }, error => { - console.error('error happened in direct delete :', error); - done.fail('error happened in direct delete'); - }); - }, error => { - console.error('error happened in proxy delete :', error); - done.fail('error happened in proxy delete'); - }); - }); - - it('HEAD request should work as direct without proxy rules', (done) => { - const url = constructUrl('/test/head'); - - proxyHead(url, CommonRequestHeader) - .then(proxyRes => { - directHead(url, CommonRequestHeader) - .then(directRes => { - expect(directRes.statusCode).toEqual(200); - expect(directRes.body).toEqual(''); - - expect(directRes.statusCode).toEqual(proxyRes.statusCode); - expect(isCommonResHeaderEqual(directRes.headers, proxyRes.headers, url)).toBe(true); - expect(directRes.body).toEqual(proxyRes.body); - expect(isCommonReqEqual(url, serverInstance)).toBe(true); - - done(); - }, error => { - console.error('error happened in direct head request:', error); - done.fail('error happened in direct head request'); - }); - }, error => { - console.error('error happened in proxy head request:', error); - done.fail('error happened in proxy head request'); - }); - }); - - it('OPTIONS request should work as direct without proxy rules', (done) => { - const url = constructUrl('/test/options'); - - proxyOptions(url, CommonRequestHeader) - .then(proxyRes => { - directOptions(url, CommonRequestHeader) - .then(directRes => { - expect(directRes.statusCode).toEqual(200); - expect(directRes.body).toEqual('could_be_empty'); - - expect(directRes.statusCode).toEqual(proxyRes.statusCode); - expect(isCommonResHeaderEqual(directRes.headers, proxyRes.headers, url)).toBe(true); - expect(directRes.body).toEqual(proxyRes.body); - expect(isCommonReqEqual(url, serverInstance)).toBe(true); - - done(); - }, error => { - console.error('error happened in direct options request:', error); - done.fail('error happened in direct options request'); - }); - }, error => { - console.error('error happened in proxy options request:', error); - done.fail('error happened in proxy options request'); - }); - }); - - it('304 should work as direct without proxy rules', (done) => { - const url = constructUrl('/test/response/304'); - - proxyGet(url, CommonRequestHeader) - .then(proxyRes => { - directGet(url, CommonRequestHeader) - .then(directRes => { - expect(directRes.statusCode).toEqual(304); - expect(directRes.body).toEqual(''); - - expect(directRes.statusCode).toEqual(proxyRes.statusCode); - expect(isCommonResHeaderEqual(directRes.headers, proxyRes.headers, url)).toBe(true); - expect(directRes.body).toEqual(proxyRes.body); - expect(isCommonReqEqual(url, serverInstance)).toBe(true); - done(); - }, error => { - console.error('error happened in direct 304 request:', error); - done.fail('error happened in direct 304 request'); - }); - }, error => { - console.error('error happened in proxy 304 request:', error); - done.fail('error happened in proxy 304 request'); - }); - }) - - describe('Response code should be honored as direct without proxy rules', () => { - [301, 302, 303].forEach(code => { - testRedirect(code); - }); - - function testRedirect(redirectCode) { - it(`${redirectCode} response should work as direct without proxy rules`, (done) => { - const url = constructUrl(`/test/response/${redirectCode}`); - - proxyGet(url) - .then(proxyRes => { - directGet(url) - .then(directRes => { - expect(directRes.statusCode).toEqual(redirectCode); - expect(directRes.headers.location).toEqual(proxyRes.headers.location); - expect(directRes.statusCode).toEqual(proxyRes.statusCode); - expect(directRes.headers.location).toEqual('/test'); - done(); - }).catch(error => { - console.log(`error happened in direct ${redirectCode}:`, error); - done.fail(`error happened in direct ${redirectCode}`); - }); - }).catch(error => { - console.log(`error happened in proxy ${redirectCode}:`, error); - done.fail(`error happened in proxy ${redirectCode}`); - }); - }); - } - }); - - describe('Test file download ', () => { - const testArray = [ - { - url: constructUrl('/test/download/png'), - type: 'png', - contentType: 'image/png' - }, - { - url: constructUrl('/test/download/webp'), - type: 'WEBP', - contentType: 'image/webp' - }, - { - url: constructUrl('/test/download/json'), - type: 'JSON', - contentType: 'application/json; charset=utf-8' - }, - { - url: constructUrl('/test/download/css'), - type: 'CSS', - contentType: 'text/css; charset=utf-8' - }, - { - url: constructUrl('/test/download/ttf'), - type: 'TTF', - contentType: 'application/x-font-ttf' - }, - { - url: constructUrl('/test/download/eot'), - type: 'EOT', - contentType: 'application/vnd.ms-fontobject' - }, - { - url: constructUrl('/test/download/svg'), - type: 'SVG', - contentType: 'image/svg+xml' - }, - { - url: constructUrl('/test/download/woff'), - type: 'WOFF', - contentType: 'application/font-woff' - }, - { - url: constructUrl('/test/download/woff2'), - type: 'WOFF2', - contentType: 'application/font-woff2' - } - ]; - - testArray.forEach(item => { - testFileDownload(item.url, item.type, item.contentType); - }); - - // 封装测试文件下载的测试工具类 - function testFileDownload(url, filetype, contentType) { - const describe = `${filetype} file download without rules should be work as direct download`; - const param = {}; - - it(describe, (done) => { - proxyGet(url, param).then(proxyRes => { - directGet(url, param).then(directRes => { - expect(proxyRes.statusCode).toEqual(200); - - expect(isCommonResHeaderEqual(directRes.headers, proxyRes.headers, url)).toBe(true); - expect(proxyRes.statusCode).toEqual(directRes.statusCode); - expect(proxyRes.body).toEqual(directRes.body); - expect(isCommonReqEqual(url, serverInstance)).toBe(true); - done(); - }, error => { - console.error('error in direct get :', filetype, error); - done.fail(`error happend in direct get ${filetype}`); - }); - }, error => { - console.error('error in proxy get :', filetype, error); - done.fail(`error happend in proxy get ${filetype}`); - }); - }); - } - }); - - describe('Test file upload', () => { - const formParams = { - param1: 'param_1', - param2: 'param2' - }; - it('POST upload should be working', (done) => { - const url = constructUrl('/test/upload/png'); - const filePath = path.resolve(__dirname, '../data/test.png'); - - proxyUpload(url, filePath, formParams) - .then(proxyRes => { - directUpload(url, filePath, formParams) - .then((directRes) => { - expect(isCommonResHeaderEqual(directRes.headers, proxyRes.headers, url)).toBe(true); - expect(isCommonReqEqual(url, serverInstance)).toBe(true); - assertReponse(proxyRes, directRes, filePath, done); - }, error => { - console.error('error in direct upload:', error); - done.fail('error in direct upload'); - }); - }, error => { - console.error('error in proxy upload:', error); - done.fail('error in proxy upload:'); - }); - }); - - it('PUT upload should be working', (done) => { - const url = constructUrl('/test/upload/putpng'); - const filePath = path.resolve(__dirname, '../data/test.png'); - proxyPutUpload(url, filePath, formParams) - .then(proxyRes => { - directPutUpload(url, filePath, formParams) - .then((directRes) => { - expect(isCommonResHeaderEqual(directRes.headers, proxyRes.headers, url)).toBe(true); - - assertReponse(proxyRes, directRes, filePath, done); - }, error => { - console.error('error in direct upload:', error); - done.fail('error in direct upload'); - }); - }, error => { - console.error('error in proxy upload:', error); - done.fail('error in proxy upload:'); - }); - }); - - function assertReponse(proxyRes, directRes, originFilePath, done) { - expect(proxyRes.statusCode).toEqual(200); - - expect(proxyRes.statusCode).toEqual(directRes.statusCode); - // expect(proxyRes.headers.reqbody).toEqual(directRes.headers.reqbody); - - // the body will be the file path - const directUploadedStream = fs.createReadStream(directRes.body); - const proxyUploadedStream = fs.createReadStream(proxyRes.body); - const localFileStream = fs.createReadStream(originFilePath); - streamEqual(directUploadedStream, localFileStream) - .then(isLocalEqual => { - expect(isLocalEqual).toBe(true); - streamEqual(directUploadedStream, proxyUploadedStream) - .then(isUploadedEqual => { - expect(isUploadedEqual).toBe(true); - done(); - }, error => { - console.error('error in comparing directUpload with proxy:\n', error); - done.fail('error in comparing directUpload with proxy'); - }); - done(); - }, error => { - console.error('error in comparing directUpload with local:\n', error); - done.fail('error in comparing directUpload with local'); - }); - } - }); - }); -} diff --git a/test/spec_rule/no_rule_websocket_spec.js b/test/spec_rule/no_rule_websocket_spec.js deleted file mode 100644 index 9f197fba3..000000000 --- a/test/spec_rule/no_rule_websocket_spec.js +++ /dev/null @@ -1,134 +0,0 @@ -/* -* Test suites for WebSocket. -* ONLY TO ENSURE THE REQUEST WILL BE BYPASSED SUCCESSFULLY, WE HAVEN'T SUPPORTTED WEBSOCKET YET. -* -*/ -const ProxyServerUtil = require('../util/ProxyServerUtil.js'); -const { generateWsUrl, directWs, proxyWs } = require('../util/HttpUtil.js'); -const Server = require('../server/server.js'); -const { printLog, isArrayEqual, isCommonReqEqual } = require('../util/CommonUtil.js'); - -testWebsocket('ws'); -testWebsocket('wss'); -testWebsocket('ws', true); -testWebsocket('wss', true); - -function testWebsocket(protocol, masked = false) { - describe('Test WebSocket in protocol : ' + protocol, () => { - const url = generateWsUrl(protocol, '/test/socket'); - let serverInstance; - let proxyServer; - // the message to - const testMessageArray = [ - 'Send the message with default option1', - 'Send the message with default option2', - 'Send the message with default option3', - 'Send the message with default option4' - ]; - - const websocketHeaders = { - referer: 'https://www.anyproxy.io/websocket/test', - origin: 'www.anyproxy.io' - } - - beforeAll((done) => { - jasmine.DEFAULT_TIMEOUT_INTERVAL = 200000; - printLog('Start server for no_rule_websocket_spec'); - serverInstance = new Server(); - - proxyServer = ProxyServerUtil.defaultProxyServer(); - - setTimeout(() => { - done(); - }, 2000); - }); - - afterAll(() => { - serverInstance && serverInstance.close(); - proxyServer && proxyServer.close(); - printLog('Closed server for no_rule_websocket_spec'); - }); - - it('Default websocket option', done => { - const directMessages = []; // set the flag for direct message, compare when both direct and proxy got message - const proxyMessages = []; - let directResHeaders; - let proxyResHeaders; - - const ws = directWs(url, websocketHeaders); - const proxyWsRef = proxyWs(url, websocketHeaders); - ws.on('open', () => { - ws.send(testMessageArray[0], masked); - for (let i = 1; i < testMessageArray.length; i++) { - setTimeout(() => { - ws.send(testMessageArray[i], masked); - }, 1000); - } - }); - - proxyWsRef.on('open', () => { - try { - proxyWsRef.send(testMessageArray[0], masked); - for (let i = 1; i < testMessageArray.length; i++) { - setTimeout(() => { - proxyWsRef.send(testMessageArray[i], masked); - }, 1000); - } - } catch (e) { - console.error(e); - } - }); - - ws.on('upgrade', (res) => { - directResHeaders = res.headers; - compareMessageIfReady(); - }); - - proxyWsRef.on('upgrade', (res) => { - proxyResHeaders = res.headers; - compareMessageIfReady(); - }); - - ws.on('message', (data, flag) => { - const message = JSON.parse(data); - if (message.type === 'onMessage') { - directMessages.push(message.content); - compareMessageIfReady(); - } - }); - - proxyWsRef.on('message', (data, flag) => { - const message = JSON.parse(data); - if (message.type === 'onMessage') { - proxyMessages.push(message.content); - compareMessageIfReady(); - } - }); - - ws.on('error', error => { - console.error('error happened in direct websocket:', error); - done.fail('Error happened in direct websocket'); - }); - - proxyWsRef.on('error', error => { - console.error('error happened in proxy websocket:', error); - done.fail('Error happened in proxy websocket'); - }); - - function compareMessageIfReady() { - const targetLen = testMessageArray.length; - if (directMessages.length === targetLen - && proxyMessages.length === targetLen - && directResHeaders && proxyResHeaders - ) { - expect(isArrayEqual(directMessages, testMessageArray)).toBe(true); - expect(isArrayEqual(directMessages, proxyMessages)).toBe(true); - expect(directResHeaders['x-anyproxy-websocket']).toBeUndefined(); - expect(proxyResHeaders['x-anyproxy-websocket']).toBe('true'); - expect(isCommonReqEqual(url, serverInstance)).toBe(true); - done(); - } - } - }); - }); -} diff --git a/test/spec_rule/rule/rule_replace_request_data.js b/test/spec_rule/rule/rule_replace_request_data.js deleted file mode 100644 index 1f3bb3bb9..000000000 --- a/test/spec_rule/rule/rule_replace_request_data.js +++ /dev/null @@ -1,22 +0,0 @@ -/* -* add authToken parameter to the request data -* -*/ -module.exports = { - *beforeSendRequest(requestDetail) { - if (requestDetail.url.indexOf('/getuser') >= 0) { - let requestStr = requestDetail.requestData.toString(); - try { - requestStr = JSON.stringify(Object.assign(JSON.parse(requestStr), { - authToken: 'auth_token_inrule' - })) - } catch (e) { - requestStr += '&authToken=auth_token_inrule'; - } - return { - requestOptions: requestDetail.requestOptions, - requestData: requestStr - }; - } - } -}; diff --git a/test/spec_rule/rule/rule_replace_request_option.js b/test/spec_rule/rule/rule_replace_request_option.js deleted file mode 100644 index 915d91028..000000000 --- a/test/spec_rule/rule/rule_replace_request_option.js +++ /dev/null @@ -1,13 +0,0 @@ -//rule scheme : -module.exports = { - - *beforeSendRequest(requestDetail) { - const newOption = requestDetail.requestOptions; - if (newOption.hostname === 'localhost' && newOption.path === '/test/should_replace_option') { - newOption.path = '/test/new_replace_option'; - return { - requestOptions: newOption - } - } - } -}; diff --git a/test/spec_rule/rule/rule_replace_request_protocol.js b/test/spec_rule/rule/rule_replace_request_protocol.js deleted file mode 100644 index bd5942c61..000000000 --- a/test/spec_rule/rule/rule_replace_request_protocol.js +++ /dev/null @@ -1,15 +0,0 @@ -//rule scheme : -module.exports = { - *summary() { - return 'The rule to replace request protocol'; - }, - - *beforeSendRequest(requestDetail) { - const newConfig = { - protocol: 'http', - requestOptions: requestDetail.requestOptions - }; - newConfig.requestOptions.port = 3000; - return newConfig; - } -}; diff --git a/test/spec_rule/rule/rule_replace_response_data.js b/test/spec_rule/rule/rule_replace_response_data.js deleted file mode 100644 index fc79191fc..000000000 --- a/test/spec_rule/rule/rule_replace_response_data.js +++ /dev/null @@ -1,17 +0,0 @@ -//rule scheme : replace the reponse data - -module.exports = { - - *beforeSendResponse(requestDetail, responseDetail) { - if (requestDetail.url.indexOf('/test/normal_request1') > -1) { - const newResponse = responseDetail.response; - - const newDataStr = newResponse.body.toString() + '_hello_world!'; - newResponse.body = newDataStr; - - return { - response: newResponse - }; - } - } -}; diff --git a/test/spec_rule/rule/rule_replace_response_header.js b/test/spec_rule/rule/rule_replace_response_header.js deleted file mode 100644 index 5a39c8745..000000000 --- a/test/spec_rule/rule/rule_replace_response_header.js +++ /dev/null @@ -1,30 +0,0 @@ -//rule scheme : remove the cache headers in response headers -module.exports = { - *summary() { - return 'The rule to remove the cache headers in response'; - }, - - *beforeSendResponse(requestDetail, responseDetail) { - if (requestDetail.url.indexOf('/test/normal_request1') >= 0) { - const newResponse = responseDetail.response; - newResponse.header.replacedheaderkey = 'replacedHeader_value_in_rule'; - - return { - response: newResponse - }; - } - } - - // replaceResponseHeader(req, res, header) { - // const d = Q.defer(); - - // header = Object.assign({}, header); - // if (req.url.indexOf('test/normal_request1') > -1) { - // header.replacedheaderkey = 'replacedHeader_value_in_rule'; - // } - - // d.resolve(header); - - // return d.promise; - // } -}; diff --git a/test/spec_rule/rule/rule_replace_response_status_code.js b/test/spec_rule/rule/rule_replace_response_status_code.js deleted file mode 100644 index 31eac1217..000000000 --- a/test/spec_rule/rule/rule_replace_response_status_code.js +++ /dev/null @@ -1,20 +0,0 @@ -//replace all the images with local one -module.exports = { - - *summary() { - return 'replace the response status code.'; - }, - - *beforeSendResponse(requestDetail, responseDetail) { - if (requestDetail.url.indexOf('/test/normal_request1') >= 0) { - const newResponse = responseDetail.response; - newResponse.statusCode = 302; - newResponse.header.location = 'www.taobao.com'; - - return { - response: newResponse - }; - } - }, -}; - diff --git a/test/spec_rule/rule/rule_should_intercept_https_req.js b/test/spec_rule/rule/rule_should_intercept_https_req.js deleted file mode 100644 index a73ccda0f..000000000 --- a/test/spec_rule/rule/rule_should_intercept_https_req.js +++ /dev/null @@ -1,19 +0,0 @@ -//rule scheme : - -module.exports = { - *summary() { - return 'Rule to intercept https request'; - }, - - *beforeSendResponse(requestDetail, responseDetail) { - const newResponse = responseDetail.response; - newResponse.body = newResponse.body.toString() + '_hello_world'; - return { - response: newResponse - }; - }, - - *beforeDealHttpsRequest(requestDetail) { - return requestDetail.host.indexOf('localhost:3001') > -1; - } -}; diff --git a/test/spec_rule/rule/rule_should_use_local_response.js b/test/spec_rule/rule/rule_should_use_local_response.js deleted file mode 100644 index 9056a69ad..000000000 --- a/test/spec_rule/rule/rule_should_use_local_response.js +++ /dev/null @@ -1,21 +0,0 @@ -/* -* Rule defination for shouldUseLocalResponse -* -*/ -const localData = 'handled_in_local_response'; - -module.exports = { - *beforeSendRequest(requestDetail) { - if (requestDetail.url.indexOf('uselocal') > -1) { - return { - response: { - statusCode: 200, - header: { - 'Via-Proxy-Local': 'true' - }, - body: localData - } - }; - } - } -}; diff --git a/test/spec_rule/rule_deal_error_spec.js b/test/spec_rule/rule_deal_error_spec.js deleted file mode 100644 index d208b9fce..000000000 --- a/test/spec_rule/rule_deal_error_spec.js +++ /dev/null @@ -1,154 +0,0 @@ -/* -* test for rule replaceResponseStatus rule -* -*/ -const ProxyServerUtil = require('../util/ProxyServerUtil.js'); -const { proxyGet } = require('../util/HttpUtil.js'); - -const { printLog } = require('../util/CommonUtil.js'); - -let errorInRule = null; -const ruleNotDealError = { - *onError(requestDetail, error) { - errorInRule = error; - } -}; - -let errorInConnect = null; -const ruleDealConnectError = { - *onConnectError(requestDetail, error) { - errorInConnect = error; - } -}; - -const ERROR_PAGE_IN_RULE = 'this is my error page'; -const ruleReturnAnErrorPage = { - *onError(requestDetail, error) { - return { - response: { - statusCode: '200', - header: {}, - body: ERROR_PAGE_IN_RULE, - } - }; - } -}; - -testWrapper('http'); -testWrapper('https'); -testHttpsConnect(); - -function testWrapper(protocol) { - describe('Rule should get an error in :' + protocol, () => { - let proxyServer; - // let serverInstance; - - beforeAll((done) => { - jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000; - printLog('Start server for rule_deal_error_spec'); - errorInRule = null; - - proxyServer = ProxyServerUtil.proxyServerWithRule(ruleNotDealError); - - setTimeout(() => { - done(); - }, 2000); - }); - - afterAll(() => { - // serverInstance && serverInstance.close(); - proxyServer && proxyServer.close(); - printLog('Close server for rule_deal_error_spec'); - }); - - it('Should get a request error', done => { - const url = protocol + '://not_exist_url.anyproxy.io'; - proxyGet(url) - .then(proxyRes => { - expect(proxyRes.statusCode).toEqual(500); - expect(proxyRes.headers['proxy-error']).toEqual('true'); - expect(errorInRule).not.toBe(null); - done(); - }) - .catch(error => { - console.error('error happened in proxy get: ', error); - done.fail('error happened in proxy get'); - }); - }); - }); - - describe('Rule should return a custom error page in :' + protocol, () => { - let proxyServer; - // let serverInstance; - - beforeAll((done) => { - jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000; - printLog('Start server for rule_deal_error_custom_error_page'); - - proxyServer = ProxyServerUtil.proxyServerWithRule(ruleReturnAnErrorPage); - - setTimeout(() => { - done(); - }, 2000); - }); - - afterAll(() => { - // serverInstance && serverInstance.close(); - proxyServer && proxyServer.close(); - printLog('Close server for rule_deal_error_custom_error_page'); - }); - - it('Should get a request error', done => { - const url = protocol + '://not_exist_url.anyproxy.io'; - proxyGet(url) - .then(proxyRes => { - expect(proxyRes.statusCode).toEqual(200); - expect(proxyRes.headers['proxy-error']).toBe(undefined); - expect(proxyRes.body).toEqual(ERROR_PAGE_IN_RULE); - done(); - }) - .catch(error => { - console.error('error happened in proxy get: ', error); - done.fail('error happened in proxy get'); - }); - }); - }); -} - -function testHttpsConnect() { - describe('Rule should get a connect error', () => { - let proxyServer; - // let serverInstance; - - beforeAll((done) => { - errorInConnect = null; - jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000; - printLog('Start server for rule_deal_error_custom_error_page'); - - proxyServer = ProxyServerUtil.proxyServerWithRule(ruleDealConnectError, { - forceProxyHttps: false - }); - - setTimeout(() => { - done(); - }, 2000); - }); - - afterAll(() => { - proxyServer && proxyServer.close(); - printLog('Close server for rule_deal_error_custom_error_page'); - }); - - it('Should get a request error', done => { - const url = 'https://not_exist_url.anyproxy.io/'; - proxyGet(url) - .then(proxyRes => { - done.fail('should throw an error when requesting'); - }) - .catch(error => { - expect(errorInConnect).not.toBe(null); - done(); - }); - }); - }); -} diff --git a/test/spec_rule/rule_replace_request_data_spec.js b/test/spec_rule/rule_replace_request_data_spec.js deleted file mode 100644 index 5edc2e646..000000000 --- a/test/spec_rule/rule_replace_request_data_spec.js +++ /dev/null @@ -1,120 +0,0 @@ -/* -* test for rule replaceRequestData rule -* -*/ -const ProxyServerUtil = require('../util/ProxyServerUtil.js'); -const { proxyPost, generateUrl, directPost, isViaProxy } = require('../util/HttpUtil.js'); -const Server = require('../server/server.js'); -const { printLog, isObjectEqual } = require('../util/CommonUtil.js'); - -const rule = require('./rule/rule_replace_request_data.js'); - -testWrapper('http'); -testWrapper('https'); - -function testWrapper(protocol) { - describe('Rule replaceRequestData should be working in :' + protocol, () => { - let proxyServer; - let serverInstance; - - beforeAll((done) => { - jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000; - printLog('Start server for rule_replace_request_data_spec'); - - serverInstance = new Server(); - proxyServer = ProxyServerUtil.proxyServerWithRule(rule); - - setTimeout(() => { - done(); - }, 2000); - }); - - afterAll(() => { - serverInstance && serverInstance.close(); - proxyServer && proxyServer.close(); - printLog('Close server for rule_replace_request_data_spec'); - }); - - it('Should replace the request data in proxy if the assertion is true', done => { - const url = generateUrl(protocol, '/test/getuser'); - const userName = 'username_test'; - const param = { - username: userName - }; - - proxyPost(url, param) - .then(proxyRes => { - expect(proxyRes.statusCode).toEqual(200); - expect(proxyRes.body).toEqual('body_post_getuser'); - const proxyRequest = serverInstance.getProxyRequestRecord(url); - const proxyReqBodyObj = JSON.parse(proxyRequest.body.toString()); - - expect(isViaProxy(proxyRequest)).toBe(true); - - expect(proxyReqBodyObj.username).toEqual(userName); - expect(proxyReqBodyObj.authToken).toEqual('auth_token_inrule'); - - directPost(url, param) - .then(directRes => { - expect(directRes.statusCode).toEqual(200); - expect(directRes.body).toEqual(proxyRes.body); - - - const directRequest = serverInstance.getRequestRecord(url); - const directReqBodyObj = JSON.parse(directRequest.body.toString()); - expect(isViaProxy(directRequest)).toBe(false); - - expect(directReqBodyObj.username).toEqual(userName); - expect(directReqBodyObj.authToken).toBeUndefined(); - done(); - }) - .catch(error => { - console.error('error happened in direct post: ', error); - done.fail('error happened in direct post'); - }); - }) - .catch(error => { - console.error('error happened in proxy post: ', error); - console.error(error); - console.error(error.stack); - done.fail('error happened in proxy post'); - }); - }); - - it('Should not replace the request data in proxy if the assertion is false', done => { - const url = generateUrl(protocol, '/test/normal_post_request1'); - const userName = 'normal_username_test'; - - const param = { - username: userName - }; - - proxyPost(url, param) - .then(proxyRes => { - expect(proxyRes.statusCode).toEqual(200); - expect(proxyRes.body).toEqual('body_normal_post_request1'); - const proxyReqRecord = serverInstance.getProxyRequestRecord(url); - const proxyReqBody = JSON.parse(proxyReqRecord.body); - expect(isObjectEqual(proxyReqBody, param, url)).toBe(true); - - directPost(url, param) - .then(directRes => { - expect(directRes.statusCode).toEqual(proxyRes.statusCode); - expect(directRes.body).toEqual(proxyRes.body); - const directReqRecord = serverInstance.getRequestRecord(url); - const directReqBody = JSON.parse(directReqRecord.body); - expect(isObjectEqual(directReqBody, proxyReqBody, url)).toBe(true); - done(); - }) - .catch(error => { - console.error('error happened in direct post:', error); - done.fail('error happened in direct post'); - }); - }) - .catch(error => { - console.error('error happened in proxy post:', error); - done.fail('error happened in proxy post'); - }); - }); - }); -} diff --git a/test/spec_rule/rule_replace_request_option_spec.js b/test/spec_rule/rule_replace_request_option_spec.js deleted file mode 100644 index dbcaae09c..000000000 --- a/test/spec_rule/rule_replace_request_option_spec.js +++ /dev/null @@ -1,89 +0,0 @@ -/* -* test for rule replaceOption rule -* -*/ - -const ProxyServerUtil = require('../util/ProxyServerUtil.js'); -const { proxyGet, generateUrl, directGet } = require('../util/HttpUtil.js'); -const Server = require('../server/server.js'); -const { printLog } = require('../util/CommonUtil.js'); - -const rule = require('./rule/rule_replace_request_option.js'); - -testWrapper('http'); -testWrapper('https'); - -function testWrapper(protocol) { - describe('Rule replaceRequestOption should be working in :' + protocol, () => { - let proxyServer; - let serverInstance; - - beforeAll(done => { - jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000; - printLog('Start server for rule_replace_request_option_spec'); - - serverInstance = new Server(); - - proxyServer = ProxyServerUtil.proxyServerWithRule(rule); - - setTimeout(() => { - done(); - }, 2000); - }); - - afterAll(() => { - serverInstance && serverInstance.close(); - proxyServer && proxyServer.close(); - printLog('Close server for rule_replace_request_option_spec'); - }); - - it('Should replace request option if the assertion is true', done => { - const url = generateUrl(protocol, '/test/should_replace_option'); - const replacedUrl = generateUrl(protocol, '/test/new_replace_option'); - - const token = 'replacedOption' + Date.now(); - const directToken = 'notRepacedOption' + Date.now(); - proxyGet(url, {}, { token }) - .then(proxyRes => { - directGet(url, {}, { token: directToken }) - .then(directRes => { - expect(proxyRes.statusCode).toEqual(200); - expect(proxyRes.body).toEqual('the_new_replaced_option_page_content'); - - const proxyRequestObj = serverInstance.getProxyRequestRecord(replacedUrl); - expect(proxyRequestObj.headers.token).toEqual(token); - expect(proxyRequestObj.headers['via-proxy']).toEqual('true'); - - expect(directRes.statusCode).toEqual(200); - expect(directRes.body).toEqual('the_request_that_has_not_be_replaced'); - - const directRequestObj = serverInstance.getRequestRecord(url); - expect(directRequestObj.headers.token).toEqual(directToken); - - done(); - }).catch(error => { - console.error('error happened in direct get for replaceOption rule: ', error); - done.fail('error happened when direct test replaceOption rule '); - }); - }).catch(error => { - console.error('error happened in proxy get for replaceOption rule: ', error); - done.fail('error happened when proxy test replaceOption rule '); - }); - }); - - it('Should not replace request option if the assertion is false', done => { - const url = generateUrl(protocol, '/test/should_not_replace_option'); - - proxyGet(url) - .then(proxyRes => { - done(); - }, error => { - console.error('error happened in proxy get:', error); - done.fail('error happened in proxy get'); - }).catch(error => { - console.error('error happend in syntax:', error); - done.fail('error happend in syntax'); - }); - }); - }); -} diff --git a/test/spec_rule/rule_replace_request_protocol_spec.js b/test/spec_rule/rule_replace_request_protocol_spec.js deleted file mode 100644 index 9a41fec95..000000000 --- a/test/spec_rule/rule_replace_request_protocol_spec.js +++ /dev/null @@ -1,112 +0,0 @@ -/* -* test for rule replaceOption rule -* -*/ - -const ProxyServerUtil = require('../util/ProxyServerUtil.js'); -const { proxyGet, generateUrl, directGet } = require('../util/HttpUtil.js'); -const Server = require('../server/server.js'); -const { printLog } = require('../util/CommonUtil.js'); - -const rule = require('./rule/rule_replace_request_protocol.js'); - -testWrapper(); - -function testWrapper() { - describe('Rule replaceRequestProtocol should be working', () => { - let proxyServer; - let serverInstance; - - beforeAll((done) => { - jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000; - printLog('Start server for rule_replace_request_protocol'); - - serverInstance = new Server(); - - proxyServer = ProxyServerUtil.proxyServerWithRule(rule); - - setTimeout(() => { - done(); - }, 2000); - }); - - afterAll(() => { - serverInstance && serverInstance.close(); - proxyServer && proxyServer.close(); - printLog('Close server for rule_replace_request_protocol'); - }); - - it('Should replace request protocol in PROXY https request', done => { - const url = generateUrl('https', '/test/normal_request1'); - const httpUrl = url.replace('https', 'http'); - const token = 'proxy_request1_token_' + Date.now(); - proxyGet(url, {}, { token }) - .then(proxyRes => { - expect(proxyRes.body).toEqual('body_normal_request1'); - - // there should be no https url be requested in proxy, it should be http request - expect(serverInstance.getProxyRequestRecord(url)).toBe(null); - const httpRecord = serverInstance.getProxyRequestRecord(httpUrl); - expect(httpRecord.headers.token).toEqual(token); - expect(httpRecord.headers['via-proxy']).toEqual('true'); - done(); - }) - .catch(error => { - console.error('Error happened in proxy the https request: ', error); - done.fail('error happened in proxy the https request'); - }); - }); - - it('Should not replace protocol in PROXY http request', done => { - const url = generateUrl('http', '/test/normal_request2'); - const token = 'proxy_request2_token_' + Date.now(); - proxyGet(url, {}, { token }) - .then(proxyRes => { - expect(proxyRes.body).toEqual('body_normal_request2'); - const requestRecord = serverInstance.getProxyRequestRecord(url); - expect(requestRecord).not.toBe(null); - expect(requestRecord.headers.token).toEqual(token); - expect(requestRecord.headers['via-proxy']).toEqual('true'); - done(); - }) - .catch(error => { - console.error('error happened in proxy the http request: ', error); - done.fail('error happend in proxy the http request'); - }); - }); - - it('Should the direct request still be working with https', done => { - const url = generateUrl('https', '/test/normal_request1'); - const token = 'direct_request1_token_' + Date.now(); - directGet(url, {}, { token }) - .then(directRes => { - expect(directRes.body).toEqual('body_normal_request1'); - const requestRecord = serverInstance.getRequestRecord(url); - expect(requestRecord.headers.token).toEqual(token); - expect(requestRecord.headers['via-proxy']).toBeUndefined(); - done(); - }) - .catch(error => { - console.error('error happened in direct https get:', error); - done.fail('error happened in direct https get'); - }); - }); - - it('Should the direct request still be working with http', done => { - const url = generateUrl('http', '/test/normal_request2'); - const token = 'direct_request1_token_' + Date.now(); - directGet(url, {}, { token }) - .then(directRes => { - expect(directRes.body).toEqual('body_normal_request2'); - const requestRecord = serverInstance.getRequestRecord(url); - expect(requestRecord.headers.token).toEqual(token); - expect(requestRecord.headers['via-proxy']).toBeUndefined(); - done(); - }) - .catch(error => { - console.error('error happened in direct http get:', error); - done.fail('error happened in direct http get'); - }); - }); - }); -} diff --git a/test/spec_rule/rule_replace_response_data_spec.js b/test/spec_rule/rule_replace_response_data_spec.js deleted file mode 100644 index d3c507c3c..000000000 --- a/test/spec_rule/rule_replace_response_data_spec.js +++ /dev/null @@ -1,87 +0,0 @@ -/* -* test for rule replaceResponseData rule -* -*/ -const ProxyServerUtil = require('../util/ProxyServerUtil.js'); -const { proxyGet, generateUrl, directGet } = require('../util/HttpUtil.js'); -const Server = require('../server/server.js'); -const { printLog } = require('../util/CommonUtil.js'); - -const rule = require('./rule/rule_replace_response_data.js'); - -testWrapper('http'); -testWrapper('https'); - -function testWrapper(protocol) { - describe('Rule replaceResponseData should be working in :' + protocol, () => { - let proxyServer; - let serverInstance; - - beforeAll((done) => { - jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000; - printLog('Start server for rule_replace_response_data'); - - serverInstance = new Server(); - - proxyServer = ProxyServerUtil.proxyServerWithRule(rule); - - setTimeout(() => { - done(); - }, 2000); - }); - - afterAll(() => { - serverInstance && serverInstance.close(); - proxyServer && proxyServer.close(); - printLog('Close server for rule_replace_response_data'); - }); - - it('Should replace the header in proxy if assertion is true', done => { - const url = generateUrl(protocol, '/test/normal_request1'); - proxyGet(url) - .then(proxyRes => { - expect(proxyRes.statusCode).toEqual(200); - expect(proxyRes.body).toEqual('body_normal_request1_hello_world!'); - - directGet(url) - .then(directRes => { - expect(directRes.statusCode).toEqual(200); - expect(directRes.body).toEqual('body_normal_request1'); - done(); - }) - .catch(error => { - console.error('error happened in direct get: ', error); - done.fail('error happened in direct get'); - }); - }) - .catch(error => { - console.error('error happened in proxy get: ', error); - done.fail('error happened in proxy get'); - }); - }); - - it('Should not replace the header in proxy if assertion is false', done => { - const url = generateUrl(protocol, '/test/normal_request2'); - proxyGet(url) - .then(proxyRes => { - expect(proxyRes.statusCode).toEqual(200); - expect(proxyRes.body).toEqual('body_normal_request2'); - - directGet(url) - .then(directRes => { - expect(directRes.statusCode).toEqual(200); - expect(directRes.body).toEqual(proxyRes.body); - done(); - }) - .catch(error => { - console.error('error happened in direct get: ', error); - done.fail('error happened in direct get'); - }); - }) - .catch(error => { - console.error('error happened in proxy get: ', error); - done.fail('error happened in proxy get'); - }); - }); - }); -} diff --git a/test/spec_rule/rule_replace_response_header_spec.js b/test/spec_rule/rule_replace_response_header_spec.js deleted file mode 100644 index 6a21599e0..000000000 --- a/test/spec_rule/rule_replace_response_header_spec.js +++ /dev/null @@ -1,91 +0,0 @@ -/* -* test for rule replaceResponseHeader rule -* -*/ -const ProxyServerUtil = require('../util/ProxyServerUtil.js'); -const { proxyGet, generateUrl, directGet } = require('../util/HttpUtil.js'); -const Server = require('../server/server.js'); -const { printLog } = require('../util/CommonUtil.js'); - -const rule = require('./rule/rule_replace_response_header.js'); - -testWrapper('http'); -testWrapper('https'); - -function testWrapper(protocol) { - describe('Rule replaceResponseHeader should be working in :' + protocol, () => { - let proxyServer; - let serverInstance; - - beforeAll((done) => { - jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000; - printLog('Start server for rule_replace_response_header_spec'); - - serverInstance = new Server(); - - proxyServer = ProxyServerUtil.proxyServerWithRule(rule); - - setTimeout(() => { - done(); - }, 2000); - }); - - afterAll(() => { - serverInstance && serverInstance.close(); - proxyServer && proxyServer.close(); - printLog('Close server for rule_replace_response_header_spec'); - }); - - it('Should replace the header in proxy if assertion is true', done => { - const url = generateUrl(protocol, '/test/normal_request1'); - proxyGet(url) - .then(proxyRes => { - expect(proxyRes.statusCode).toEqual(200); - expect(proxyRes.headers.replacedheaderkey).toEqual('replacedHeader_value_in_rule'); - expect(proxyRes.body).toEqual('body_normal_request1'); - - directGet(url) - .then(directRes => { - expect(directRes.statusCode).toEqual(200); - expect(directRes.headers.replacedheaderkey).toBeUndefined(); - expect(directRes.body).toEqual(proxyRes.body); - done(); - }) - .catch(error => { - console.error('error happened in direct get: ', error); - done.fail('error happened in direct get'); - }); - }) - .catch(error => { - console.error('error happened in proxy get: ', error); - done.fail('error happened in proxy get'); - }); - }); - - it('Should not replace the header in proxy if the assertion is false', done => { - const url = generateUrl(protocol, '/test/normal_request2'); - proxyGet(url) - .then(proxyRes => { - expect(proxyRes.statusCode).toEqual(200); - expect(proxyRes.headers.replacedheaderkey).toBeUndefined(); - expect(proxyRes.body).toEqual('body_normal_request2'); - - directGet(url) - .then(directRes => { - expect(directRes.statusCode).toEqual(200); - expect(directRes.headers.replacedheaderkey).toBeUndefined(); - expect(directRes.body).toEqual(proxyRes.body); - done(); - }) - .catch(error => { - console.error('error happened in direct get: ', error); - done.fail('error happened in direct get'); - }); - }) - .catch(error => { - console.error('error happened in proxy get: ', error); - done.fail('error happened in proxy get'); - }); - }); - }); -} diff --git a/test/spec_rule/rule_replace_response_status_code_spec.js b/test/spec_rule/rule_replace_response_status_code_spec.js deleted file mode 100644 index 3e7448d5a..000000000 --- a/test/spec_rule/rule_replace_response_status_code_spec.js +++ /dev/null @@ -1,87 +0,0 @@ -/* -* test for rule replaceResponseStatus rule -* -*/ -const ProxyServerUtil = require('../util/ProxyServerUtil.js'); -const { proxyGet, generateUrl, directGet } = require('../util/HttpUtil.js'); -const Server = require('../server/server.js'); -const { printLog } = require('../util/CommonUtil.js'); - -const rule = require('./rule/rule_replace_response_status_code.js'); - -testWrapper('http'); -testWrapper('https'); - -function testWrapper(protocol) { - describe('Rule replaceResponseStatus should be working in :' + protocol, () => { - let proxyServer; - let serverInstance; - - beforeAll((done) => { - jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000; - printLog('Start server for rule_replace_response_status_code'); - - serverInstance = new Server(); - - proxyServer = ProxyServerUtil.proxyServerWithRule(rule); - - setTimeout(() => { - done(); - }, 2000); - }); - - afterAll(() => { - serverInstance && serverInstance.close(); - proxyServer && proxyServer.close(); - printLog('Close server for rule_replace_response_status_code'); - }); - - it('Should replace the status code in proxy if assertion is true', done => { - const url = generateUrl(protocol, '/test/normal_request1'); - proxyGet(url) - .then(proxyRes => { - expect(proxyRes.statusCode).toEqual(302); - expect(proxyRes.headers.location).toEqual('www.taobao.com'); - - directGet(url) - .then(directRes => { - expect(directRes.statusCode).toEqual(200); - expect(directRes.body).toEqual('body_normal_request1'); - done(); - }) - .catch(error => { - console.error('error happened in direct get: ', error); - done.fail('error happened in direct get'); - }); - }) - .catch(error => { - console.error('error happened in proxy get: ', error); - done.fail('error happened in proxy get'); - }); - }); - - it('Should not replace the status code in proxy if assertion is false', done => { - const url = generateUrl(protocol, '/test/normal_request2'); - proxyGet(url) - .then(proxyRes => { - expect(proxyRes.statusCode).toEqual(200); - expect(proxyRes.body).toEqual('body_normal_request2'); - - directGet(url) - .then(directRes => { - expect(directRes.statusCode).toEqual(200); - expect(directRes.body).toEqual('body_normal_request2'); - done(); - }) - .catch(error => { - console.error('error happened in direct get: ', error); - done.fail('error happened in direct get'); - }); - }) - .catch(error => { - console.error('error happened in proxy get: ', error); - done.fail('error happened in proxy get'); - }); - }); - }); -} diff --git a/test/spec_rule/rule_should_intercept_https_req_spec.js b/test/spec_rule/rule_should_intercept_https_req_spec.js deleted file mode 100644 index 0f256c00e..000000000 --- a/test/spec_rule/rule_should_intercept_https_req_spec.js +++ /dev/null @@ -1,87 +0,0 @@ -/* -* test for rule shouldInterceptHttpsReq rule -* -*/ -const ProxyServerUtil = require('../util/ProxyServerUtil.js'); -const { proxyGet, directGet } = require('../util/HttpUtil.js'); -const Server = require('../server/server.js'); -const { printLog } = require('../util/CommonUtil.js'); - -const rule = require('./rule/rule_should_intercept_https_req.js'); - -testWrapper(); - -function testWrapper() { - describe('Rule shouldInterceptHttpsReq should be working', () => { - let proxyServer; - let serverInstance; - - beforeAll(done => { - jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000; - printLog('Start server for test_rule_should_intercept_https_req_spec'); - - serverInstance = new Server(); - - proxyServer = ProxyServerUtil.proxyServerWithRule(rule, { - forceProxyHttps: false - }); - - setTimeout(() => { - done(); - }, 2000); - }); - - afterAll(() => { - serverInstance && serverInstance.close(); - proxyServer && proxyServer.close(); - printLog('Close server for test_rule_should_intercept_https_req_spec'); - }); - - it('Should replace the header in proxy if assertion is true', done => { - const url = 'https://localhost:3001/test'; - - proxyGet(url) - .then(proxyRes => { - directGet(url) - .then(directRes => { - expect(proxyRes.statusCode).toEqual(200); - - expect(directRes.statusCode).toEqual(200); - expect(directRes.body + '_hello_world').toEqual(proxyRes.body); - done(); - }) - .catch(error => { - console.error('error happened in direct get: ', error); - done.fail('error happened in direct get'); - }); - }) - .catch(error => { - console.error('error happened in proxy get: ', error); - done.fail('error happened in proxy get'); - }); - }); - - it('Should not replace the header in proxy if assertion is false', done => { - const url = 'https://localhost:3002/test'; - proxyGet(url) - .then(proxyRes => { - expect(proxyRes.statusCode).toEqual(200); - - directGet(url) - .then(directRes => { - expect(directRes.statusCode).toEqual(200); - expect(directRes.body.replace(/\s/g, '')).toEqual(proxyRes.body.replace(/\s/g, '')); - done(); - }) - .catch(error => { - console.error('error happened in direct get: ', error); - done.fail('error happened in direct get'); - }); - }) - .catch(error => { - console.error('error happened in proxy get: ', error); - done.fail('error happened in proxy get'); - }); - }); - }); -} diff --git a/test/spec_rule/rule_should_use_local_response_spec.js b/test/spec_rule/rule_should_use_local_response_spec.js deleted file mode 100644 index 74f4bc481..000000000 --- a/test/spec_rule/rule_should_use_local_response_spec.js +++ /dev/null @@ -1,55 +0,0 @@ -/* -* test for rule shouldUseLocal -* -*/ - -const ProxyServerUtil = require('../util/ProxyServerUtil.js'); -const { proxyGet, generateUrl } = require('../util/HttpUtil.js'); -const Server = require('../server/server.js'); -const { printLog } = require('../util/CommonUtil.js'); - -const rule = require('./rule/rule_should_use_local_response.js'); - -const expectedLocalBody = 'handled_in_local_response'; - -testWrapper('http'); -testWrapper('https'); - -function testWrapper(protocol) { - describe('Rule shouldUseLocalResponse should be working in :' + protocol, () => { - let proxyServer; - let serverInstance; - - beforeAll((done) => { - jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000; - printLog('Start server for rule_shouldUseLocalResponse_spec'); - - serverInstance = new Server(); - - proxyServer = ProxyServerUtil.proxyServerWithRule(rule); - - setTimeout(() => { - done(); - }, 2000); - }); - - afterAll(() => { - serverInstance && serverInstance.close(); - proxyServer && proxyServer.close(); - printLog('Close server for rule_shouldUseLocalResponse_spec'); - }); - - it('Should use local response if the assertion is true', done => { - const url = generateUrl(protocol, '/test/uselocal'); - proxyGet(url, {}) - .then(res => { - expect(res.body).toEqual(expectedLocalBody); - expect(res.headers['via-proxy-local']).toEqual('true'); - done(); - }).catch((error) => { - console.log('error happened in proxy get for shouldUseLocal: ', error); - done.fail('error happened when test shouldUseLocal rule'); - }); - }); - }); -} diff --git a/test/util.js b/test/util.js new file mode 100644 index 000000000..9de4d41c9 --- /dev/null +++ b/test/util.js @@ -0,0 +1,80 @@ +const request = require('request'); +const assert = require('assert'); +// TODO +const { freshRequire, getFreePort } = require('../lib/util.js'); + +function basicProxyRequest(proxyHost, method, url, headers, qs, payload) { + assert(method && url, 'method and url are required'); + assert(proxyHost, 'proxyHost is required'); + headers = Object.assign({ + 'via-anyproxy': 'true', + }, headers || {}); + + const requestOpt = { + method, + url, + headers, + followRedirect: false, + rejectUnauthorized: false, + qs, + proxy: proxyHost, + }; + + return new Promise((resolve, reject) => { + const callback = (error, response, body) => { + if (error) { + reject(error); + } else { + resolve({ + response, + body, + }); + } + }; + if (payload) { + payload.pipe(request(requestOpt, callback)); + } else { + request(requestOpt, callback); + } + }); +} + +const DEFAULT_OPTIONS = { + type: 'http', + port: 8001, + webInterface: false, + wsIntercept: true, + // throttle: 10000, // optional, speed limit in kb/s + forceProxyHttps: true, // intercept https as well + dangerouslyIgnoreUnauthorized: true, + silent: false //optional, do not print anything into terminal. do not set it when you are still debugging. +}; + +async function proxyServerWithRule(rule, overrideConfig) { + const AnyProxy = freshRequire('../proxy.js'); + const freeportA = await getFreePort(); + const freeportB = await getFreePort(); + const options = Object.assign(DEFAULT_OPTIONS, { + port: freeportA, + webInterface: { + enable: true, + webPort: freeportB, + } + }, overrideConfig || {}); + options.rule = rule; + + + return new Promise((resolve, reject) => { + const instance = new AnyProxy.ProxyServer(options); + instance.on('error', reject); + instance.on('ready', () => { + resolve(instance); + }); + instance.start(); + }); +} + +module.exports = { + basicProxyRequest, + proxyServerWithRule, +}; diff --git a/test/util/CommonUtil.js b/test/util/CommonUtil.js deleted file mode 100644 index 1c4b7cf0b..000000000 --- a/test/util/CommonUtil.js +++ /dev/null @@ -1,291 +0,0 @@ -/** -* -* The utility class for test -*/ -const color = require('colorful'); - -function _isDeepEqual(source, target) { - // if the objects are Array - if (source.constructor === Array && target.constructor === Array) { - if (source.length !== target.length) { - return false; - } - - let _isEqual = true; - for (let i = 0; i < source.length; i++) { - if (!_isDeepEqual(source[i], target[i])) { - _isEqual = false; - break; - } - } - - return _isEqual; - } - - // if the source and target are just object - if (typeof source === 'object' && typeof target === 'object') { - let _isEqual = true; - for (const key in source) { - if (!_isDeepEqual(source[key], target[key])) { - _isEqual = false; - break; - } - } - - return _isEqual; - } - - return source === target; -} -/* -* Compare whether tow object are equal -*/ -function isObjectEqual(source = {}, target = {}, url = '') { - source = Object.assign({}, source); - target = Object.assign({}, target); - let isEqual = true; - - for (const key in source) { - isEqual = isEqual && _isDeepEqual(source[key], target[key]); - - if (!isEqual) { - console.info('source object :', source); - console.info('target object :', target); - printError(`different key in isObjectEqual is: "${key}", source is "${source[key]}", - target is "${target[key]}" the url is ${url}`); - break; - } - - delete source[key]; - delete target[key]; - } - - for (const key in target) { - isEqual = isEqual && source[key] === target[key]; - - if (!isEqual) { - console.info('source object :', source); - console.info('target object :', target); - printError(`different key in isObjectEqual is: "${key}", source is "${source[key]}", - target is "${target[key]}" the url is ${url}`); - break; - } - - delete source[key]; - delete target[key]; - } - - return isEqual; -} - -/* -* Compare the header between direct with proxy -* Will exclude the header(s) which modified by proxy -*/ -function isCommonResHeaderEqual(directHeaders, proxyHeaders, requestUrl) { - directHeaders = Object.assign({}, directHeaders); - proxyHeaders = Object.assign({}, proxyHeaders); - let isEqual = true; - const mustEqualFileds = []; // the fileds that have to be equal, or the assert will be failed - - if (!/gzip/i.test(directHeaders['content-encoding'])) { - // if the content is gzipped, proxy will unzip and remove the header - mustEqualFileds.push('content-encoding'); - } - mustEqualFileds.push('content-type'); - mustEqualFileds.push('cache-control'); - mustEqualFileds.push('allow'); - - // ensure the required fileds are same - mustEqualFileds.forEach(filedName => { - isEqual = directHeaders[filedName] === proxyHeaders[filedName]; - delete directHeaders[filedName]; - delete proxyHeaders[filedName]; - }); - - // remained filed are good to be same, but are allowed to be different - // will warn out those different fileds - for (const key in directHeaders) { - if (!_isDeepEqual(directHeaders[key], proxyHeaders[key])) { - printWarn(`key "${key}" of two response headers are different in request "${requestUrl}" : - direct is: "${directHeaders[key]}", proxy is: "${proxyHeaders[key]}"`); - } - } - - return isEqual; -} - -/* -* Compare the request between direct with proxy -* -*/ -function isCommonReqEqual(url, serverInstance) { - console.info('==> trying to get the url ', url); - try { - let isEqual = true; - - const directReqObj = serverInstance.getRequestRecord(url); - const proxyReqObj = serverInstance.getProxyRequestRecord(url); - - // ensure the proxy header is correct - isEqual = isEqual && proxyReqObj.headers['via-proxy'] === 'true'; - delete proxyReqObj.headers['via-proxy']; - - directReqObj.headers['content-type'] = trimFormContentType(directReqObj.headers['content-type']); - proxyReqObj.headers['content-type'] = trimFormContentType(proxyReqObj.headers['content-type']); - - // avoid compare content-length header via proxy - delete directReqObj.headers['content-length']; - delete proxyReqObj.headers['content-length']; - delete directReqObj.headers['transfer-encoding']; - delete proxyReqObj.headers['transfer-encoding']; - - // delete the headers that should not be passed by AnyProxy - delete directReqObj.headers.connection; - delete proxyReqObj.headers.connection; - - // delete the headers related to websocket establishment - const directHeaderKeys = Object.keys(directReqObj.headers); - directHeaderKeys.forEach((key) => { - // if the key matchs 'sec-websocket', delete it - if (/sec-websocket/ig.test(key)) { - delete directReqObj.headers[key]; - } - }); - - const proxyHeaderKeys = Object.keys(proxyReqObj.headers); - proxyHeaderKeys.forEach((key) => { - // if the key matchs 'sec-websocaket', delete it - if (/sec-websocket/ig.test(key)) { - delete proxyReqObj.headers[key]; - } - }); - - isEqual = isEqual && directReqObj.url === proxyReqObj.url; - isEqual = isEqual && isObjectEqual(directReqObj.headers, proxyReqObj.headers, url); - isEqual = isEqual && directReqObj.body === proxyReqObj.body; - return isEqual; - } catch (e) { - console.error(e); - } -} - -/* -* for multipart-form, the boundary will be different with each update, we trim it here -*/ -function trimFormContentType(contentType = '') { - return contentType.replace(/boundary.*/, ''); -} - - -function printLog(content) { - console.log(color.blue('==LOG==: ' + content)); -} - -function printWarn(content) { - console.log(color.magenta('==WARN==: ' + content)); -} - -function printError(content) { - console.log(color.red('==ERROR==: ' + content)); -} - -function printHilite(content) { - console.log(color.yellow('==LOG==: ' + content)); -} - -function parseUrlQuery(string = '') { - const parameterArray = string.split('&'); - const parsedObj = {}; - parameterArray.forEach((parameter) => { - // 获取等号的位置 - const indexOfEqual = parameter.indexOf('='); - const name = parameter.substr(0, indexOfEqual); - const value = parameter.substr(indexOfEqual + 1); - parsedObj[name] = value; - }); - return parsedObj; -} - -function stringSimilarity(a, b, precision = 2) { - let similarity = '0%'; - let isCongruent = false; - if (a && b) { - const targetLen = Math.max(a.length, b.length); - targetLen > 1000 ? - similarity = simHasH(a, b) : - similarity = LevenshteinSimilarity(a, b); - isCongruent = similarity === 100; - similarity = similarity.toFixed(precision) + '%'; - } - return { - isCongruent, - similarity - } -} - -/** -* simhash similarity -*/ -function simHasH(a, b) { - const simhash = require('node-simhash'); - return (simhash.compare(a, b) * 100); -} - -/** -* Levenshtein Distance -*/ -function LevenshteinSimilarity(a, b) { - let cost; - const maxLen = Math.max(a.length, b.length); - const minOfThree = (numa, numb, numc) => { - if (numa > numb) { - return numb > numc ? numc : numb; - } else { - return numa > numc ? numc : numa; - } - } - if (a.length === 0) cost = b.length; - if (b.length === 0) cost = a.length; - - if (a.length > b.length) { - const tmp = a; - a = b; - b = tmp; - } - - const row = []; - for (let i = 0; i <= a.length; i++) { - row[i] = i; - } - - for (let i = 1; i <= b.length; i++) { - let prev = i; - for (let j = 1; j <= a.length; j++) { - let val; - if (b.charAt(i - 1) === a.charAt(j - 1)) { - val = row[j - 1]; - } else { - val = minOfThree(row[j - 1] + 1, prev + 1, row[j] + 1); - } - row[j - 1] = prev; - prev = val; - } - row[a.length] = prev; - } - cost = row[a.length]; - return ((maxLen - cost) / maxLen * 100); -} - -module.exports = { - isObjectEqual, - isCommonResHeaderEqual, - printLog, - printWarn, - printError, - printHilite, - isCommonReqEqual, - parseUrlQuery, - stringSimilarity, - isArrayEqual: _isDeepEqual -}; diff --git a/test/util/HttpUtil.js b/test/util/HttpUtil.js deleted file mode 100644 index 2c0300247..000000000 --- a/test/util/HttpUtil.js +++ /dev/null @@ -1,355 +0,0 @@ -/* eslint prefer-arrow-callback: 0 */ -/** - * An util to make the request out - * - */ -const request = require('request'); -const fs = require('fs'); -const WebSocket = require('ws'); -const HttpsProxyAgent = require('https-proxy-agent'); -const stream = require('stream'); - -const PROXY_HOST = 'http://localhost:8001/'; -const SOCKET_PROXY_HOST = 'http://localhost:8001/'; - - -const HTTP_SERVER_BASE = 'http://localhost:3000/'; -const HTTPS_SERVER_BASE = 'https://localhost:3001/'; -const WS_SERVER_BASE = 'ws://localhost:3000'; -const WSS_SERVER_BASE = 'wss://localhost:3001'; -const DEFAULT_CHUNK_COLLECT_THRESHOLD = 20 * 1024 * 1024; // about 20 mb - -class commonStream extends stream.Readable { - constructor(config) { - super({ - highWaterMark: DEFAULT_CHUNK_COLLECT_THRESHOLD * 5 - }); - } - _read(size) {} -} - -function getHostFromUrl(url = '') { - const hostReg = /^(https{0,1}:\/\/)(\w+)/; - const match = url.match(hostReg); - - return match && match[2] ? match[2] : ''; -} - -function getPortFromUrl(url = '') { - const portReg = /^https{0,1}:\/\/\w+(:(\d+)){0,1}/; - const match = url.match(portReg); - let port = match && match[2] ? match[2] : ''; - - if (!port) { - port = url.indexOf('https://') === 0 ? 443 : 80; - } - return port; -} - -/** - * 获取url中的path - */ -function getPathFromUrl(url = '') { - const pathReg = /^https{0,1}:\/\/\w+(:\d+){0,1}(.+)/; - const match = url.match(pathReg); - const path = match && match[3] ? match[2] : url; - return path; -} - -function proxyRequest(method = 'GET', url, params, headers = {}) { - return doRequest(method, url, params, headers, true); -} - -/* - * 直接请求到真实服务器,不经过代理服务器 - * - */ -function directRequest(method = 'GET', url, params, headers = {}) { - return doRequest(method, url, params, headers); -} - -function directUpload(url, filepath, formParams = {}, headers = {}) { - return doUpload(url, 'POST', filepath, formParams, headers); -} - -function proxyUpload(url, filepath, formParams = {}, headers = {}) { - return doUpload(url, 'POST', filepath, formParams, headers, true); -} - -function directPutUpload(url, filepath, formParams = {}, headers = {}) { - return doUpload(url, 'PUT', filepath, formParams, headers); -} - -function proxyPutUpload(url, filepath, headers = {}) { - return doUpload(url, 'PUT', filepath, headers, true); -} - -/** - * @param params {String} json类型或file路径 - * {Object} key-value形式 - */ -function doRequest(method = 'GET', url, params, headers = {}, isProxy) { - headers = Object.assign({}, headers); - - let reqStream = new commonStream(); - const requestData = { - headers, - followRedirect: false, - rejectUnauthorized: false - }; - - if (isProxy) { - requestData.proxy = PROXY_HOST; - requestData.headers['via-proxy'] = 'true'; - } - - const streamReq = (resolve, reject) => { - requestData.headers['content-type'] = 'text/plain'; //otherwise, koa-body could not recognize - if (typeof params === 'string') { - fs.existsSync(params) ? - reqStream = fs.createReadStream(params) : - reqStream.push(params); - } else if (typeof params === 'object') { - reqStream.push(JSON.stringify(params)); - } - reqStream.push(null); - reqStream.pipe(request[method.toLowerCase()]( - url, - requestData, - (error, response, body) => { - if (error) { - reject(error); - } else { - resolve(response); - } - } - )) - } - const commonReq = (resolve, reject) => { - requestData.url = url; - requestData.method = method; - requestData.qs = params; - request( - requestData, - (error, response, body) => { - if (error) { - reject(error); - } else { - resolve(response); - } - } - ); - } - const requestTask = new Promise((resolve, reject) => { - if (method === 'POST' || method === 'PUT') { - streamReq(resolve, reject); - } else { - commonReq(resolve, reject); - } - }); - return requestTask; -} - - -function doUpload(url, method, filepath, formParams, headers = {}, isProxy) { - let formData = { - file: fs.createReadStream(filepath) - }; - - formData = Object.assign({}, formData, formParams); - headers = Object.assign({}, headers); - - const requestData = { - formData, - url, - method, - headers, - json: true, - rejectUnauthorized: false - }; - - if (isProxy) { - requestData.proxy = PROXY_HOST; - requestData.headers['via-proxy'] = 'true'; - } - const requestTask = new Promise((resolve, reject) => { - request( - requestData, - (error, response, body) => { - if (error) { - reject(error); - return; - } - resolve(response); - } - ); - }); - return requestTask; -} - -function doWebSocket(url, headers = {}, isProxy) { - let ws; - if (isProxy) { - headers['via-proxy'] = 'true'; - const agent = new HttpsProxyAgent(SOCKET_PROXY_HOST); - ws = new WebSocket(url, { - agent, - rejectUnauthorized: false, - headers - }); - } else { - ws = new WebSocket(url, { - rejectUnauthorized: false, - headers - }); - } - - return ws; -} - -function proxyGet(url, params, headers = {}) { - return proxyRequest('GET', url, params, headers); -} - -function proxyPost(url, params, headers = {}) { - return proxyRequest('POST', url, params, headers); -} - -function proxyPut(url, params, headers = {}) { - return proxyRequest('PUT', url, params, headers); -} - -function proxyDelete(url, params, headers = {}) { - return proxyRequest('DELETE', url, params, headers); -} - -function proxyHead(url, headers = {}) { - return proxyRequest('HEAD', url, {}, headers); -} - -function proxyOptions(url, headers = {}) { - return proxyRequest('OPTIONS', url, {}, headers); -} - -function directGet(url, params, headers = {}) { - return directRequest('GET', url, params, headers); -} - -function directPost(url, params, headers = {}) { - return directRequest('POST', url, params, headers); -} - -function directPut(url, params, headers = {}) { - return directRequest('PUT', url, params, headers); -} - -function directDelete(url, params, headers = {}) { - return directRequest('DELETE', url, params, headers); -} - -function directHead(url, headers = {}) { - return directRequest('HEAD', url, {}, headers); -} - -function directOptions(url, headers = {}) { - return directRequest('OPTIONS', url, {}, headers); -} - -function proxyWs(url, headers) { - return doWebSocket(url, headers, true); -} - -function directWs(url, headers) { - return doWebSocket(url, headers); -} - -/** -* generate the final url based on protocol and path -* -*/ -function generateUrl(protocol, urlPath) { - return protocol === 'http' ? HTTP_SERVER_BASE + urlPath : HTTPS_SERVER_BASE + urlPath; -} - -function generateWsUrl(protocol, urlPath) { - return protocol === 'wss' ? WSS_SERVER_BASE + urlPath : WS_SERVER_BASE + urlPath; -} - -/* -* verify if the request data is a valid proxy request, by checking specified header -*/ -function isViaProxy(req) { - return req.headers['via-proxy'] === 'true'; -} - -/* -* check if url is supported by request moudle -*/ -function isSupportedProtocol(requestPath) { - return requestPath.indexOf('http://') === 0 || requestPath.indexOf('https://') === 0; -} - -/* -* collect all request data in one url -*/ -function getRequestListFromPage(pageUrl, cb) { - let _ph; - let _page; - let _outObj; - const phantom = require('phantom'); - console.log(`collecting requests from ${pageUrl}...`); - return phantom.create().then(ph => { - _ph = ph; - return _ph.createPage(); - }).then(page => { - _page = page; - _outObj = _ph.createOutObject(); - _outObj.urls = []; - page.property('onResourceRequested', function (requestData, networkRequest, out) { - out.urls.push(requestData); - }, _outObj); - return _page.open(pageUrl); - }) - .then(status => _outObj.property('urls')) - .then(urls => { - _page.close(); - _ph.exit(); - return urls; - }) - .catch((err) => { - console.log(`failed to collecting requests from ${pageUrl}`); - console.log(err); - }); -} - - -module.exports = { - getHostFromUrl, - getPathFromUrl, - getPortFromUrl, - proxyGet, - proxyPost, - directGet, - directPost, - directUpload, - proxyUpload, - generateUrl, - proxyWs, - directWs, - generateWsUrl, - directPut, - proxyPut, - directDelete, - proxyDelete, - directHead, - proxyHead, - directOptions, - proxyOptions, - directPutUpload, - proxyPutUpload, - isViaProxy, - getRequestListFromPage, - directRequest, - proxyRequest, - isSupportedProtocol -}; diff --git a/test/util/ProxyServerUtil.js b/test/util/ProxyServerUtil.js deleted file mode 100644 index 68a8a86d9..000000000 --- a/test/util/ProxyServerUtil.js +++ /dev/null @@ -1,86 +0,0 @@ -/* -* Utility class for creating proxy server, used to create specfied proxy server -* -*/ - -const util = require('../../lib/util.js'); - -const DEFAULT_OPTIONS = { - type: 'http', - port: 8001, - webInterface: { - enable: true, - webPort: 8002, // optional, port for web interface - }, - wsIntercept: true, - throttle: 10000, // optional, speed limit in kb/s - forceProxyHttps: true, // intercept https as well - dangerouslyIgnoreUnauthorized: true, - silent: false //optional, do not print anything into terminal. do not set it when you are still debugging. -}; - -/** -* -* @return An instance of proxy, could be closed by calling `instance.close()` -*/ -function defaultProxyServer(webinterfaceEnable = true) { - const AnyProxy = util.freshRequire('../proxy.js'); - - const options = util.merge({}, DEFAULT_OPTIONS); - util.merge(options, { - webInterface: { - enable: webinterfaceEnable, - webPort: 8002 - } - }) - const instance = new AnyProxy.ProxyServer(options); - instance.on('error', e => { - console.log('server instance error', e); - }); - instance.start(); - return instance; -} - -/* -* Create proxy server with rule -* @param rules - Object, the rule object which contains required intercept method - @return An instance of proxy, could be closed by calling `instance.close()` -*/ -function proxyServerWithRule(rule, overrideConfig) { - const AnyProxy = util.freshRequire('../proxy.js'); - - const options = Object.assign({}, DEFAULT_OPTIONS, overrideConfig); - options.rule = rule; - - const instance = new AnyProxy.ProxyServer(options); - instance.on('error', e => { - console.log('server instance error', e); - }); - instance.start(); - - return instance; -} - -function proxyServerWithoutHttpsIntercept(rule) { - const AnyProxy = util.freshRequire('../proxy.js'); - - const options = util.merge({}, DEFAULT_OPTIONS); - if (rule) { - options.rule = rule; - } - options.forceProxyHttps = false; - - const instance = new AnyProxy.ProxyServer(options); - instance.on('error', e => { - console.log('server instance error', e); - }); - instance.start(); - return instance; -} - -module.exports = { - defaultProxyServer, - proxyServerWithoutHttpsIntercept, - proxyServerWithRule -}; diff --git a/test/util/SimHash.js b/test/util/SimHash.js deleted file mode 100644 index e69de29bb..000000000 diff --git a/test/web/curlUtil.spec.js b/test/web/curlUtil.spec.js new file mode 100644 index 000000000..5d3389869 --- /dev/null +++ b/test/web/curlUtil.spec.js @@ -0,0 +1,50 @@ +const { curlify } = require('../../web/src/common/curlUtil'); + +describe('Test the curlify function', () => { + it('request with headers', () => { + const requestDetail = { + method: 'POST', + url: 'https://localhost:3001/test', + reqHeader: { + 'via-proxy': 'true', + }, + }; + const result = 'curl \'https://localhost:3001/test/' -X POST -H \'via-proxy: true\''; + expect(curlify(requestDetail)).toBe(result); + }); + + it('request with JSON body', () => { + const requestDetail = { + method: 'POST', + url: 'https://localhost:3001/test', + reqHeader: { + 'content-type': 'application/json; charset=utf-8', + }, + reqBody: '{"action":1,"method":"test"}', + }; + const result = `curl '${requestDetail.url}' -X POST -H 'content-type: application/json; charset=utf-8' -d '${requestDetail.reqBody}'`; + expect(curlify(requestDetail)).toBe(result); + }); + + it('accpet gzip encoding with compressed flag', () => { + const requestDetail = { + method: 'GET', + url: 'https://localhost:3001/test', + reqHeader: { + Host: 'localhost', + 'Accept-Encoding': 'gzip', + }, + }; + const result = 'curl \'https://localhost:3001/test/' -H \'Host: localhost\' -H \'Accept-Encoding: gzip\' --compressed'; + expect(curlify(requestDetail)).toBe(result); + }); + + it('escape url character', () => { + const requestDetail = { + method: 'GET', + url: 'https://localhost:3001/test?a[]=1', + }; + const result = 'curl \'https://localhost:3001/test?a\\[\\]=1\''; + expect(curlify(requestDetail)).toBe(result); + }); +}); diff --git a/test/web/webInterface.spec.js b/test/web/webInterface.spec.js new file mode 100644 index 000000000..3b4297e47 --- /dev/null +++ b/test/web/webInterface.spec.js @@ -0,0 +1,27 @@ +const WebInterface = require('../../lib/webInterface.js'); +const Recorder = require('../../lib/recorder'); +const urllib = require('urllib'); + +describe('WebInterface server', () => { + let webServer = null; + const webHost = 'http://127.0.0.1:8002/' + + beforeAll(async () => { + const recorder = new Recorder(); + webServer = new WebInterface({ + webPort: 8002, + }, recorder); + await webServer.start(); + }); + + afterAll(async () => { + await webServer.close(); + }); + + it('should response qrcode string in /getQrCode', async () => { + const response = await urllib.request(`${webHost}/api/getQrCode`); + const body = JSON.parse(response.res.data); + expect(body.qrImgDom).toMatch('