capmonstercloudclient 1.5.1__tar.gz → 1.6.0__tar.gz

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.
Files changed (70) hide show
  1. {capmonstercloudclient-1.5.1/capmonstercloudclient.egg-info → capmonstercloudclient-1.6.0}/PKG-INFO +17 -5
  2. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/README.md +4 -3
  3. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/CapMonsterCloudClient.py +12 -3
  4. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/GetResultTimeouts.py +6 -0
  5. capmonstercloudclient-1.6.0/capmonstercloud_client/requests/BinanceTaskProxylessRequest.py +17 -0
  6. capmonstercloudclient-1.6.0/capmonstercloud_client/requests/BinanceTaskRequest.py +22 -0
  7. capmonstercloudclient-1.6.0/capmonstercloud_client/requests/BinanceTaskRequestBase.py +11 -0
  8. capmonstercloudclient-1.6.0/capmonstercloud_client/requests/ImpervaCustomTaskProxylessRequest.py +33 -0
  9. capmonstercloudclient-1.6.0/capmonstercloud_client/requests/ImpervaCustomTaskRequest.py +39 -0
  10. capmonstercloudclient-1.6.0/capmonstercloud_client/requests/ImpervaCustomTaskRequestBase.py +8 -0
  11. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/TurnstileRequestBase.py +1 -0
  12. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/__init__.py +8 -1
  13. capmonstercloudclient-1.6.0/capmonstercloud_client/version.txt +1 -0
  14. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0/capmonstercloudclient.egg-info}/PKG-INFO +17 -5
  15. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloudclient.egg-info/SOURCES.txt +6 -0
  16. capmonstercloudclient-1.5.1/capmonstercloud_client/version.txt +0 -1
  17. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/LICENSE +0 -0
  18. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/MANIFEST.in +0 -0
  19. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/__init__.py +0 -0
  20. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/captchaResult.py +0 -0
  21. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/clientOptions.py +0 -0
  22. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/exceptions.py +0 -0
  23. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requestController.py +0 -0
  24. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/AmazonWafProxylessRequest.py +0 -0
  25. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/AmazonWafRequest.py +0 -0
  26. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/AmazonWafRequestBase.py +0 -0
  27. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/BasiliskCustomTaskProxylessRequest.py +0 -0
  28. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/BasiliskCustomTaskRequest.py +0 -0
  29. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/BasiliskCustomTaskRequestBase.py +0 -0
  30. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/ComplexImageTaskBase.py +0 -0
  31. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/CustomTaskRequestBase.py +0 -0
  32. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/DataDomeCustomTaskProxylessRequest.py +0 -0
  33. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/DataDomeCustomTaskRequest.py +0 -0
  34. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/DataDomeCustomTaskRequestBase.py +0 -0
  35. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/FuncaptchaComplexImageTask.py +0 -0
  36. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/FuncaptchaProxylessRequest.py +0 -0
  37. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/FuncaptchaRequest.py +0 -0
  38. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/FuncaptchaRequestBase.py +0 -0
  39. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/GeetestProxylessRequest.py +0 -0
  40. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/GeetestRequest.py +0 -0
  41. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/GeetestRequestBase.py +0 -0
  42. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/HcaptchaComplexImageTask.py +0 -0
  43. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/HcaptchaProxylessRequest.py +0 -0
  44. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/HcaptchaRequest.py +0 -0
  45. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/HcaptchaRequestBase.py +0 -0
  46. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/ImageToTextRequest.py +0 -0
  47. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/RecaptchaComplexImageTask.py +0 -0
  48. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/RecaptchaV2EnterpiseRequest.py +0 -0
  49. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/RecaptchaV2EnterpriseProxylessRequest.py +0 -0
  50. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/RecaptchaV2EnterpriseRequestBase.py +0 -0
  51. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/RecaptchaV2ProxylessRequest.py +0 -0
  52. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/RecaptchaV2Request.py +0 -0
  53. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/RecaptchaV2RequestBase.py +0 -0
  54. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/RecaptchaV3ProxylessRequest.py +0 -0
  55. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/TenDiCustomTaskProxylessRequest.py +0 -0
  56. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/TenDiCustomTaskRequest.py +0 -0
  57. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/TenDiCustomTaskRequestBase.py +0 -0
  58. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/TurnstileProxylessRequest.py +0 -0
  59. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/TurnstileRequest.py +0 -0
  60. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/baseRequest.py +0 -0
  61. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/enums.py +0 -0
  62. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/requests/proxy_info.py +0 -0
  63. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloud_client/utils.py +0 -0
  64. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloudclient.egg-info/dependency_links.txt +0 -0
  65. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloudclient.egg-info/requires.txt +0 -0
  66. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/capmonstercloudclient.egg-info/top_level.txt +0 -0
  67. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/pyproject.toml +0 -0
  68. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/requirements.txt +0 -0
  69. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/setup.cfg +0 -0
  70. {capmonstercloudclient-1.5.1 → capmonstercloudclient-1.6.0}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: capmonstercloudclient
