octoparse-cli 0.1.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +271 -0
- package/RUNTIME_SECURITY_NOTICE.txt +41 -0
- package/SECURITY.md +24 -0
- package/dist/cli/args.js +34 -0
- package/dist/cli/help.js +214 -0
- package/dist/cli/output.js +39 -0
- package/dist/commands/auth.js +283 -0
- package/dist/commands/capabilities.js +118 -0
- package/dist/commands/cloud.js +241 -0
- package/dist/commands/data.js +220 -0
- package/dist/commands/doctor.js +73 -0
- package/dist/commands/env.js +63 -0
- package/dist/commands/local.js +251 -0
- package/dist/commands/run.js +622 -0
- package/dist/commands/runs.js +171 -0
- package/dist/commands/task.js +101 -0
- package/dist/index.js +133 -0
- package/dist/runtime/account-capabilities.js +71 -0
- package/dist/runtime/api-client.js +290 -0
- package/dist/runtime/artifacts.js +33 -0
- package/dist/runtime/auth.js +94 -0
- package/dist/runtime/bridge-hub.js +173 -0
- package/dist/runtime/client-headers.js +23 -0
- package/dist/runtime/cloud-data.js +75 -0
- package/dist/runtime/config.js +48 -0
- package/dist/runtime/data-exporter.js +267 -0
- package/dist/runtime/engine-host.js +449 -0
- package/dist/runtime/local-runs.js +92 -0
- package/dist/runtime/naming.js +13 -0
- package/dist/runtime/run-control.js +363 -0
- package/dist/runtime/run-services.js +380 -0
- package/dist/runtime/security-notice.js +78 -0
- package/dist/runtime/task-definition-provider.js +282 -0
- package/dist/types.js +4 -0
- package/examples/minimal-task.json +6 -0
- package/examples/navigate-example-task.json +6 -0
- package/node_modules/@octopus/bpmn/index.js +3 -0
- package/node_modules/@octopus/bpmn/lib/Context.js +245 -0
- package/node_modules/@octopus/bpmn/lib/Definition.js +258 -0
- package/node_modules/@octopus/bpmn/lib/Engine.js +275 -0
- package/node_modules/@octopus/bpmn/lib/PrematureStopError.js +7 -0
- package/node_modules/@octopus/bpmn/lib/activities/Activity.js +202 -0
- package/node_modules/@octopus/bpmn/lib/activities/BaseProcess.js +308 -0
- package/node_modules/@octopus/bpmn/lib/activities/BaseTask.js +145 -0
- package/node_modules/@octopus/bpmn/lib/activities/BoundaryEvent.js +12 -0
- package/node_modules/@octopus/bpmn/lib/activities/Dummy.js +10 -0
- package/node_modules/@octopus/bpmn/lib/activities/EventDefinition.js +99 -0
- package/node_modules/@octopus/bpmn/lib/activities/Flow.js +52 -0
- package/node_modules/@octopus/bpmn/lib/activities/Form.js +67 -0
- package/node_modules/@octopus/bpmn/lib/activities/InputOutput.js +53 -0
- package/node_modules/@octopus/bpmn/lib/activities/IntermediateCatchEvent.js +12 -0
- package/node_modules/@octopus/bpmn/lib/activities/MessageFlow.js +19 -0
- package/node_modules/@octopus/bpmn/lib/activities/MultiInstanceLoopCharacteristics.js +160 -0
- package/node_modules/@octopus/bpmn/lib/activities/Properties.js +27 -0
- package/node_modules/@octopus/bpmn/lib/activities/SequenceFlow.js +56 -0
- package/node_modules/@octopus/bpmn/lib/activities/ServiceConnector.js +71 -0
- package/node_modules/@octopus/bpmn/lib/context-helper.js +198 -0
- package/node_modules/@octopus/bpmn/lib/events/EndEvent.js +22 -0
- package/node_modules/@octopus/bpmn/lib/events/ErrorEvent.js +41 -0
- package/node_modules/@octopus/bpmn/lib/events/MessageEvent.js +19 -0
- package/node_modules/@octopus/bpmn/lib/events/StartEvent.js +55 -0
- package/node_modules/@octopus/bpmn/lib/events/TimerEvent.js +75 -0
- package/node_modules/@octopus/bpmn/lib/expressions.js +41 -0
- package/node_modules/@octopus/bpmn/lib/gateways/ExclusiveGateway.js +86 -0
- package/node_modules/@octopus/bpmn/lib/gateways/InclusiveGateway.js +56 -0
- package/node_modules/@octopus/bpmn/lib/gateways/ParallelGateway.js +195 -0
- package/node_modules/@octopus/bpmn/lib/getPropertyValue.js +83 -0
- package/node_modules/@octopus/bpmn/lib/index.js +6 -0
- package/node_modules/@octopus/bpmn/lib/mapper.js +55 -0
- package/node_modules/@octopus/bpmn/lib/parameter.js +119 -0
- package/node_modules/@octopus/bpmn/lib/script-helper.js +45 -0
- package/node_modules/@octopus/bpmn/lib/tasks/ManualTask.js +31 -0
- package/node_modules/@octopus/bpmn/lib/tasks/ReceiveTask.js +31 -0
- package/node_modules/@octopus/bpmn/lib/tasks/ScriptTask.js +35 -0
- package/node_modules/@octopus/bpmn/lib/tasks/SendTask.js +16 -0
- package/node_modules/@octopus/bpmn/lib/tasks/ServiceTask.js +68 -0
- package/node_modules/@octopus/bpmn/lib/tasks/SubProcess.js +17 -0
- package/node_modules/@octopus/bpmn/lib/tasks/Task.js +16 -0
- package/node_modules/@octopus/bpmn/lib/tasks/UserTask.js +47 -0
- package/node_modules/@octopus/bpmn/lib/transformer.js +13 -0
- package/node_modules/@octopus/bpmn/lib/validation.js +111 -0
- package/node_modules/@octopus/bpmn/package.json +17 -0
- package/node_modules/@octopus/bpmn/types/bpmn.d.ts +85 -0
- package/node_modules/@octopus/engine/README.md +370 -0
- package/node_modules/@octopus/engine/dist/actions/BackPreWebPageAction.d.ts +4 -0
- package/node_modules/@octopus/engine/dist/actions/BackPreWebPageAction.js +1 -0
- package/node_modules/@octopus/engine/dist/actions/BaseAction.d.ts +339 -0
- package/node_modules/@octopus/engine/dist/actions/BaseAction.js +1559 -0
- package/node_modules/@octopus/engine/dist/actions/BranchAction.d.ts +9 -0
- package/node_modules/@octopus/engine/dist/actions/BranchAction.js +1 -0
- package/node_modules/@octopus/engine/dist/actions/ClickAction.d.ts +22 -0
- package/node_modules/@octopus/engine/dist/actions/ClickAction.js +1 -0
- package/node_modules/@octopus/engine/dist/actions/ConditionAction.d.ts +4 -0
- package/node_modules/@octopus/engine/dist/actions/ConditionAction.js +1 -0
- package/node_modules/@octopus/engine/dist/actions/EmptyAction.d.ts +4 -0
- package/node_modules/@octopus/engine/dist/actions/EmptyAction.js +12 -0
- package/node_modules/@octopus/engine/dist/actions/EnterCaptchaAction.d.ts +28 -0
- package/node_modules/@octopus/engine/dist/actions/EnterCaptchaAction.js +1 -0
- package/node_modules/@octopus/engine/dist/actions/EnterTextAction.d.ts +20 -0
- package/node_modules/@octopus/engine/dist/actions/EnterTextAction.js +1 -0
- package/node_modules/@octopus/engine/dist/actions/ExtractDataAction.d.ts +40 -0
- package/node_modules/@octopus/engine/dist/actions/ExtractDataAction.js +1 -0
- package/node_modules/@octopus/engine/dist/actions/LoopAction.d.ts +41 -0
- package/node_modules/@octopus/engine/dist/actions/LoopAction.js +526 -0
- package/node_modules/@octopus/engine/dist/actions/LoopStartAction.d.ts +47 -0
- package/node_modules/@octopus/engine/dist/actions/LoopStartAction.js +607 -0
- package/node_modules/@octopus/engine/dist/actions/MouseOverAction.d.ts +8 -0
- package/node_modules/@octopus/engine/dist/actions/MouseOverAction.js +34 -0
- package/node_modules/@octopus/engine/dist/actions/NavigateAction.d.ts +38 -0
- package/node_modules/@octopus/engine/dist/actions/NavigateAction.js +535 -0
- package/node_modules/@octopus/engine/dist/actions/SwitchComboAction.d.ts +13 -0
- package/node_modules/@octopus/engine/dist/actions/SwitchComboAction.js +69 -0
- package/node_modules/@octopus/engine/dist/browser.d.ts +17 -0
- package/node_modules/@octopus/engine/dist/browser.js +157 -0
- package/node_modules/@octopus/engine/dist/browserProxy.d.ts +90 -0
- package/node_modules/@octopus/engine/dist/browserProxy.js +1 -0
- package/node_modules/@octopus/engine/dist/configs/BaseConfig.d.ts +20 -0
- package/node_modules/@octopus/engine/dist/configs/BaseConfig.js +88 -0
- package/node_modules/@octopus/engine/dist/configs/BranchConfig.d.ts +7 -0
- package/node_modules/@octopus/engine/dist/configs/BranchConfig.js +1 -0
- package/node_modules/@octopus/engine/dist/configs/ClickConfig.d.ts +36 -0
- package/node_modules/@octopus/engine/dist/configs/ClickConfig.js +65 -0
- package/node_modules/@octopus/engine/dist/configs/EnterCaptchaConfig.d.ts +19 -0
- package/node_modules/@octopus/engine/dist/configs/EnterCaptchaConfig.js +25 -0
- package/node_modules/@octopus/engine/dist/configs/EnterTextConfig.d.ts +24 -0
- package/node_modules/@octopus/engine/dist/configs/EnterTextConfig.js +36 -0
- package/node_modules/@octopus/engine/dist/configs/ExtractDataConfig.d.ts +12 -0
- package/node_modules/@octopus/engine/dist/configs/ExtractDataConfig.js +1 -0
- package/node_modules/@octopus/engine/dist/configs/LoopConfig.d.ts +25 -0
- package/node_modules/@octopus/engine/dist/configs/LoopConfig.js +40 -0
- package/node_modules/@octopus/engine/dist/configs/LoopStartConfig.d.ts +4 -0
- package/node_modules/@octopus/engine/dist/configs/LoopStartConfig.js +12 -0
- package/node_modules/@octopus/engine/dist/configs/MouseOverConfig.d.ts +8 -0
- package/node_modules/@octopus/engine/dist/configs/MouseOverConfig.js +15 -0
- package/node_modules/@octopus/engine/dist/configs/NavigateConfig.d.ts +41 -0
- package/node_modules/@octopus/engine/dist/configs/NavigateConfig.js +121 -0
- package/node_modules/@octopus/engine/dist/configs/SwitchComboConfig.d.ts +8 -0
- package/node_modules/@octopus/engine/dist/configs/SwitchComboConfig.js +15 -0
- package/node_modules/@octopus/engine/dist/enums/index.d.ts +419 -0
- package/node_modules/@octopus/engine/dist/enums/index.js +314 -0
- package/node_modules/@octopus/engine/dist/extension/BrowserWebSocketTransport-D_zAGZMQ.js +1 -0
- package/node_modules/@octopus/engine/dist/extension/LaunchOptions-DxvePrV4.js +6 -0
- package/node_modules/@octopus/engine/dist/extension/NodeWebSocketTransport-BTgRVB7Z.js +6 -0
- package/node_modules/@octopus/engine/dist/extension/background.js +396 -0
- package/node_modules/@octopus/engine/dist/extension/bidi-C_GIZ8Uz.js +131 -0
- package/node_modules/@octopus/engine/dist/extension/manifest.json +27 -0
- package/node_modules/@octopus/engine/dist/extension/src/content/anti-detection.js +1 -0
- package/node_modules/@octopus/engine/dist/extension-bridge/BaseExtensionBridge.d.ts +21 -0
- package/node_modules/@octopus/engine/dist/extension-bridge/BaseExtensionBridge.js +117 -0
- package/node_modules/@octopus/engine/dist/extension-bridge/SessionExtensionBridge.d.ts +17 -0
- package/node_modules/@octopus/engine/dist/extension-bridge/SessionExtensionBridge.js +29 -0
- package/node_modules/@octopus/engine/dist/extension-bridge/index.d.ts +2 -0
- package/node_modules/@octopus/engine/dist/extension-bridge/index.js +5 -0
- package/node_modules/@octopus/engine/dist/extension-bridge/types.d.ts +159 -0
- package/node_modules/@octopus/engine/dist/extension-bridge/types.js +5 -0
- package/node_modules/@octopus/engine/dist/extensions/ublock-origin/uBlock0.chromium.tar.xz +0 -0
- package/node_modules/@octopus/engine/dist/extensions/ublock-origin-lite/uBOLite.chromium.tar.xz +0 -0
- package/node_modules/@octopus/engine/dist/index.d.ts +169 -0
- package/node_modules/@octopus/engine/dist/index.js +1 -0
- package/node_modules/@octopus/engine/dist/models/actionItem.d.ts +16 -0
- package/node_modules/@octopus/engine/dist/models/actionItem.js +15 -0
- package/node_modules/@octopus/engine/dist/models/conditionCheckArgs.d.ts +11 -0
- package/node_modules/@octopus/engine/dist/models/conditionCheckArgs.js +11 -0
- package/node_modules/@octopus/engine/dist/models/customizeCookie.d.ts +14 -0
- package/node_modules/@octopus/engine/dist/models/customizeCookie.js +6 -0
- package/node_modules/@octopus/engine/dist/models/downloadFileConfig.d.ts +17 -0
- package/node_modules/@octopus/engine/dist/models/downloadFileConfig.js +26 -0
- package/node_modules/@octopus/engine/dist/models/elementNotFoundArgs.d.ts +8 -0
- package/node_modules/@octopus/engine/dist/models/elementNotFoundArgs.js +12 -0
- package/node_modules/@octopus/engine/dist/models/elementNotFoundError.d.ts +2 -0
- package/node_modules/@octopus/engine/dist/models/elementNotFoundError.js +6 -0
- package/node_modules/@octopus/engine/dist/models/extractItem.d.ts +37 -0
- package/node_modules/@octopus/engine/dist/models/extractItem.js +35 -0
- package/node_modules/@octopus/engine/dist/models/extractTemplate.d.ts +11 -0
- package/node_modules/@octopus/engine/dist/models/extractTemplate.js +48 -0
- package/node_modules/@octopus/engine/dist/models/extractTextItem.d.ts +10 -0
- package/node_modules/@octopus/engine/dist/models/extractTextItem.js +17 -0
- package/node_modules/@octopus/engine/dist/models/globalConfig.d.ts +5 -0
- package/node_modules/@octopus/engine/dist/models/globalConfig.js +1 -0
- package/node_modules/@octopus/engine/dist/models/httpHeader.d.ts +4 -0
- package/node_modules/@octopus/engine/dist/models/httpHeader.js +10 -0
- package/node_modules/@octopus/engine/dist/models/operation.d.ts +27 -0
- package/node_modules/@octopus/engine/dist/models/operation.js +242 -0
- package/node_modules/@octopus/engine/dist/models/retryCondition.d.ts +7 -0
- package/node_modules/@octopus/engine/dist/models/retryCondition.js +10 -0
- package/node_modules/@octopus/engine/dist/models/task.d.ts +89 -0
- package/node_modules/@octopus/engine/dist/models/task.js +120 -0
- package/node_modules/@octopus/engine/dist/models/trigger.d.ts +66 -0
- package/node_modules/@octopus/engine/dist/models/trigger.js +117 -0
- package/node_modules/@octopus/engine/dist/package.json +26 -0
- package/node_modules/@octopus/engine/dist/public-types.d.ts +13 -0
- package/node_modules/@octopus/engine/dist/public-types.js +2 -0
- package/node_modules/@octopus/engine/dist/settings.d.ts +41 -0
- package/node_modules/@octopus/engine/dist/settings.js +20 -0
- package/node_modules/@octopus/engine/dist/solvers/captcha/ClickCaptchaSolver.d.ts +6 -0
- package/node_modules/@octopus/engine/dist/solvers/captcha/ClickCaptchaSolver.js +1 -0
- package/node_modules/@octopus/engine/dist/solvers/captcha/HCaptchaSolver.d.ts +4 -0
- package/node_modules/@octopus/engine/dist/solvers/captcha/HCaptchaSolver.js +73 -0
- package/node_modules/@octopus/engine/dist/solvers/captcha/ImageCaptchaSolver.d.ts +2 -0
- package/node_modules/@octopus/engine/dist/solvers/captcha/ImageCaptchaSolver.js +74 -0
- package/node_modules/@octopus/engine/dist/solvers/captcha/RecaptchaSolver.d.ts +9 -0
- package/node_modules/@octopus/engine/dist/solvers/captcha/RecaptchaSolver.js +371 -0
- package/node_modules/@octopus/engine/dist/solvers/captcha/SliderCaptchaSolver.d.ts +6 -0
- package/node_modules/@octopus/engine/dist/solvers/captcha/SliderCaptchaSolver.js +184 -0
- package/node_modules/@octopus/engine/dist/solvers/captcha/SlidingTrajectory.d.ts +50 -0
- package/node_modules/@octopus/engine/dist/solvers/captcha/SlidingTrajectory.js +125 -0
- package/node_modules/@octopus/engine/dist/solvers/captcha/types.d.ts +68 -0
- package/node_modules/@octopus/engine/dist/solvers/captcha/types.js +34 -0
- package/node_modules/@octopus/engine/dist/solvers/captcha/utils.d.ts +2 -0
- package/node_modules/@octopus/engine/dist/solvers/captcha/utils.js +15 -0
- package/node_modules/@octopus/engine/dist/translator/actionFactory.d.ts +6 -0
- package/node_modules/@octopus/engine/dist/translator/actionFactory.js +1 -0
- package/node_modules/@octopus/engine/dist/translator/activityTypeEnum.d.ts +22 -0
- package/node_modules/@octopus/engine/dist/translator/activityTypeEnum.js +1 -0
- package/node_modules/@octopus/engine/dist/translator/backPreWebPageAction.d.ts +5 -0
- package/node_modules/@octopus/engine/dist/translator/backPreWebPageAction.js +1 -0
- package/node_modules/@octopus/engine/dist/translator/baseAction.d.ts +31 -0
- package/node_modules/@octopus/engine/dist/translator/baseAction.js +1 -0
- package/node_modules/@octopus/engine/dist/translator/breakActivity.d.ts +5 -0
- package/node_modules/@octopus/engine/dist/translator/breakActivity.js +1 -0
- package/node_modules/@octopus/engine/dist/translator/clickAction.d.ts +5 -0
- package/node_modules/@octopus/engine/dist/translator/clickAction.js +1 -0
- package/node_modules/@octopus/engine/dist/translator/completeWF.d.ts +5 -0
- package/node_modules/@octopus/engine/dist/translator/completeWF.js +1 -0
- package/node_modules/@octopus/engine/dist/translator/conditionAction.d.ts +6 -0
- package/node_modules/@octopus/engine/dist/translator/conditionAction.js +1 -0
- package/node_modules/@octopus/engine/dist/translator/emptyAction.d.ts +5 -0
- package/node_modules/@octopus/engine/dist/translator/emptyAction.js +1 -0
- package/node_modules/@octopus/engine/dist/translator/enterCapachaAction.d.ts +5 -0
- package/node_modules/@octopus/engine/dist/translator/enterCapachaAction.js +1 -0
- package/node_modules/@octopus/engine/dist/translator/enterTextAction.d.ts +5 -0
- package/node_modules/@octopus/engine/dist/translator/enterTextAction.js +1 -0
- package/node_modules/@octopus/engine/dist/translator/extractDataAction.d.ts +13 -0
- package/node_modules/@octopus/engine/dist/translator/extractDataAction.js +1 -0
- package/node_modules/@octopus/engine/dist/translator/loopAction.d.ts +5 -0
- package/node_modules/@octopus/engine/dist/translator/loopAction.js +1 -0
- package/node_modules/@octopus/engine/dist/translator/mouseOverAction.d.ts +5 -0
- package/node_modules/@octopus/engine/dist/translator/mouseOverAction.js +19 -0
- package/node_modules/@octopus/engine/dist/translator/navigateAction.d.ts +5 -0
- package/node_modules/@octopus/engine/dist/translator/navigateAction.js +117 -0
- package/node_modules/@octopus/engine/dist/translator/rootAction.d.ts +6 -0
- package/node_modules/@octopus/engine/dist/translator/rootAction.js +80 -0
- package/node_modules/@octopus/engine/dist/translator/switchCombo2Action.d.ts +5 -0
- package/node_modules/@octopus/engine/dist/translator/switchCombo2Action.js +19 -0
- package/node_modules/@octopus/engine/dist/translator/translator.d.ts +1 -0
- package/node_modules/@octopus/engine/dist/translator/translator.js +36 -0
- package/node_modules/@octopus/engine/dist/type.d.ts +25 -0
- package/node_modules/@octopus/engine/dist/type.js +2 -0
- package/node_modules/@octopus/engine/dist/types/browser.d.ts +191 -0
- package/node_modules/@octopus/engine/dist/types/browser.js +1 -0
- package/node_modules/@octopus/engine/dist/types/browserManager.d.ts +41 -0
- package/node_modules/@octopus/engine/dist/types/browserManager.js +1 -0
- package/node_modules/@octopus/engine/dist/types/index.d.ts +40 -0
- package/node_modules/@octopus/engine/dist/types/index.js +2 -0
- package/node_modules/@octopus/engine/dist/types/plugin.d.ts +29 -0
- package/node_modules/@octopus/engine/dist/types/plugin.js +2 -0
- package/node_modules/@octopus/engine/dist/utils/AsyncEmitter.d.ts +15 -0
- package/node_modules/@octopus/engine/dist/utils/AsyncEmitter.js +1 -0
- package/node_modules/@octopus/engine/dist/utils/DataStore.d.ts +58 -0
- package/node_modules/@octopus/engine/dist/utils/DataStore.js +1 -0
- package/node_modules/@octopus/engine/dist/utils/DateTimeFormatHelper.d.ts +22 -0
- package/node_modules/@octopus/engine/dist/utils/DateTimeFormatHelper.js +173 -0
- package/node_modules/@octopus/engine/dist/utils/FileDownloader.d.ts +108 -0
- package/node_modules/@octopus/engine/dist/utils/FileDownloader.js +1 -0
- package/node_modules/@octopus/engine/dist/utils/HttpRequester.d.ts +43 -0
- package/node_modules/@octopus/engine/dist/utils/HttpRequester.js +174 -0
- package/node_modules/@octopus/engine/dist/utils/JsonParser.d.ts +95 -0
- package/node_modules/@octopus/engine/dist/utils/JsonParser.js +439 -0
- package/node_modules/@octopus/engine/dist/utils/Operations.d.ts +27 -0
- package/node_modules/@octopus/engine/dist/utils/Operations.js +115 -0
- package/node_modules/@octopus/engine/dist/utils/index.d.ts +28 -0
- package/node_modules/@octopus/engine/dist/utils/index.js +356 -0
- package/node_modules/@octopus/engine/package.json +58 -0
- package/package.json +79 -0
- package/schemas/capabilities-v1.schema.json +234 -0
- package/schemas/detached-bootstrap-v1.schema.json +42 -0
- package/schemas/json-envelope-v1.schema.json +39 -0
- package/schemas/run-event-v1.schema.json +47 -0
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.RequestErrorArgs = exports.RequestedArgs = exports.RequestingArgs = exports.HttpRequester = void 0;
|
|
7
|
+
const events_1 = require("events");
|
|
8
|
+
const https_1 = require("https");
|
|
9
|
+
const axios_1 = __importDefault(require("axios"));
|
|
10
|
+
// eslint-disable-next-line
|
|
11
|
+
const iconv_lite_1 = __importDefault(require("iconv-lite"));
|
|
12
|
+
const _1 = require(".");
|
|
13
|
+
// Axios 会自动根据环境选择合适的 adapter
|
|
14
|
+
// Node.js 环境自动使用 http/https adapter,浏览器环境使用 xhr adapter
|
|
15
|
+
// 移除手动设置以避免 ESM 兼容性问题
|
|
16
|
+
const agent = new https_1.Agent({ rejectUnauthorized: false });
|
|
17
|
+
class HttpRequester extends events_1.EventEmitter {
|
|
18
|
+
constructor() {
|
|
19
|
+
super();
|
|
20
|
+
this.isRequesting = false;
|
|
21
|
+
}
|
|
22
|
+
startRequest(url, method, headers, bodyContent, timeout, requestCallback) {
|
|
23
|
+
//兼容v7版本的客户端生成的规则的问题,如果v7版本不再使用,即可删除该逻辑
|
|
24
|
+
if (bodyContent &&
|
|
25
|
+
bodyContent.startsWith('{}') &&
|
|
26
|
+
!bodyContent.endsWith('{}')) {
|
|
27
|
+
bodyContent = bodyContent.slice(2, bodyContent.length);
|
|
28
|
+
}
|
|
29
|
+
this.isRequesting = true;
|
|
30
|
+
return new Promise((resolve, reject) => {
|
|
31
|
+
try {
|
|
32
|
+
const requestingArgs = new RequestingArgs(url, method, headers, bodyContent);
|
|
33
|
+
// if(this.onRequesting){
|
|
34
|
+
// this.onRequesting(requestingArgs);
|
|
35
|
+
// }
|
|
36
|
+
this.emit('onRequesting', requestingArgs);
|
|
37
|
+
if (requestingArgs.cancel) {
|
|
38
|
+
// if(this.onRequested){
|
|
39
|
+
// this.onRequestStopped();
|
|
40
|
+
// resolve();
|
|
41
|
+
// return;
|
|
42
|
+
// }
|
|
43
|
+
this.emit('onRequestStopped');
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
console.error('🔴 请求前处理错误:', error);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* 切换到axios的原因:可以请求到更多JSON接口,支持timeout, 避免系统长时间的无效等待
|
|
52
|
+
*/
|
|
53
|
+
const config = {
|
|
54
|
+
url: HttpRequester.checkChinese(url) ? encodeURI(url) : url,
|
|
55
|
+
method,
|
|
56
|
+
headers: {
|
|
57
|
+
Accept: 'application/json, text/plain, */*',
|
|
58
|
+
'User-Agent': HttpRequester.userAgent || 'Mozilla/5.0',
|
|
59
|
+
Cookie: ''
|
|
60
|
+
},
|
|
61
|
+
data: bodyContent,
|
|
62
|
+
timeout,
|
|
63
|
+
responseType: 'arraybuffer',
|
|
64
|
+
httpsAgent: agent
|
|
65
|
+
};
|
|
66
|
+
if (headers && headers.size > 0) {
|
|
67
|
+
for (const k of headers) {
|
|
68
|
+
config.headers[k[0]] = k[1];
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
if (!(0, _1.isNullOrEmpty)(HttpRequester.xForwardFor)) {
|
|
72
|
+
config.headers['X-Forwarded-For'] = HttpRequester.xForwardFor;
|
|
73
|
+
}
|
|
74
|
+
if (HttpRequester.cookies) {
|
|
75
|
+
let cookiesStr = '';
|
|
76
|
+
for (const cookie of HttpRequester.cookies) {
|
|
77
|
+
cookiesStr += cookie.name + '=' + cookie.value + ';';
|
|
78
|
+
}
|
|
79
|
+
config.headers.Cookie = cookiesStr;
|
|
80
|
+
}
|
|
81
|
+
(0, axios_1.default)(config)
|
|
82
|
+
.then((response) => {
|
|
83
|
+
var _a;
|
|
84
|
+
this.isRequesting = false;
|
|
85
|
+
try {
|
|
86
|
+
const charset = (response.headers &&
|
|
87
|
+
((_a = response.headers['content-type']) === null || _a === void 0 ? void 0 : _a.toLowerCase().split('charset=')[1])) ||
|
|
88
|
+
'utf8';
|
|
89
|
+
const body = iconv_lite_1.default.decode(response.data, charset);
|
|
90
|
+
const responseCode = response.status;
|
|
91
|
+
const requestedArgs = new RequestedArgs((0, _1.isNullOrEmpty)(response.config.url) ? url : response.config.url, responseCode, body, '', response);
|
|
92
|
+
this.emit('onRequested', requestedArgs);
|
|
93
|
+
if (requestCallback)
|
|
94
|
+
requestCallback();
|
|
95
|
+
resolve();
|
|
96
|
+
}
|
|
97
|
+
catch (error) {
|
|
98
|
+
const errorArgs = new RequestErrorArgs(url, error);
|
|
99
|
+
this.emit('onRequestError', errorArgs);
|
|
100
|
+
reject(error);
|
|
101
|
+
}
|
|
102
|
+
})
|
|
103
|
+
.catch((error) => {
|
|
104
|
+
this.isRequesting = false;
|
|
105
|
+
const errorArgs = new RequestErrorArgs(url, error);
|
|
106
|
+
this.emit('onRequestError', errorArgs);
|
|
107
|
+
reject(error);
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* 判断网页地址是否包含中文字符
|
|
113
|
+
* @param str
|
|
114
|
+
*/
|
|
115
|
+
static checkChinese(str) {
|
|
116
|
+
const reg = /[\u4E00-\u9FFF]+/g;
|
|
117
|
+
return reg.test(str);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
exports.HttpRequester = HttpRequester;
|
|
121
|
+
class RequestingArgs {
|
|
122
|
+
constructor(url, method, requestHeaders, bodyContent) {
|
|
123
|
+
this.url = url;
|
|
124
|
+
this.method = method;
|
|
125
|
+
this.requestHeaders = requestHeaders;
|
|
126
|
+
this.bodyContent = bodyContent;
|
|
127
|
+
this.cancel = false;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
exports.RequestingArgs = RequestingArgs;
|
|
131
|
+
class RequestedArgs {
|
|
132
|
+
constructor(url, statusCode, responseString, encoding, response) {
|
|
133
|
+
this.url = url;
|
|
134
|
+
this.statusCode = statusCode;
|
|
135
|
+
this.responseString = responseString;
|
|
136
|
+
this.encoding = encoding;
|
|
137
|
+
this.response = response;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
exports.RequestedArgs = RequestedArgs;
|
|
141
|
+
class RequestErrorArgs {
|
|
142
|
+
constructor(url, error) {
|
|
143
|
+
this.statusCode = 0;
|
|
144
|
+
this.responseString = '';
|
|
145
|
+
this.url = url;
|
|
146
|
+
this.error = error;
|
|
147
|
+
}
|
|
148
|
+
// public SocketException SocketException { get { return Exception?.InnerException as SocketException; } }
|
|
149
|
+
// public WebException WebException { get { return Exception as WebException; } }
|
|
150
|
+
get ErrorSummary() {
|
|
151
|
+
let summary = '';
|
|
152
|
+
// if (WebException != null)
|
|
153
|
+
// {
|
|
154
|
+
// summary += ($"{(int)StatusCode}: {StatusCode}") + Environment.NewLine;
|
|
155
|
+
// summary += ("Status: " + WebException.Status) + Environment.NewLine;
|
|
156
|
+
// if (!string.IsNullOrEmpty(ResponseString))
|
|
157
|
+
// {
|
|
158
|
+
// summary += "Server Message: " + ResponseString + Environment.NewLine;
|
|
159
|
+
// }
|
|
160
|
+
// summary += "Message: " + Exception + Environment.NewLine;
|
|
161
|
+
// }
|
|
162
|
+
// else
|
|
163
|
+
{
|
|
164
|
+
summary += 'Message: ' + this.error;
|
|
165
|
+
}
|
|
166
|
+
// if (SocketException != null)
|
|
167
|
+
// {
|
|
168
|
+
// summary += "SocketException: " + SocketException.SocketErrorCode.ToString() + Environment.NewLine;
|
|
169
|
+
// summary += "Message: " + SocketException + Environment.NewLine;
|
|
170
|
+
// }
|
|
171
|
+
return summary;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
exports.RequestErrorArgs = RequestErrorArgs;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { EventEmitter } from 'events';
|
|
2
|
+
import xmlbuilder from 'xmlbuilder';
|
|
3
|
+
import { ElementNotFoundArgs } from '../models/elementNotFoundArgs';
|
|
4
|
+
import { ExtractItem } from '../models/extractItem';
|
|
5
|
+
import { ExtractTemplate } from '../models/extractTemplate';
|
|
6
|
+
import { ExtractTextItem } from '../models/extractTextItem';
|
|
7
|
+
import { RequestedArgs, RequestErrorArgs, RequestingArgs } from './HttpRequester';
|
|
8
|
+
export default class JsonParser extends EventEmitter {
|
|
9
|
+
private jsonObject;
|
|
10
|
+
private httpRequester?;
|
|
11
|
+
onElementNotFound?: (args: ElementNotFoundArgs) => void;
|
|
12
|
+
onReport?: (message: string) => void;
|
|
13
|
+
private jsonpath;
|
|
14
|
+
/** 当前任务源网址 */
|
|
15
|
+
private taskSourceUrl;
|
|
16
|
+
constructor();
|
|
17
|
+
onRequested(func: (args: RequestedArgs) => void): void;
|
|
18
|
+
onRequestError(func: (args: RequestErrorArgs) => void): void;
|
|
19
|
+
onRequesting(func: (args: RequestingArgs) => void): void;
|
|
20
|
+
onRequestStopped(func: () => void): void;
|
|
21
|
+
onJsonParsed(func: (args: JsonParsedArgs) => void): void;
|
|
22
|
+
get json(): string;
|
|
23
|
+
set json(str: string);
|
|
24
|
+
originText: string;
|
|
25
|
+
currentUrl: string;
|
|
26
|
+
get isRequesting(): boolean;
|
|
27
|
+
startRequest(url: string, method: string, headers: Map<string, string>, bodyContent: string, timeout: number, requestCallback?: (resp?: unknown) => void): Promise<void>;
|
|
28
|
+
getRoot(): any;
|
|
29
|
+
private readonly UNICODE_REGEX;
|
|
30
|
+
/**
|
|
31
|
+
* 获取路径末尾的[.*]
|
|
32
|
+
* @param path
|
|
33
|
+
*/
|
|
34
|
+
private getLastBracketString;
|
|
35
|
+
/**
|
|
36
|
+
* 将jsonpath转为8可用的格式
|
|
37
|
+
*/
|
|
38
|
+
private fixPathToV8;
|
|
39
|
+
getNode(absPath: string, relativePath?: string): JsonNode | undefined;
|
|
40
|
+
loadFromJson(json: string): void;
|
|
41
|
+
httpJsonParser_OnRequested(args: RequestedArgs): void;
|
|
42
|
+
extractText(textItem: ExtractTextItem, baseJPath: string): Promise<string>;
|
|
43
|
+
extractItem(extractItem: ExtractItem | undefined, writer: xmlbuilder.XMLElement, baseJPath: string, data: any): Promise<boolean>;
|
|
44
|
+
extractGroupItem(extractTemplate: ExtractTemplate, extractItem: ExtractItem, writer: xmlbuilder.XMLElement, baseJPath: string, data: any): Promise<boolean>;
|
|
45
|
+
/** 当前任务源网址 */
|
|
46
|
+
extractFromTemplate(extractTemplate: ExtractTemplate, baseJPath: string, data: any, taskSourceUrl: any): Promise<string>;
|
|
47
|
+
isNormalJson(text: string): boolean;
|
|
48
|
+
stripJsonpToJson(text: string): string;
|
|
49
|
+
}
|
|
50
|
+
export declare class JsonRequest {
|
|
51
|
+
method: HttpMethod;
|
|
52
|
+
url: string;
|
|
53
|
+
private headers;
|
|
54
|
+
private body;
|
|
55
|
+
addHeader(name: string, value: string): void;
|
|
56
|
+
removeHeader(name: string): void;
|
|
57
|
+
getHeaders(): Map<string, string>;
|
|
58
|
+
setBody(body: string): void;
|
|
59
|
+
getBody(): string;
|
|
60
|
+
}
|
|
61
|
+
export declare enum HttpMethod {
|
|
62
|
+
Get = "GET",
|
|
63
|
+
Post = "POST"
|
|
64
|
+
}
|
|
65
|
+
export declare class JsonNode {
|
|
66
|
+
private _name;
|
|
67
|
+
private _value;
|
|
68
|
+
private _pathItems;
|
|
69
|
+
private _jsonpath;
|
|
70
|
+
selected: boolean;
|
|
71
|
+
childs: JsonNode[];
|
|
72
|
+
parent: JsonNode | undefined;
|
|
73
|
+
constructor(jsonpath: any, name: string, value: any, pathItems: (string | number)[]);
|
|
74
|
+
/** 获取json节点的value文本 */
|
|
75
|
+
getValueText(): string;
|
|
76
|
+
/** 在json browser上展示的文本 */
|
|
77
|
+
get text(): string;
|
|
78
|
+
get path(): string;
|
|
79
|
+
get pathItems(): (string | number)[];
|
|
80
|
+
get type(): JsonNodeType;
|
|
81
|
+
get value(): any;
|
|
82
|
+
}
|
|
83
|
+
export declare enum JsonNodeType {
|
|
84
|
+
Object = "Object",
|
|
85
|
+
Array = "Array",
|
|
86
|
+
Value = "Value"
|
|
87
|
+
}
|
|
88
|
+
export declare class JsonParsedArgs {
|
|
89
|
+
url: string;
|
|
90
|
+
originText: string;
|
|
91
|
+
json: string;
|
|
92
|
+
parseSuccess: boolean;
|
|
93
|
+
parseException: any;
|
|
94
|
+
constructor(url: string, originText: string, json: string, parseSuccess: boolean, parseException?: any);
|
|
95
|
+
}
|