python3-capsolver 0.6__py3-none-any.whl → 0.6.1__py3-none-any.whl
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.
- python3_capsolver/__version__.py +1 -1
- python3_capsolver/control.py +0 -1
- python3_capsolver/datadome_slider.py +0 -1
- python3_capsolver/gee_test.py +0 -1
- python3_capsolver/hcaptcha.py +0 -1
- python3_capsolver/image_to_text.py +0 -1
- {python3_capsolver-0.6.dist-info → python3_capsolver-0.6.1.dist-info}/METADATA +16 -6
- python3_capsolver-0.6.1.dist-info/RECORD +20 -0
- python3_capsolver/kasada.py +0 -176
- python3_capsolver-0.6.dist-info/RECORD +0 -21
- {python3_capsolver-0.6.dist-info → python3_capsolver-0.6.1.dist-info}/WHEEL +0 -0
- {python3_capsolver-0.6.dist-info → python3_capsolver-0.6.1.dist-info}/top_level.txt +0 -0
python3_capsolver/__version__.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "0.6"
|
|
1
|
+
__version__ = "0.6.1"
|
python3_capsolver/control.py
CHANGED
python3_capsolver/gee_test.py
CHANGED
python3_capsolver/hcaptcha.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: python3-capsolver
|
|
3
|
-
Version: 0.6
|
|
3
|
+
Version: 0.6.1
|
|
4
4
|
Summary: Python 3.7+ Capsolver library with AIO module.
|
|
5
5
|
Home-page: https://andreidrang.github.io/python3-capsolver/
|
|
6
6
|
Author: AndreiDrang
|
|
@@ -13,16 +13,19 @@ Keywords: captcha
|
|
|
13
13
|
geetest
|
|
14
14
|
hcaptcha
|
|
15
15
|
capypuzzle
|
|
16
|
-
tiktok
|
|
17
16
|
rotatecaptcha
|
|
18
17
|
funcaptcha
|
|
19
18
|
keycaptcha
|
|
20
19
|
python3
|
|
21
20
|
python-library
|
|
22
21
|
capsolver
|
|
23
|
-
kasada
|
|
24
22
|
datadomeslider
|
|
23
|
+
datadome
|
|
25
24
|
mtcaptcha
|
|
25
|
+
turnstile
|
|
26
|
+
cloudflare
|
|
27
|
+
amazon
|
|
28
|
+
amazon_waf
|
|
26
29
|
Classifier: License :: OSI Approved :: MIT License
|
|
27
30
|
Classifier: License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)
|
|
28
31
|
Classifier: Development Status :: 5 - Production/Stable
|
|
@@ -33,6 +36,7 @@ Classifier: Programming Language :: Python :: 3.7
|
|
|
33
36
|
Classifier: Programming Language :: Python :: 3.8
|
|
34
37
|
Classifier: Programming Language :: Python :: 3.9
|
|
35
38
|
Classifier: Programming Language :: Python :: 3.10
|
|
39
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
36
40
|
Classifier: Framework :: AsyncIO
|
|
37
41
|
Classifier: Operating System :: Unix
|
|
38
42
|
Classifier: Operating System :: Microsoft :: Windows
|
|
@@ -58,9 +62,10 @@ Requires-Dist: tenacity (==8.*)
|
|
|
58
62
|
[](https://www.codacy.com/gh/AndreiDrang/python3-capsolver/dashboard?utm_source=github.com&utm_medium=referral&utm_content=AndreiDrang/python3-capsolver&utm_campaign=Badge_Grade)
|
|
59
63
|
[](https://codecov.io/gh/AndreiDrang/python3-capsolver)
|
|
60
64
|
|
|
61
|
-
[](https://github.com/AndreiDrang/python3-capsolver/actions/workflows/sphinx.yml)
|
|
66
|
+
[](https://github.com/AndreiDrang/python3-capsolver/actions/workflows/build.yml)
|
|
67
|
+
[](https://github.com/AndreiDrang/python3-capsolver/actions/workflows/install.yml)
|
|
68
|
+
[](https://github.com/AndreiDrang/python3-capsolver/actions/workflows/test.yml)
|
|
64
69
|
[](https://github.com/AndreiDrang/python3-capsolver/actions/workflows/lint.yml)
|
|
65
70
|
|
|
66
71
|
|
|
@@ -98,6 +103,11 @@ Is described in the [documentation-website](https://andreidrang.github.io/python
|
|
|
98
103
|
1. You need set ``API_KEY`` in your environment(get this value from you account).
|
|
99
104
|
2. Run command ``make tests``, from root directory.
|
|
100
105
|
|
|
106
|
+
|
|
107
|
+
### Changelog
|
|
108
|
+
|
|
109
|
+
Check [releases page](https://github.com/AndreiDrang/python3-capsolver/releases).
|
|
110
|
+
|
|
101
111
|
### How to get API Key to work with the library
|
|
102
112
|
1. On the page - https://dashboard.capsolver.com/overview/user-center
|
|
103
113
|
2. Find it: 
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
python3_capsolver/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
python3_capsolver/__version__.py,sha256=baAcEjLSYFIeNZF51tOMmA_zAMhN8HvKael-UU-Ruec,22
|
|
3
|
+
python3_capsolver/cloudflare.py,sha256=q7-r8U2umfeEQvJX-sr5nn6lMA-lk2ls9a5x9GMSy2I,4919
|
|
4
|
+
python3_capsolver/control.py,sha256=hWVRIrY6KEivzY0VMErWjVAK_LTBnO-hGRU7T7M1D34,1958
|
|
5
|
+
python3_capsolver/datadome_slider.py,sha256=ZdOAtY9-mG_RhlQHnqrN_3VsjZWAdNBpV3CtMDZZg5Q,3923
|
|
6
|
+
python3_capsolver/fun_captcha.py,sha256=16n4E7ikd9kvG8YTo5u3EAEz7vaFX7TtTg95Kft9uh4,7880
|
|
7
|
+
python3_capsolver/gee_test.py,sha256=QvniW2knFTWvioBY5L7dAgewd7qI-oqlPReSUqEIg-0,4322
|
|
8
|
+
python3_capsolver/hcaptcha.py,sha256=dkVMKB3JVKLoaf1_FthUKnq_XC1JeWGvQUZoX66kEaA,4830
|
|
9
|
+
python3_capsolver/image_to_text.py,sha256=ExxfcuJXeeND5RS3x3zH9-boeOGSutHg2m9LlvjePds,6349
|
|
10
|
+
python3_capsolver/mt_captcha.py,sha256=Ws4rqs_J93sjMduRsEI42li1p2Ob_nuqUwlzFCay-G8,4972
|
|
11
|
+
python3_capsolver/recaptcha.py,sha256=RoKPVphBtlgkGIsiKcGvGu4cUVXPboSwECItQH_WXlA,6394
|
|
12
|
+
python3_capsolver/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
13
|
+
python3_capsolver/core/base.py,sha256=AkvvsTVuDZe-rtwmWZrLgBIvYS1vqwNjiGbMzLKJVmE,8722
|
|
14
|
+
python3_capsolver/core/config.py,sha256=8K3MuBgrcltIdiAvKtd1kFJcQ2cC8Tlor_4L03C-D0M,1008
|
|
15
|
+
python3_capsolver/core/enum.py,sha256=OaVZj1rBX7iePr-bKHuXfah_fgbaQn2iA03q8JjP6fU,3398
|
|
16
|
+
python3_capsolver/core/serializer.py,sha256=MUTl1BkZ1UzY8VL0_TiS0cFRbJwWPp9deD8s1k-qz4s,4381
|
|
17
|
+
python3_capsolver-0.6.1.dist-info/METADATA,sha256=MQoq7AxVkenMny2gS3TB_wkGJC_ot7xRbIlr4_NuyMk,5196
|
|
18
|
+
python3_capsolver-0.6.1.dist-info/WHEEL,sha256=ZL1lC_LiPDNRgDnOl2taCMc83aPEUZgHHv2h-LDgdiM,92
|
|
19
|
+
python3_capsolver-0.6.1.dist-info/top_level.txt,sha256=yws7CqjoBfrn2ebCkAQmEaVlZ-zhbtflqpCDwAEX4kI,18
|
|
20
|
+
python3_capsolver-0.6.1.dist-info/RECORD,,
|
python3_capsolver/kasada.py
DELETED
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
from typing import Union, Optional
|
|
2
|
-
|
|
3
|
-
from python3_capsolver.core.base import BaseCaptcha
|
|
4
|
-
from python3_capsolver.core.enum import ProxyType
|
|
5
|
-
from python3_capsolver.core.config import REQUEST_URL
|
|
6
|
-
from python3_capsolver.core.serializer import KasadaOptionsSer, CaptchaResponseSer, RequestCreateTaskSer
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
class BaseKasada(BaseCaptcha):
|
|
10
|
-
"""
|
|
11
|
-
The class is used to work with Capsolver AntiKasadaTask methods.
|
|
12
|
-
|
|
13
|
-
Args:
|
|
14
|
-
api_key: Capsolver API key
|
|
15
|
-
pageURL: Address of a webpage with Kasada
|
|
16
|
-
proxyType: Type of the proxy
|
|
17
|
-
proxyAddress: Proxy IP address IPv4/IPv6. Not allowed to use:
|
|
18
|
-
host names instead of IPs,
|
|
19
|
-
transparent proxies (where client IP is visible),
|
|
20
|
-
proxies from local networks (192.., 10.., 127...)
|
|
21
|
-
proxyPort: Proxy port.
|
|
22
|
-
proxyLogin: Login for proxy which requires authorizaiton (basic).
|
|
23
|
-
This isn’t required if you are using proxies authenticated by IP
|
|
24
|
-
proxyPassword: This isn’t required if you are using proxies authenticated by IP
|
|
25
|
-
sleep_time: The waiting time between requests to get the result of the Captcha
|
|
26
|
-
request_url: API address for sending requests
|
|
27
|
-
|
|
28
|
-
Examples:
|
|
29
|
-
>>> Kasada(api_key="CAI-1324...",
|
|
30
|
-
... pageURL="http://mywebsite.com/kasada",
|
|
31
|
-
... proxyType="http",
|
|
32
|
-
... proxyAddress="0.0.0.0",
|
|
33
|
-
... proxyPort=9090,
|
|
34
|
-
... proxyLogin="some_login",
|
|
35
|
-
... proxyPassword="some_password",
|
|
36
|
-
... ).captcha_handler()
|
|
37
|
-
CaptchaResponseSer(errorId=False,
|
|
38
|
-
errorCode=None,
|
|
39
|
-
errorDescription=None,
|
|
40
|
-
taskId='73bdcd28-6c77-4414-8....',
|
|
41
|
-
status=<ResponseStatusEnm.Ready: 'ready'>,
|
|
42
|
-
solution={
|
|
43
|
-
"x-kpsdk-ct": "",
|
|
44
|
-
"x-kpsdk-cd": "",
|
|
45
|
-
"user-agent": "Mozilla/5.0 (Windows NT 10...."
|
|
46
|
-
}
|
|
47
|
-
)
|
|
48
|
-
|
|
49
|
-
>>> Kasada(api_key="CAI-1324...",
|
|
50
|
-
... pageURL="http://mywebsite.com/kasada",
|
|
51
|
-
... proxyType="http",
|
|
52
|
-
... proxyAddress="0.0.0.0",
|
|
53
|
-
... proxyPort=9090,
|
|
54
|
-
... proxyLogin="some_login",
|
|
55
|
-
... proxyPassword="some_password",
|
|
56
|
-
... ).captcha_handler(userAgent="Mozilla/5.0 (pl.....")
|
|
57
|
-
CaptchaResponseSer(errorId=False,
|
|
58
|
-
errorCode=None,
|
|
59
|
-
errorDescription=None,
|
|
60
|
-
taskId='73bdcd28-6c77-4414-8....',
|
|
61
|
-
status=<ResponseStatusEnm.Ready: 'ready'>,
|
|
62
|
-
solution={
|
|
63
|
-
"x-kpsdk-ct": "",
|
|
64
|
-
"x-kpsdk-cd": "",
|
|
65
|
-
"user-agent": "Mozilla/5.0 (Windows NT 10...."
|
|
66
|
-
}
|
|
67
|
-
)
|
|
68
|
-
|
|
69
|
-
Returns:
|
|
70
|
-
CaptchaResponseSer model with full server response
|
|
71
|
-
|
|
72
|
-
Notes:
|
|
73
|
-
https://captchaai.atlassian.net/wiki/spaces/CAPTCHAAI/pages/426407
|
|
74
|
-
"""
|
|
75
|
-
|
|
76
|
-
def __init__(
|
|
77
|
-
self,
|
|
78
|
-
api_key: str,
|
|
79
|
-
pageURL: str,
|
|
80
|
-
proxyType: Union[ProxyType, str],
|
|
81
|
-
proxyAddress: str,
|
|
82
|
-
proxyPort: int,
|
|
83
|
-
proxyLogin: str,
|
|
84
|
-
proxyPassword: str,
|
|
85
|
-
sleep_time: Optional[int] = 5,
|
|
86
|
-
request_url: Optional[str] = REQUEST_URL,
|
|
87
|
-
):
|
|
88
|
-
self.task_postfix = "/kasada/invoke"
|
|
89
|
-
|
|
90
|
-
super().__init__(api_key=api_key, sleep_time=sleep_time, request_url=request_url)
|
|
91
|
-
|
|
92
|
-
self.task_params = KasadaOptionsSer(**locals()).dict()
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
class Kasada(BaseKasada):
|
|
96
|
-
__doc__ = BaseKasada.__doc__
|
|
97
|
-
|
|
98
|
-
def captcha_handler(self, **additional_params) -> CaptchaResponseSer:
|
|
99
|
-
"""
|
|
100
|
-
Synchronous method for captcha solving
|
|
101
|
-
|
|
102
|
-
Args:
|
|
103
|
-
additional_params: Some additional parameters that will be used in creating the task
|
|
104
|
-
and will be passed to the payload under ``task`` key.
|
|
105
|
-
Like ``onlyCD``, ``userAgent`` and etc. - more info in service docs
|
|
106
|
-
|
|
107
|
-
Examples:
|
|
108
|
-
>>> Kasada(api_key="CAI-1324...",
|
|
109
|
-
... pageURL="http://mywebsite.com/kasada",
|
|
110
|
-
... proxyType="http",
|
|
111
|
-
... proxyAddress="0.0.0.0",
|
|
112
|
-
... proxyPort=9090,
|
|
113
|
-
... proxyLogin="some_login",
|
|
114
|
-
... proxyPassword="some_password",
|
|
115
|
-
... ).captcha_handler()
|
|
116
|
-
CaptchaResponseSer(errorId=False,
|
|
117
|
-
errorCode=None,
|
|
118
|
-
errorDescription=None,
|
|
119
|
-
taskId='73bdcd28-6c77-4414-8....',
|
|
120
|
-
status=<ResponseStatusEnm.Ready: 'ready'>,
|
|
121
|
-
solution={
|
|
122
|
-
"x-kpsdk-ct": "",
|
|
123
|
-
"x-kpsdk-cd": "",
|
|
124
|
-
"user-agent": "Mozilla/5.0 (Windows NT 10...."
|
|
125
|
-
}
|
|
126
|
-
)
|
|
127
|
-
|
|
128
|
-
Returns:
|
|
129
|
-
CaptchaResponseSer model with full service response
|
|
130
|
-
|
|
131
|
-
Notes:
|
|
132
|
-
Check class docstring for more info
|
|
133
|
-
"""
|
|
134
|
-
self.task_params.update({**additional_params})
|
|
135
|
-
self._prepare_create_task_payload(serializer=RequestCreateTaskSer, create_params=self.task_params)
|
|
136
|
-
return CaptchaResponseSer(**self._create_task(url_postfix=self.task_postfix))
|
|
137
|
-
|
|
138
|
-
async def aio_captcha_handler(self, **additional_params) -> CaptchaResponseSer:
|
|
139
|
-
"""
|
|
140
|
-
Asynchronous method for captcha solving
|
|
141
|
-
|
|
142
|
-
Args:
|
|
143
|
-
additional_params: Some additional parameters that will be used in creating the task
|
|
144
|
-
and will be passed to the payload under ``task`` key.
|
|
145
|
-
Like ``onlyCD``, ``userAgent`` and etc. - more info in service docs
|
|
146
|
-
|
|
147
|
-
Examples:
|
|
148
|
-
>>> await Kasada(api_key="CAI-1324...",
|
|
149
|
-
... pageURL="http://mywebsite.com/kasada",
|
|
150
|
-
... proxyType="http",
|
|
151
|
-
... proxyAddress="0.0.0.0",
|
|
152
|
-
... proxyPort=9090,
|
|
153
|
-
... proxyLogin="some_login",
|
|
154
|
-
... proxyPassword="some_password",
|
|
155
|
-
... ).aio_captcha_handler()
|
|
156
|
-
CaptchaResponseSer(errorId=False,
|
|
157
|
-
errorCode=None,
|
|
158
|
-
errorDescription=None,
|
|
159
|
-
taskId='73bdcd28-6c77-4414-8....',
|
|
160
|
-
status=<ResponseStatusEnm.Ready: 'ready'>,
|
|
161
|
-
solution={
|
|
162
|
-
"x-kpsdk-ct": "",
|
|
163
|
-
"x-kpsdk-cd": "",
|
|
164
|
-
"user-agent": "Mozilla/5.0 (Windows NT 10...."
|
|
165
|
-
}
|
|
166
|
-
)
|
|
167
|
-
|
|
168
|
-
Returns:
|
|
169
|
-
CaptchaResponseSer model with full service response
|
|
170
|
-
|
|
171
|
-
Notes:
|
|
172
|
-
Check class docstring for more info
|
|
173
|
-
"""
|
|
174
|
-
self.task_params.update({**additional_params})
|
|
175
|
-
self._prepare_create_task_payload(serializer=RequestCreateTaskSer, create_params=self.task_params)
|
|
176
|
-
return CaptchaResponseSer(**await self._aio_create_task(url_postfix=self.task_postfix))
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
python3_capsolver/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
python3_capsolver/__version__.py,sha256=ncKOhmMshkKH0hADIDc1EohSZbPVhx6HkN9Q9lGRlpc,20
|
|
3
|
-
python3_capsolver/cloudflare.py,sha256=q7-r8U2umfeEQvJX-sr5nn6lMA-lk2ls9a5x9GMSy2I,4919
|
|
4
|
-
python3_capsolver/control.py,sha256=EPqaQwJSjzDFvszQa3G0POxgXNfEd3RYfYyxrlEtMHg,1959
|
|
5
|
-
python3_capsolver/datadome_slider.py,sha256=_I5x_kMICrE74cJrq0Yt-RwIWY2ZHLObCGRCvSQuUjQ,3924
|
|
6
|
-
python3_capsolver/fun_captcha.py,sha256=16n4E7ikd9kvG8YTo5u3EAEz7vaFX7TtTg95Kft9uh4,7880
|
|
7
|
-
python3_capsolver/gee_test.py,sha256=SGMIFphY65KNrXV_8voKVKWdQCkn9xsbfPvUTCWQK5U,4323
|
|
8
|
-
python3_capsolver/hcaptcha.py,sha256=cCpZbsMah9qLHWu380pz17KLFM1H7QWAoV5dUvwBvVQ,4831
|
|
9
|
-
python3_capsolver/image_to_text.py,sha256=Nb5YdQHrxcahRBq39RcUIqKK2_oP1DoZTM8iaC4rqR8,6350
|
|
10
|
-
python3_capsolver/kasada.py,sha256=MOAJGdkflhNF9MK0-1QYqx2PcUJYDrp8hd_fJPIk-NU,7509
|
|
11
|
-
python3_capsolver/mt_captcha.py,sha256=Ws4rqs_J93sjMduRsEI42li1p2Ob_nuqUwlzFCay-G8,4972
|
|
12
|
-
python3_capsolver/recaptcha.py,sha256=RoKPVphBtlgkGIsiKcGvGu4cUVXPboSwECItQH_WXlA,6394
|
|
13
|
-
python3_capsolver/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
|
-
python3_capsolver/core/base.py,sha256=AkvvsTVuDZe-rtwmWZrLgBIvYS1vqwNjiGbMzLKJVmE,8722
|
|
15
|
-
python3_capsolver/core/config.py,sha256=8K3MuBgrcltIdiAvKtd1kFJcQ2cC8Tlor_4L03C-D0M,1008
|
|
16
|
-
python3_capsolver/core/enum.py,sha256=OaVZj1rBX7iePr-bKHuXfah_fgbaQn2iA03q8JjP6fU,3398
|
|
17
|
-
python3_capsolver/core/serializer.py,sha256=MUTl1BkZ1UzY8VL0_TiS0cFRbJwWPp9deD8s1k-qz4s,4381
|
|
18
|
-
python3_capsolver-0.6.dist-info/METADATA,sha256=va81YaCh5M2fzBdzL9pkd0UuxmSeBko0z7ojeDr_TSM,4830
|
|
19
|
-
python3_capsolver-0.6.dist-info/WHEEL,sha256=ZL1lC_LiPDNRgDnOl2taCMc83aPEUZgHHv2h-LDgdiM,92
|
|
20
|
-
python3_capsolver-0.6.dist-info/top_level.txt,sha256=yws7CqjoBfrn2ebCkAQmEaVlZ-zhbtflqpCDwAEX4kI,18
|
|
21
|
-
python3_capsolver-0.6.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|