3
- Version: 1.5.1
3
+ Version: 1.6.0
4
4
  Summary: Official CapMonsterCloud Client: https://capmonster.cloud/
5
5
  Home-page: https://github.com/ZennoLab/capmonstercloud-client-python
6
6
  Author: Andrey Ilyin
@@ -35,6 +35,17 @@ Description-Content-Type: text/markdown
35
35
  License-File: LICENSE
36
36
  Requires-Dist: aiohttp>=3.7.4
37
37
  Requires-Dist: pydantic==2.1.*
38
+ Dynamic: author
39
+ Dynamic: author-email
40
+ Dynamic: classifier
41
+ Dynamic: description
42
+ Dynamic: description-content-type
43
+ Dynamic: home-page
44
+ Dynamic: keywords
45
+ Dynamic: license
46
+ Dynamic: requires-dist
47
+ Dynamic: requires-python
48
+ Dynamic: summary
38
49
 
39
50
  # Zennolab.CapMonsterCloud.Client
40
51
 
@@ -69,8 +80,6 @@ Supported captcha recognition requests:
69
80
 
70
81
  - [GeeTestProxylessRequest](https://zenno.link/doc-geetest-en)
71
82
  - [GeeTestRequest](https://zenno.link/doc-geetest-proxy-en)
72
- - [HCaptchaProxylessRequest](https://zenno.link/doc-hcaptcha-en)
73
- - [HCaptchaRequest](https://zenno.link/doc-hcaptcha-proxy-en)
74
83
  - [ImageToTextRequest](https://zenno.link/doc-ImageToTextTask-en)
75
84
  - [RecaptchaV2ProxylessRequest](https://zenno.link/doc-recaptcha2-en)
76
85
  - [RecaptchaV2Request](https://zenno.link/doc-recaptcha2-proxy-en)
@@ -80,8 +89,11 @@ Supported captcha recognition requests:
80
89
  - [TurnstileProxylessRequest](https://zenno.link/doc-turnstile-en)
81
90
  - [TurnstileRequest](https://zenno.link/doc-turnstile-proxy-en)
82
91
  - [RecaptchaComplexImageTaskRequest](https://zenno.link/doc-complextask-rc-en)
83
- - [HcaptchaComplexImageTaskRequest](https://zenno.link/doc-complextask-hc-en)
84
92
  - [DataDomeCustomTaskRequest](https://docs.capmonster.cloud/docs/captchas/datadome)
85
93
  - [TenDiCustomTaskRequest](https://docs.capmonster.cloud/docs/captchas/tendi)
86
94
  - [BasiliskCustomTaskRequest](https://docs.capmonster.cloud/docs/captchas/Basilisk-task)
87
95
  - [AmazonWafRequest](https://docs.capmonster.cloud/docs/captchas/amazon-task)
96
+ - [BinanceTaskRequest](https://docs.capmonster.cloud/docs/captchas/binance)
97
+ - [BinanceTaskProxylessRequest](https://docs.capmonster.cloud/docs/captchas/binance)
98
+ - [ImpervaCustomTaskRequest](https://docs.capmonster.cloud/docs/captchas/incapsula)
99
+ - [ImpervaCustomTaskProxylessRequest](https://docs.capmonster.cloud/docs/captchas/incapsula)
@@ -31,8 +31,6 @@ Supported captcha recognition requests:
31
31
 
32
32
  - [GeeTestProxylessRequest](https://zenno.link/doc-geetest-en)
33
33
  - [GeeTestRequest](https://zenno.link/doc-geetest-proxy-en)
34
- - [HCaptchaProxylessRequest](https://zenno.link/doc-hcaptcha-en)
35
- - [HCaptchaRequest](https://zenno.link/doc-hcaptcha-proxy-en)
36
34
  - [ImageToTextRequest](https://zenno.link/doc-ImageToTextTask-en)
37
35
  - [RecaptchaV2ProxylessRequest](https://zenno.link/doc-recaptcha2-en)
38
36
  - [RecaptchaV2Request](https://zenno.link/doc-recaptcha2-proxy-en)
@@ -42,8 +40,11 @@ Supported captcha recognition requests:
42
40
  - [TurnstileProxylessRequest](https://zenno.link/doc-turnstile-en)
43
41
  - [TurnstileRequest](https://zenno.link/doc-turnstile-proxy-en)
44
42
  - [RecaptchaComplexImageTaskRequest](https://zenno.link/doc-complextask-rc-en)
45
- - [HcaptchaComplexImageTaskRequest](https://zenno.link/doc-complextask-hc-en)
46
43
  - [DataDomeCustomTaskRequest](https://docs.capmonster.cloud/docs/captchas/datadome)
47
44
  - [TenDiCustomTaskRequest](https://docs.capmonster.cloud/docs/captchas/tendi)
48
45
  - [BasiliskCustomTaskRequest](https://docs.capmonster.cloud/docs/captchas/Basilisk-task)
49
46
  - [AmazonWafRequest](https://docs.capmonster.cloud/docs/captchas/amazon-task)
47
+ - [BinanceTaskRequest](https://docs.capmonster.cloud/docs/captchas/binance)
48
+ - [BinanceTaskProxylessRequest](https://docs.capmonster.cloud/docs/captchas/binance)
49
+ - [ImpervaCustomTaskRequest](https://docs.capmonster.cloud/docs/captchas/incapsula)
50
+ - [ImpervaCustomTaskProxylessRequest](https://docs.capmonster.cloud/docs/captchas/incapsula)
@@ -28,7 +28,8 @@ _instance_config = (
28
28
  ((TenDiCustomTaskRequest, TenDiCustomTaskProxylessRequest), getTenDiTimeouts),
29
29
  ((BasiliskCustomTaskRequest, BasiliskCustomTaskProxylessRequest), getBasiliskTimeouts),
30
30
  ((AmazonWafRequest, AmazonWafProxylessRequest), getAmazonWafTimeouts),
31
-
31
+ ((BinanceTaskRequest, BinanceTaskProxylessRequest), getBinanceTimeouts),
32
+ ((ImpervaCustomTaskRequest, ImpervaCustomTaskProxylessRequest), getImpervaTimeouts)
32
33
  )
33
34
 
34
35
 
@@ -77,7 +78,11 @@ class CapMonsterClient:
77
78
  RecaptchaComplexImageTaskRequest,
78
79
  FunCaptchaComplexImageTaskRequest,
79
80
  DataDomeCustomTaskProxylessRequest,
80
- DataDomeCustomTaskRequest],
81
+ DataDomeCustomTaskRequest,
82
+ BinanceTaskRequest,
83
+ BinanceTaskProxylessRequest,
84
+ ImpervaCustomTaskRequest,
85
+ ImpervaCustomTaskProxylessRequest],
81
86
  ) -> Dict[str, str]:
82
87
  '''
83
88
  Non-blocking method for captcha solving.
@@ -108,7 +113,11 @@ class CapMonsterClient:
108
113
  TurnstileRequest,
109
114
  HcaptchaComplexImageTaskRequest,
110
115
  RecaptchaComplexImageTaskRequest,
111
- FunCaptchaComplexImageTaskRequest],
116
+ FunCaptchaComplexImageTaskRequest,
117
+ BinanceTaskRequest,
118
+ BinanceTaskProxylessRequest,
119
+ ImpervaCustomTaskRequest,
120
+ ImpervaCustomTaskProxylessRequest],
112
121
  timeouts: GetResultTimeouts,
113
122
  ) -> Dict[str, str]:
114
123
 
@@ -43,3 +43,9 @@ def getBasiliskTimeouts() -> GetResultTimeouts:
43
43
 
44
44
  def getAmazonWafTimeouts() -> GetResultTimeouts:
45
45
  return GetResultTimeouts(1, 10, 3, 180)
46
+
47
+ def getBinanceTimeouts() -> GetResultTimeouts:
48
+ return GetResultTimeouts(1, 0, 1, 20)
49
+
50
+ def getImpervaTimeouts() -> GetResultTimeouts:
51
+ return GetResultTimeouts(1, 0, 1, 20)
@@ -0,0 +1,17 @@
1
+ from typing import Dict, Union
2
+
3
+ from .BinanceTaskRequestBase import BinanceTaskRequestBase
4
+
5
+
6
+ class BinanceTaskProxylessRequest(BinanceTaskRequestBase):
7
+ type: str = 'BinanceTaskProxyless'
8
+
9
+ def getTaskDict(self) -> Dict[str, Union[str, int, bool]]:
10
+ task = {}
11
+ task['type'] = self.type
12
+ task['validateId'] = self.validateId
13
+ task['websiteURL'] = self.websiteUrl
14
+ task['websiteKey'] = self.websiteKey
15
+ if self.userAgent is not None:
16
+ task['userAgent'] = self.userAgent
17
+ return task
@@ -0,0 +1,22 @@
1
+ from typing import Dict, Union
2
+ from pydantic import Field, validator
3
+
4
+ from .proxy_info import ProxyInfo
5
+ from .BinanceTaskRequestBase import BinanceTaskRequestBase
6
+
7
+ class BinanceTaskRequest(BinanceTaskRequestBase, ProxyInfo):
8
+
9
+ def getTaskDict(self) -> Dict[str, Union[str, int, bool]]:
10
+ task = {}
11
+ task['type'] = self.type
12
+ task['validateId'] = self.validateId
13
+ task['websiteURL'] = self.websiteUrl
14
+ task['websiteKey'] = self.websiteKey
15
+ task['proxyType'] = self.proxyType
16
+ task['proxyAddress'] = self.proxyAddress
17
+ task['proxyPort'] = self.proxyPort
18
+ task['proxyLogin'] = self.proxyLogin
19
+ task['proxyPassword'] = self.proxyPassword
20
+ if self.userAgent is not None:
21
+ task['userAgent'] = self.userAgent
22
+ return task
@@ -0,0 +1,11 @@
1
+ from .baseRequest import BaseRequest, Field
2
+ from typing import Optional
3
+
4
+
5
+ class BinanceTaskRequestBase(BaseRequest):
6
+
7
+ type: str = Field(default='BinanceTask')
8
+ websiteKey: str = Field()
9
+ websiteUrl: str = Field()
10
+ validateId: str = Field()
11
+ userAgent: Optional[str] = None
@@ -0,0 +1,33 @@
1
+ from typing import Dict, Union
2
+ from pydantic import Field, validator
3
+
4
+ from .ImpervaCustomTaskRequestBase import ImpervaCustomTaskRequestBase
5
+
6
+ class ImpervaCustomTaskProxylessRequest(ImpervaCustomTaskRequestBase):
7
+ metadata : Dict[str, str]
8
+
9
+ @validator('metadata')
10
+ def validate_metadata(cls, value):
11
+ if value.get('incapsulaScriptBase64') is None:
12
+ raise TypeError(f'Expect that incapsulaScriptBase64 will be defined.')
13
+ else:
14
+ if not isinstance(value.get('incapsulaScriptBase64'), str):
15
+ raise TypeError(f'Expect that incapsulaScriptBase64 will be str.')
16
+ if value.get('incapsulaSessionCookie') is None:
17
+ raise TypeError(f'Expect that incapsulaSessionCookie will be defined.')
18
+ else:
19
+ if not isinstance(value.get('incapsulaSessionCookie'), str):
20
+ raise TypeError(f'Expect that incapsulaSessionCookie will be str.')
21
+ if value.get('reese84UrlEndpoint') is not None and not isinstance(value.get('incapsulaSessionCookie'), str):
22
+ raise TypeError(f'Expect that reese84UrlEndpoint will be str.')
23
+ return value
24
+
25
+ def getTaskDict(self) -> Dict[str, Union[str, int, bool]]:
26
+ task = {}
27
+ task['type'] = self.type
28
+ task['class'] = self.captchaClass
29
+ task['websiteURL'] = self.websiteUrl
30
+ task['metadata'] = self.metadata
31
+ if self.userAgent is not None:
32
+ task['userAgent'] = self.userAgent
33
+ return task
@@ -0,0 +1,39 @@
1
+ from typing import Dict, Union
2
+ from pydantic import Field, validator
3
+
4
+ from .proxy_info import ProxyInfo
5
+ from .ImpervaCustomTaskRequestBase import ImpervaCustomTaskRequestBase
6
+
7
+ class ImpervaCustomTaskRequest(ImpervaCustomTaskRequestBase, ProxyInfo):
8
+ metadata : Dict[str, str]
9
+
10
+ @validator('metadata')
11
+ def validate_metadata(cls, value):
12
+ if value.get('incapsulaScriptBase64') is None:
13
+ raise TypeError(f'Expect that incapsulaScriptBase64 will be defined.')
14
+ else:
15
+ if not isinstance(value.get('incapsulaScriptBase64'), str):
16
+ raise TypeError(f'Expect that incapsulaScriptBase64 will be str.')
17
+ if value.get('incapsulaSessionCookie') is None:
18
+ raise TypeError(f'Expect that incapsulaSessionCookie will be defined.')
19
+ else:
20
+ if not isinstance(value.get('incapsulaSessionCookie'), str):
21
+ raise TypeError(f'Expect that incapsulaSessionCookie will be str.')
22
+ if value.get('reese84UrlEndpoint') is not None and not isinstance(value.get('incapsulaSessionCookie'), str):
23
+ raise TypeError(f'Expect that reese84UrlEndpoint will be str.')
24
+ return value
25
+
26
+ def getTaskDict(self) -> Dict[str, Union[str, int, bool]]:
27
+ task = {}
28
+ task['type'] = self.type
29
+ task['class'] = self.captchaClass
30
+ task['websiteURL'] = self.websiteUrl
31
+ task['metadata'] = self.metadata
32
+ task['proxyType'] = self.proxyType
33
+ task['proxyAddress'] = self.proxyAddress
34
+ task['proxyPort'] = self.proxyPort
35
+ task['proxyLogin'] = self.proxyLogin
36
+ task['proxyPassword'] = self.proxyPassword
37
+ if self.userAgent is not None:
38
+ task['userAgent'] = self.userAgent
39
+ return task
@@ -0,0 +1,8 @@
1
+ from typing import Dict, Union
2
+ from pydantic import Field
3
+
4
+ from .CustomTaskRequestBase import CustomTaskRequestBase
5
+
6
+ class ImpervaCustomTaskRequestBase(CustomTaskRequestBase):
7
+ type: str = Field(default='CustomTask')
8
+ captchaClass: str = Field(default='Imperva')
@@ -13,6 +13,7 @@ class TurnstileRequestBase(BaseRequest):
13
13
  userAgent: Optional[str] = Field(default=None)
14
14
  cloudflareTaskType: Optional[str] = Field(default=None)
15
15
  htmlPageBase64: Optional[str] = Field(default=None)
16
+ apiJsUrl: Optional[str] = Field(default=None)
16
17
 
17
18
  @validator('cloudflareTaskType')
18
19
  def validate_cloudflare_task(cls, value):
@@ -24,6 +24,11 @@ from .BasiliskCustomTaskRequest import BasiliskCustomTaskRequest
24
24
  from .BasiliskCustomTaskProxylessRequest import BasiliskCustomTaskProxylessRequest
25
25
  from .AmazonWafRequest import AmazonWafRequest
26
26
  from .AmazonWafProxylessRequest import AmazonWafProxylessRequest
27
+ from .BinanceTaskRequest import BinanceTaskRequest
28
+ from .BinanceTaskProxylessRequest import BinanceTaskProxylessRequest
29
+ from .ImpervaCustomTaskRequest import ImpervaCustomTaskRequest
30
+ from .ImpervaCustomTaskProxylessRequest import ImpervaCustomTaskProxylessRequest
31
+
27
32
 
28
33
  REQUESTS = ['RecaptchaV2EnterpiseRequest', 'RecaptchaV2EnterpriseProxylessRequest',
29
34
  'RecaptchaV2ProxylessRequest', 'RecaptchaV2Request', 'RecaptchaV3ProxylessRequest',
@@ -31,4 +36,6 @@ REQUESTS = ['RecaptchaV2EnterpiseRequest', 'RecaptchaV2EnterpriseProxylessReques
31
36
  'GeetestRequest', 'GeetestProxylessRequest', 'HcaptchaProxylessRequest',
32
37
  'HcaptchaRequest', 'DataDomeCustomTaskRequest', 'DataDomeCustomTaskProxylessRequest',
33
38
  'TenDiCustomTaskRequest', 'TenDiCustomTaskProxylessRequest', 'BasiliskCustomTaskRequest',
34
- 'BasiliskCustomTaskProxylessRequest', 'AmazonWafRequest', 'AmazonWafProxylessRequest']
39
+ 'BasiliskCustomTaskProxylessRequest', 'AmazonWafRequest', 'AmazonWafProxylessRequest',
40
+ 'BinanceTaskRequest', 'BinanceTaskProxylessRequest', 'ImpervaCustomTaskProxylessRequest',
41
+ 'ImpervaCustomTaskRequest']
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: capmonstercloudclient
3
- Version: 1.5.1
3
+ Version: 1.6.0
4
4
  Summary: Official CapMonsterCloud Client: https://capmonster.cloud/
5
5
  Home-page: https://github.com/ZennoLab/capmonstercloud-client-python
6
6
  Author: Andrey Ilyin
@@ -35,6 +35,17 @@ Description-Content-Type: text/markdown
35
35
  License-File: LICENSE
36
36
  Requires-Dist: aiohttp>=3.7.4
37
37
  Requires-Dist: pydantic==2.1.*
38
+ Dynamic: author
39
+ Dynamic: author-email
40
+ Dynamic: classifier
41
+ Dynamic: description
42
+ Dynamic: description-content-type
43
+ Dynamic: home-page
44
+ Dynamic: keywords
45
+ Dynamic: license
46
+ Dynamic: requires-dist
47
+ Dynamic: requires-python
48
+ Dynamic: summary
38
49
 
39
50
  # Zennolab.CapMonsterCloud.Client
40
51
 
@@ -69,8 +80,6 @@ Supported captcha recognition requests:
69
80
 
70
81
  - [GeeTestProxylessRequest](https://zenno.link/doc-geetest-en)
71
82
  - [GeeTestRequest](https://zenno.link/doc-geetest-proxy-en)
72
- - [HCaptchaProxylessRequest](https://zenno.link/doc-hcaptcha-en)
73
- - [HCaptchaRequest](https://zenno.link/doc-hcaptcha-proxy-en)
74
83
  - [ImageToTextRequest](https://zenno.link/doc-ImageToTextTask-en)
75
84
  - [RecaptchaV2ProxylessRequest](https://zenno.link/doc-recaptcha2-en)
76
85
  - [RecaptchaV2Request](https://zenno.link/doc-recaptcha2-proxy-en)
@@ -80,8 +89,11 @@ Supported captcha recognition requests:
80
89
  - [TurnstileProxylessRequest](https://zenno.link/doc-turnstile-en)
81
90
  - [TurnstileRequest](https://zenno.link/doc-turnstile-proxy-en)
82
91
  - [RecaptchaComplexImageTaskRequest](https://zenno.link/doc-complextask-rc-en)
83
- - [HcaptchaComplexImageTaskRequest](https://zenno.link/doc-complextask-hc-en)
84
92
  - [DataDomeCustomTaskRequest](https://docs.capmonster.cloud/docs/captchas/datadome)
85
93
  - [TenDiCustomTaskRequest](https://docs.capmonster.cloud/docs/captchas/tendi)
86
94
  - [BasiliskCustomTaskRequest](https://docs.capmonster.cloud/docs/captchas/Basilisk-task)
87
95
  - [AmazonWafRequest](https://docs.capmonster.cloud/docs/captchas/amazon-task)
96
+ - [BinanceTaskRequest](https://docs.capmonster.cloud/docs/captchas/binance)
97
+ - [BinanceTaskProxylessRequest](https://docs.capmonster.cloud/docs/captchas/binance)
98
+ - [ImpervaCustomTaskRequest](https://docs.capmonster.cloud/docs/captchas/incapsula)
99
+ - [ImpervaCustomTaskProxylessRequest](https://docs.capmonster.cloud/docs/captchas/incapsula)
@@ -19,6 +19,9 @@ capmonstercloud_client/requests/AmazonWafRequestBase.py
19
19
  capmonstercloud_client/requests/BasiliskCustomTaskProxylessRequest.py
20
20
  capmonstercloud_client/requests/BasiliskCustomTaskRequest.py
21
21
  capmonstercloud_client/requests/BasiliskCustomTaskRequestBase.py
22
+ capmonstercloud_client/requests/BinanceTaskProxylessRequest.py
23
+ capmonstercloud_client/requests/BinanceTaskRequest.py
24
+ capmonstercloud_client/requests/BinanceTaskRequestBase.py
22
25
  capmonstercloud_client/requests/ComplexImageTaskBase.py
23
26
  capmonstercloud_client/requests/CustomTaskRequestBase.py
24
27
  capmonstercloud_client/requests/DataDomeCustomTaskProxylessRequest.py
@@ -36,6 +39,9 @@ capmonstercloud_client/requests/HcaptchaProxylessRequest.py
36
39
  capmonstercloud_client/requests/HcaptchaRequest.py
37
40
  capmonstercloud_client/requests/HcaptchaRequestBase.py
38
41
  capmonstercloud_client/requests/ImageToTextRequest.py
42
+ capmonstercloud_client/requests/ImpervaCustomTaskProxylessRequest.py
43
+ capmonstercloud_client/requests/ImpervaCustomTaskRequest.py
44
+ capmonstercloud_client/requests/ImpervaCustomTaskRequestBase.py
39
45
  capmonstercloud_client/requests/RecaptchaComplexImageTask.py
40
46
  capmonstercloud_client/requests/RecaptchaV2EnterpiseRequest.py
41
47
  capmonstercloud_client/requests/RecaptchaV2EnterpriseProxylessRequest.py