2captcha-python 2.0.0__tar.gz → 2.0.2__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.
- {2captcha_python-2.0.0 → 2captcha_python-2.0.2/2captcha_python.egg-info}/PKG-INFO +75 -3
- 2captcha_python-2.0.0/README.md → 2captcha_python-2.0.2/PKG-INFO +105 -0
- 2captcha_python-2.0.0/2captcha_python.egg-info/PKG-INFO → 2captcha_python-2.0.2/README.md +72 -33
- {2captcha_python-2.0.0 → 2captcha_python-2.0.2}/setup.py +2 -2
- {2captcha_python-2.0.0 → 2captcha_python-2.0.2}/twocaptcha/__init__.py +1 -1
- {2captcha_python-2.0.0 → 2captcha_python-2.0.2}/twocaptcha/async_solver.py +120 -0
- {2captcha_python-2.0.0 → 2captcha_python-2.0.2}/twocaptcha/solver.py +120 -0
- {2captcha_python-2.0.0 → 2captcha_python-2.0.2}/2captcha_python.egg-info/SOURCES.txt +0 -0
- {2captcha_python-2.0.0 → 2captcha_python-2.0.2}/2captcha_python.egg-info/dependency_links.txt +0 -0
- {2captcha_python-2.0.0 → 2captcha_python-2.0.2}/2captcha_python.egg-info/requires.txt +0 -0
- {2captcha_python-2.0.0 → 2captcha_python-2.0.2}/2captcha_python.egg-info/top_level.txt +0 -0
- {2captcha_python-2.0.0 → 2captcha_python-2.0.2}/LICENSE +0 -0
- {2captcha_python-2.0.0 → 2captcha_python-2.0.2}/setup.cfg +0 -0
- {2captcha_python-2.0.0 → 2captcha_python-2.0.2}/twocaptcha/api.py +0 -0
- {2captcha_python-2.0.0 → 2captcha_python-2.0.2}/twocaptcha/async_api.py +0 -0
- {2captcha_python-2.0.0 → 2captcha_python-2.0.2}/twocaptcha/exceptions/__init__.py +0 -0
- {2captcha_python-2.0.0 → 2captcha_python-2.0.2}/twocaptcha/exceptions/api.py +0 -0
- {2captcha_python-2.0.0 → 2captcha_python-2.0.2}/twocaptcha/exceptions/solver.py +0 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: 2captcha-python
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.2
|
|
4
4
|
Summary: Python module for easy integration with 2Captcha API
|
|
5
5
|
Home-page: https://github.com/2captcha/2captcha-python/
|
|
6
6
|
Author: 2Captcha
|
|
7
7
|
Author-email: info@2captcha.com
|
|
8
|
-
Keywords: 2captcha,captcha,api,captcha solver,reCAPTCHA,FunCaptcha,Geetest,image captcha,Coordinates,Click Captcha,Geetest V4,Lemin captcha,Amazon WAF,Cloudflare Turnstile,Capy Puzzle,MTCaptcha,Friendly Captcha,Tencent,Cutcaptcha,DataDome,cybersiara
|
|
8
|
+
Keywords: 2captcha,captcha,api,captcha solver,reCAPTCHA,FunCaptcha,Geetest,image captcha,Coordinates,Click Captcha,Geetest V4,Lemin captcha,Amazon WAF,Cloudflare Turnstile,Capy Puzzle,MTCaptcha,Friendly Captcha,Tencent,Cutcaptcha,DataDome,VK Captcha,CaptchaFox,Prosopo,cybersiara
|
|
9
9
|
Classifier: Programming Language :: Python :: 3
|
|
10
10
|
Classifier: License :: OSI Approved :: MIT License
|
|
11
11
|
Classifier: Operating System :: OS Independent
|
|
@@ -13,7 +13,7 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
|
13
13
|
Classifier: Topic :: Scientific/Engineering :: Image Recognition
|
|
14
14
|
Classifier: Topic :: Utilities
|
|
15
15
|
Classifier: Intended Audience :: Developers
|
|
16
|
-
Requires-Python: >=3.
|
|
16
|
+
Requires-Python: >=3.8
|
|
17
17
|
Description-Content-Type: text/markdown
|
|
18
18
|
License-File: LICENSE
|
|
19
19
|
Requires-Dist: requests
|
|
@@ -75,6 +75,11 @@ Examples of API requests for different captcha types are available on the [Pytho
|
|
|
75
75
|
- [Cutcaptcha](#cutcaptcha)
|
|
76
76
|
- [Tencent](#tencent)
|
|
77
77
|
- [DataDome](#datadome)
|
|
78
|
+
- [VKImage](#vkimage)
|
|
79
|
+
- [VKCaptcha](#vkcaptcha)
|
|
80
|
+
- [CaptchaFox](#captchafox)
|
|
81
|
+
- [Prosopo](#prosopo)
|
|
82
|
+
- [Temu](#temu)
|
|
78
83
|
- [CyberSiARA](#cybersiara)
|
|
79
84
|
- [Other methods](#other-methods)
|
|
80
85
|
- [send / get\_result](#send--get_result)
|
|
@@ -473,6 +478,73 @@ result = solver.datadome(captcha_url="https://geo.captcha-delivery.com/captcha/?
|
|
|
473
478
|
param1=..., ...)
|
|
474
479
|
```
|
|
475
480
|
|
|
481
|
+
### VKImage
|
|
482
|
+
|
|
483
|
+
<sup>[API method description.](https://2captcha.com/2captcha-api#vkcaptcha)</sup>
|
|
484
|
+
|
|
485
|
+
This method can be used to solve VK captcha using graphical captcha. Returns the number of steps and solution value in the target site's API format.
|
|
486
|
+
|
|
487
|
+
```python
|
|
488
|
+
result = solver.vkimage('path/to/captcha.jpg', steps='[5,4,7,7,14,22,8,...]', ...)
|
|
489
|
+
```
|
|
490
|
+
|
|
491
|
+
### VKCaptcha
|
|
492
|
+
|
|
493
|
+
<sup>[API method description.](https://2captcha.com/2captcha-api#vkcaptcha)</sup>
|
|
494
|
+
|
|
495
|
+
This method can be used to solve VK Captcha using a token. Returns a token.
|
|
496
|
+
|
|
497
|
+
> [!IMPORTANT]
|
|
498
|
+
> To solve the VK Captcha, you must use a proxy. It is recommended to use [residential proxies].
|
|
499
|
+
|
|
500
|
+
```python
|
|
501
|
+
result = solver.vkcaptcha(redirect_uri='https://id.vk.ru/...',
|
|
502
|
+
userAgent='Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36..',
|
|
503
|
+
proxy={
|
|
504
|
+
'type': 'HTTP',
|
|
505
|
+
'uri': 'login:password@IP_address:PORT'}
|
|
506
|
+
)
|
|
507
|
+
```
|
|
508
|
+
|
|
509
|
+
### CaptchaFox
|
|
510
|
+
|
|
511
|
+
<sup>[API method description.](https://2captcha.com/2captcha-api#captchafox)</sup>
|
|
512
|
+
|
|
513
|
+
This method can be used to solve CaptchaFox using a token. Returns a token.
|
|
514
|
+
|
|
515
|
+
```python
|
|
516
|
+
result = solver.captchafox(sitekey='sk_ILKWNruBBVKDOM7dZs59KHnDLEWiH',
|
|
517
|
+
pageurl='https://mysite.com/page/with/captchafox',
|
|
518
|
+
userAgent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36',
|
|
519
|
+
proxy={'type': 'HTTPS',
|
|
520
|
+
'uri': 'login:password@IP_address:PORT'})
|
|
521
|
+
```
|
|
522
|
+
|
|
523
|
+
### Prosopo
|
|
524
|
+
|
|
525
|
+
<sup>[API method description.](https://2captcha.com/2captcha-api#prosopo-procaptcha)</sup>
|
|
526
|
+
|
|
527
|
+
This method can be used to solve Prosopo captcha using a token. Returns a token.
|
|
528
|
+
|
|
529
|
+
```python
|
|
530
|
+
result = solver.prosopo(sitekey='5EZVvsHMrKCFKp5NYNoTyDjTjetoVo1Z4UNNb1DkVLS0JbqR',
|
|
531
|
+
pageurl='https://mysite.com/page/with/prosopo'
|
|
532
|
+
)
|
|
533
|
+
```
|
|
534
|
+
|
|
535
|
+
### Temu
|
|
536
|
+
|
|
537
|
+
<sup>[API method description.](https://2captcha.com/ru/2captcha-api#temucaptcha)</sup>
|
|
538
|
+
|
|
539
|
+
This method can be used to solve Temu captcha. Returns a coordinates.
|
|
540
|
+
|
|
541
|
+
```python
|
|
542
|
+
result = solver.temu(body="data:image/png;base64,iVBORw0KG...",
|
|
543
|
+
part1="data:image/png;base64,iVBORw0KG...",
|
|
544
|
+
part2="data:image/png;base64,iVBORw0KG...",
|
|
545
|
+
part3="data:image/png;base64,iVBORw0KG...")
|
|
546
|
+
```
|
|
547
|
+
|
|
476
548
|
### CyberSiARA
|
|
477
549
|
|
|
478
550
|
<sup>[API method description.](https://2captcha.com/2captcha-api#cybersiara)</sup>
|
|
@@ -1,3 +1,36 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: 2captcha-python
|
|
3
|
+
Version: 2.0.2
|
|
4
|
+
Summary: Python module for easy integration with 2Captcha API
|
|
5
|
+
Home-page: https://github.com/2captcha/2captcha-python/
|
|
6
|
+
Author: 2Captcha
|
|
7
|
+
Author-email: info@2captcha.com
|
|
8
|
+
Keywords: 2captcha,captcha,api,captcha solver,reCAPTCHA,FunCaptcha,Geetest,image captcha,Coordinates,Click Captcha,Geetest V4,Lemin captcha,Amazon WAF,Cloudflare Turnstile,Capy Puzzle,MTCaptcha,Friendly Captcha,Tencent,Cutcaptcha,DataDome,VK Captcha,CaptchaFox,Prosopo,cybersiara
|
|
9
|
+
Classifier: Programming Language :: Python :: 3
|
|
10
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
11
|
+
Classifier: Operating System :: OS Independent
|
|
12
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
13
|
+
Classifier: Topic :: Scientific/Engineering :: Image Recognition
|
|
14
|
+
Classifier: Topic :: Utilities
|
|
15
|
+
Classifier: Intended Audience :: Developers
|
|
16
|
+
Requires-Python: >=3.8
|
|
17
|
+
Description-Content-Type: text/markdown
|
|
18
|
+
License-File: LICENSE
|
|
19
|
+
Requires-Dist: requests
|
|
20
|
+
Requires-Dist: httpx
|
|
21
|
+
Requires-Dist: aiofiles
|
|
22
|
+
Dynamic: author
|
|
23
|
+
Dynamic: author-email
|
|
24
|
+
Dynamic: classifier
|
|
25
|
+
Dynamic: description
|
|
26
|
+
Dynamic: description-content-type
|
|
27
|
+
Dynamic: home-page
|
|
28
|
+
Dynamic: keywords
|
|
29
|
+
Dynamic: license-file
|
|
30
|
+
Dynamic: requires-dist
|
|
31
|
+
Dynamic: requires-python
|
|
32
|
+
Dynamic: summary
|
|
33
|
+
|
|
1
34
|
<a href="https://github.com/2captcha/2captcha-python"><img src="https://github.com/user-attachments/assets/a737d428-5233-4605-9d09-211fa213d069" width="82" height="30"></a>
|
|
2
35
|
<a href="https://github.com/2captcha/2captcha-javascript"><img src="https://github.com/user-attachments/assets/4d3b4541-34b2-4ed2-a687-d694ce67e5a6" width="36" height="30"></a>
|
|
3
36
|
<a href="https://github.com/2captcha/2captcha-go"><img src="https://github.com/user-attachments/assets/ab22182e-6cb2-41fa-91f4-d5e89c6d7c6f" width="63" height="30"></a>
|
|
@@ -42,6 +75,11 @@ Examples of API requests for different captcha types are available on the [Pytho
|
|
|
42
75
|
- [Cutcaptcha](#cutcaptcha)
|
|
43
76
|
- [Tencent](#tencent)
|
|
44
77
|
- [DataDome](#datadome)
|
|
78
|
+
- [VKImage](#vkimage)
|
|
79
|
+
- [VKCaptcha](#vkcaptcha)
|
|
80
|
+
- [CaptchaFox](#captchafox)
|
|
81
|
+
- [Prosopo](#prosopo)
|
|
82
|
+
- [Temu](#temu)
|
|
45
83
|
- [CyberSiARA](#cybersiara)
|
|
46
84
|
- [Other methods](#other-methods)
|
|
47
85
|
- [send / get\_result](#send--get_result)
|
|
@@ -440,6 +478,73 @@ result = solver.datadome(captcha_url="https://geo.captcha-delivery.com/captcha/?
|
|
|
440
478
|
param1=..., ...)
|
|
441
479
|
```
|
|
442
480
|
|
|
481
|
+
### VKImage
|
|
482
|
+
|
|
483
|
+
<sup>[API method description.](https://2captcha.com/2captcha-api#vkcaptcha)</sup>
|
|
484
|
+
|
|
485
|
+
This method can be used to solve VK captcha using graphical captcha. Returns the number of steps and solution value in the target site's API format.
|
|
486
|
+
|
|
487
|
+
```python
|
|
488
|
+
result = solver.vkimage('path/to/captcha.jpg', steps='[5,4,7,7,14,22,8,...]', ...)
|
|
489
|
+
```
|
|
490
|
+
|
|
491
|
+
### VKCaptcha
|
|
492
|
+
|
|
493
|
+
<sup>[API method description.](https://2captcha.com/2captcha-api#vkcaptcha)</sup>
|
|
494
|
+
|
|
495
|
+
This method can be used to solve VK Captcha using a token. Returns a token.
|
|
496
|
+
|
|
497
|
+
> [!IMPORTANT]
|
|
498
|
+
> To solve the VK Captcha, you must use a proxy. It is recommended to use [residential proxies].
|
|
499
|
+
|
|
500
|
+
```python
|
|
501
|
+
result = solver.vkcaptcha(redirect_uri='https://id.vk.ru/...',
|
|
502
|
+
userAgent='Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36..',
|
|
503
|
+
proxy={
|
|
504
|
+
'type': 'HTTP',
|
|
505
|
+
'uri': 'login:password@IP_address:PORT'}
|
|
506
|
+
)
|
|
507
|
+
```
|
|
508
|
+
|
|
509
|
+
### CaptchaFox
|
|
510
|
+
|
|
511
|
+
<sup>[API method description.](https://2captcha.com/2captcha-api#captchafox)</sup>
|
|
512
|
+
|
|
513
|
+
This method can be used to solve CaptchaFox using a token. Returns a token.
|
|
514
|
+
|
|
515
|
+
```python
|
|
516
|
+
result = solver.captchafox(sitekey='sk_ILKWNruBBVKDOM7dZs59KHnDLEWiH',
|
|
517
|
+
pageurl='https://mysite.com/page/with/captchafox',
|
|
518
|
+
userAgent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36',
|
|
519
|
+
proxy={'type': 'HTTPS',
|
|
520
|
+
'uri': 'login:password@IP_address:PORT'})
|
|
521
|
+
```
|
|
522
|
+
|
|
523
|
+
### Prosopo
|
|
524
|
+
|
|
525
|
+
<sup>[API method description.](https://2captcha.com/2captcha-api#prosopo-procaptcha)</sup>
|
|
526
|
+
|
|
527
|
+
This method can be used to solve Prosopo captcha using a token. Returns a token.
|
|
528
|
+
|
|
529
|
+
```python
|
|
530
|
+
result = solver.prosopo(sitekey='5EZVvsHMrKCFKp5NYNoTyDjTjetoVo1Z4UNNb1DkVLS0JbqR',
|
|
531
|
+
pageurl='https://mysite.com/page/with/prosopo'
|
|
532
|
+
)
|
|
533
|
+
```
|
|
534
|
+
|
|
535
|
+
### Temu
|
|
536
|
+
|
|
537
|
+
<sup>[API method description.](https://2captcha.com/ru/2captcha-api#temucaptcha)</sup>
|
|
538
|
+
|
|
539
|
+
This method can be used to solve Temu captcha. Returns a coordinates.
|
|
540
|
+
|
|
541
|
+
```python
|
|
542
|
+
result = solver.temu(body="data:image/png;base64,iVBORw0KG...",
|
|
543
|
+
part1="data:image/png;base64,iVBORw0KG...",
|
|
544
|
+
part2="data:image/png;base64,iVBORw0KG...",
|
|
545
|
+
part3="data:image/png;base64,iVBORw0KG...")
|
|
546
|
+
```
|
|
547
|
+
|
|
443
548
|
### CyberSiARA
|
|
444
549
|
|
|
445
550
|
<sup>[API method description.](https://2captcha.com/2captcha-api#cybersiara)</sup>
|
|
@@ -1,36 +1,3 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: 2captcha-python
|
|
3
|
-
Version: 2.0.0
|
|
4
|
-
Summary: Python module for easy integration with 2Captcha API
|
|
5
|
-
Home-page: https://github.com/2captcha/2captcha-python/
|
|
6
|
-
Author: 2Captcha
|
|
7
|
-
Author-email: info@2captcha.com
|
|
8
|
-
Keywords: 2captcha,captcha,api,captcha solver,reCAPTCHA,FunCaptcha,Geetest,image captcha,Coordinates,Click Captcha,Geetest V4,Lemin captcha,Amazon WAF,Cloudflare Turnstile,Capy Puzzle,MTCaptcha,Friendly Captcha,Tencent,Cutcaptcha,DataDome,cybersiara
|
|
9
|
-
Classifier: Programming Language :: Python :: 3
|
|
10
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
11
|
-
Classifier: Operating System :: OS Independent
|
|
12
|
-
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
13
|
-
Classifier: Topic :: Scientific/Engineering :: Image Recognition
|
|
14
|
-
Classifier: Topic :: Utilities
|
|
15
|
-
Classifier: Intended Audience :: Developers
|
|
16
|
-
Requires-Python: >=3.6
|
|
17
|
-
Description-Content-Type: text/markdown
|
|
18
|
-
License-File: LICENSE
|
|
19
|
-
Requires-Dist: requests
|
|
20
|
-
Requires-Dist: httpx
|
|
21
|
-
Requires-Dist: aiofiles
|
|
22
|
-
Dynamic: author
|
|
23
|
-
Dynamic: author-email
|
|
24
|
-
Dynamic: classifier
|
|
25
|
-
Dynamic: description
|
|
26
|
-
Dynamic: description-content-type
|
|
27
|
-
Dynamic: home-page
|
|
28
|
-
Dynamic: keywords
|
|
29
|
-
Dynamic: license-file
|
|
30
|
-
Dynamic: requires-dist
|
|
31
|
-
Dynamic: requires-python
|
|
32
|
-
Dynamic: summary
|
|
33
|
-
|
|
34
1
|
<a href="https://github.com/2captcha/2captcha-python"><img src="https://github.com/user-attachments/assets/a737d428-5233-4605-9d09-211fa213d069" width="82" height="30"></a>
|
|
35
2
|
<a href="https://github.com/2captcha/2captcha-javascript"><img src="https://github.com/user-attachments/assets/4d3b4541-34b2-4ed2-a687-d694ce67e5a6" width="36" height="30"></a>
|
|
36
3
|
<a href="https://github.com/2captcha/2captcha-go"><img src="https://github.com/user-attachments/assets/ab22182e-6cb2-41fa-91f4-d5e89c6d7c6f" width="63" height="30"></a>
|
|
@@ -75,6 +42,11 @@ Examples of API requests for different captcha types are available on the [Pytho
|
|
|
75
42
|
- [Cutcaptcha](#cutcaptcha)
|
|
76
43
|
- [Tencent](#tencent)
|
|
77
44
|
- [DataDome](#datadome)
|
|
45
|
+
- [VKImage](#vkimage)
|
|
46
|
+
- [VKCaptcha](#vkcaptcha)
|
|
47
|
+
- [CaptchaFox](#captchafox)
|
|
48
|
+
- [Prosopo](#prosopo)
|
|
49
|
+
- [Temu](#temu)
|
|
78
50
|
- [CyberSiARA](#cybersiara)
|
|
79
51
|
- [Other methods](#other-methods)
|
|
80
52
|
- [send / get\_result](#send--get_result)
|
|
@@ -473,6 +445,73 @@ result = solver.datadome(captcha_url="https://geo.captcha-delivery.com/captcha/?
|
|
|
473
445
|
param1=..., ...)
|
|
474
446
|
```
|
|
475
447
|
|
|
448
|
+
### VKImage
|
|
449
|
+
|
|
450
|
+
<sup>[API method description.](https://2captcha.com/2captcha-api#vkcaptcha)</sup>
|
|
451
|
+
|
|
452
|
+
This method can be used to solve VK captcha using graphical captcha. Returns the number of steps and solution value in the target site's API format.
|
|
453
|
+
|
|
454
|
+
```python
|
|
455
|
+
result = solver.vkimage('path/to/captcha.jpg', steps='[5,4,7,7,14,22,8,...]', ...)
|
|
456
|
+
```
|
|
457
|
+
|
|
458
|
+
### VKCaptcha
|
|
459
|
+
|
|
460
|
+
<sup>[API method description.](https://2captcha.com/2captcha-api#vkcaptcha)</sup>
|
|
461
|
+
|
|
462
|
+
This method can be used to solve VK Captcha using a token. Returns a token.
|
|
463
|
+
|
|
464
|
+
> [!IMPORTANT]
|
|
465
|
+
> To solve the VK Captcha, you must use a proxy. It is recommended to use [residential proxies].
|
|
466
|
+
|
|
467
|
+
```python
|
|
468
|
+
result = solver.vkcaptcha(redirect_uri='https://id.vk.ru/...',
|
|
469
|
+
userAgent='Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36..',
|
|
470
|
+
proxy={
|
|
471
|
+
'type': 'HTTP',
|
|
472
|
+
'uri': 'login:password@IP_address:PORT'}
|
|
473
|
+
)
|
|
474
|
+
```
|
|
475
|
+
|
|
476
|
+
### CaptchaFox
|
|
477
|
+
|
|
478
|
+
<sup>[API method description.](https://2captcha.com/2captcha-api#captchafox)</sup>
|
|
479
|
+
|
|
480
|
+
This method can be used to solve CaptchaFox using a token. Returns a token.
|
|
481
|
+
|
|
482
|
+
```python
|
|
483
|
+
result = solver.captchafox(sitekey='sk_ILKWNruBBVKDOM7dZs59KHnDLEWiH',
|
|
484
|
+
pageurl='https://mysite.com/page/with/captchafox',
|
|
485
|
+
userAgent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36',
|
|
486
|
+
proxy={'type': 'HTTPS',
|
|
487
|
+
'uri': 'login:password@IP_address:PORT'})
|
|
488
|
+
```
|
|
489
|
+
|
|
490
|
+
### Prosopo
|
|
491
|
+
|
|
492
|
+
<sup>[API method description.](https://2captcha.com/2captcha-api#prosopo-procaptcha)</sup>
|
|
493
|
+
|
|
494
|
+
This method can be used to solve Prosopo captcha using a token. Returns a token.
|
|
495
|
+
|
|
496
|
+
```python
|
|
497
|
+
result = solver.prosopo(sitekey='5EZVvsHMrKCFKp5NYNoTyDjTjetoVo1Z4UNNb1DkVLS0JbqR',
|
|
498
|
+
pageurl='https://mysite.com/page/with/prosopo'
|
|
499
|
+
)
|
|
500
|
+
```
|
|
501
|
+
|
|
502
|
+
### Temu
|
|
503
|
+
|
|
504
|
+
<sup>[API method description.](https://2captcha.com/ru/2captcha-api#temucaptcha)</sup>
|
|
505
|
+
|
|
506
|
+
This method can be used to solve Temu captcha. Returns a coordinates.
|
|
507
|
+
|
|
508
|
+
```python
|
|
509
|
+
result = solver.temu(body="data:image/png;base64,iVBORw0KG...",
|
|
510
|
+
part1="data:image/png;base64,iVBORw0KG...",
|
|
511
|
+
part2="data:image/png;base64,iVBORw0KG...",
|
|
512
|
+
part3="data:image/png;base64,iVBORw0KG...")
|
|
513
|
+
```
|
|
514
|
+
|
|
476
515
|
### CyberSiARA
|
|
477
516
|
|
|
478
517
|
<sup>[API method description.](https://2captcha.com/2captcha-api#cybersiara)</sup>
|
|
@@ -36,6 +36,6 @@ setup(name='2captcha-python',
|
|
|
36
36
|
'2captcha', 'captcha', 'api', 'captcha solver', 'reCAPTCHA',
|
|
37
37
|
'FunCaptcha', 'Geetest', 'image captcha', 'Coordinates', 'Click Captcha',
|
|
38
38
|
'Geetest V4', 'Lemin captcha', 'Amazon WAF', 'Cloudflare Turnstile',
|
|
39
|
-
'Capy Puzzle', 'MTCaptcha', 'Friendly Captcha', 'Tencent', 'Cutcaptcha', 'DataDome', 'cybersiara'],
|
|
40
|
-
python_requires='>=3.
|
|
39
|
+
'Capy Puzzle', 'MTCaptcha', 'Friendly Captcha', 'Tencent', 'Cutcaptcha', 'DataDome', 'VK Captcha', 'CaptchaFox', 'Prosopo', 'cybersiara'],
|
|
40
|
+
python_requires='>=3.8',
|
|
41
41
|
test_suite='tests')
|
|
@@ -800,6 +800,126 @@ class AsyncTwoCaptcha():
|
|
|
800
800
|
**kwargs)
|
|
801
801
|
return result
|
|
802
802
|
|
|
803
|
+
async def vkimage(self, files, steps, **kwargs):
|
|
804
|
+
'''Wrapper for solving vkimage captcha.
|
|
805
|
+
|
|
806
|
+
Parameters
|
|
807
|
+
__________
|
|
808
|
+
file : str
|
|
809
|
+
Captcha image as a file or base64.
|
|
810
|
+
steps: str
|
|
811
|
+
Array of steps.
|
|
812
|
+
proxy : dict, optional
|
|
813
|
+
{'type': 'HTTPS', 'uri': 'login:password@IP_address:PORT'}.
|
|
814
|
+
'''
|
|
815
|
+
|
|
816
|
+
if isinstance(files, str):
|
|
817
|
+
|
|
818
|
+
payload = await self.get_method(files)
|
|
819
|
+
payload.pop('method', None)
|
|
820
|
+
|
|
821
|
+
result = await self.solve(method='vkimage', steps=steps, **payload, **kwargs)
|
|
822
|
+
return result
|
|
823
|
+
|
|
824
|
+
elif isinstance(files, dict):
|
|
825
|
+
files = list(files.values())
|
|
826
|
+
|
|
827
|
+
files = self.extract_files(files)
|
|
828
|
+
|
|
829
|
+
result = await self.solve(method='vkimage',
|
|
830
|
+
files=files,
|
|
831
|
+
steps=steps,
|
|
832
|
+
**kwargs)
|
|
833
|
+
return result
|
|
834
|
+
|
|
835
|
+
async def vkcaptcha(self, redirect_uri, userAgent, proxy, **kwargs):
|
|
836
|
+
'''Wrapper for solving VK captcha using tokens.
|
|
837
|
+
|
|
838
|
+
Parameters
|
|
839
|
+
__________
|
|
840
|
+
redirect_uri : str
|
|
841
|
+
The URL that is returned for requests to the captchas API.
|
|
842
|
+
userAgent : str
|
|
843
|
+
User-Agent of the browser that will be used by the employee when loading the captcha.
|
|
844
|
+
proxy : dict
|
|
845
|
+
{'type': 'HTTPS', 'uri': 'login:password@IP_address:PORT'}.
|
|
846
|
+
'''
|
|
847
|
+
|
|
848
|
+
|
|
849
|
+
result = await self.solve(method='vkcaptcha',
|
|
850
|
+
redirect_uri=redirect_uri,
|
|
851
|
+
useragent=userAgent,
|
|
852
|
+
proxy=proxy,
|
|
853
|
+
**kwargs)
|
|
854
|
+
return result
|
|
855
|
+
|
|
856
|
+
async def captchafox(self, sitekey, pageurl, userAgent, proxy, **kwargs):
|
|
857
|
+
'''Wrapper for solving CaptchaFox using tokens.
|
|
858
|
+
|
|
859
|
+
Parameters
|
|
860
|
+
__________
|
|
861
|
+
sitekey : str
|
|
862
|
+
The sitekey parameter value found on the page or in network requests.
|
|
863
|
+
pageurl : str
|
|
864
|
+
Full URL of the page with captcha.
|
|
865
|
+
userAgent : str
|
|
866
|
+
User-Agent of the browser that will be used by the employee when loading the captcha.
|
|
867
|
+
proxy : dict
|
|
868
|
+
{'type': 'HTTPS', 'uri': 'login:password@IP_address:PORT'}.
|
|
869
|
+
'''
|
|
870
|
+
|
|
871
|
+
|
|
872
|
+
result = await self.solve(method='captchafox',
|
|
873
|
+
sitekey=sitekey,
|
|
874
|
+
pageurl=pageurl,
|
|
875
|
+
useragent=userAgent,
|
|
876
|
+
proxy=proxy,
|
|
877
|
+
**kwargs)
|
|
878
|
+
return result
|
|
879
|
+
|
|
880
|
+
async def prosopo(self, sitekey, pageurl, **kwargs):
|
|
881
|
+
'''Wrapper for solving Prosopo captcha using tokens.
|
|
882
|
+
|
|
883
|
+
Parameters
|
|
884
|
+
__________
|
|
885
|
+
sitekey : str
|
|
886
|
+
The sitekey parameter value found on the page or in network requests.
|
|
887
|
+
pageurl : str
|
|
888
|
+
Full URL of the page with captcha.
|
|
889
|
+
proxy : dict, optional
|
|
890
|
+
{'type': 'HTTPS', 'uri': 'login:password@IP_address:PORT'}.
|
|
891
|
+
'''
|
|
892
|
+
|
|
893
|
+
|
|
894
|
+
result = await self.solve(method='prosopo',
|
|
895
|
+
sitekey=sitekey,
|
|
896
|
+
pageurl=pageurl,
|
|
897
|
+
**kwargs)
|
|
898
|
+
return result
|
|
899
|
+
|
|
900
|
+
async def temu(self, body, part1, part2, part3, **kwargs):
|
|
901
|
+
'''Wrapper for solving Temu captcha .
|
|
902
|
+
|
|
903
|
+
Parameters
|
|
904
|
+
__________
|
|
905
|
+
body : str
|
|
906
|
+
Main captcha image as a base64 string.
|
|
907
|
+
part1 : str
|
|
908
|
+
Tile element as a base64 string.
|
|
909
|
+
part2 : str
|
|
910
|
+
Tile element as a base64 string.
|
|
911
|
+
part3 : str
|
|
912
|
+
Tile element as a base64 string.
|
|
913
|
+
'''
|
|
914
|
+
|
|
915
|
+
result = await self.solve(method='temuimage',
|
|
916
|
+
body=body,
|
|
917
|
+
part1=part1,
|
|
918
|
+
part2=part2,
|
|
919
|
+
part3=part3,
|
|
920
|
+
**kwargs)
|
|
921
|
+
return result
|
|
922
|
+
|
|
803
923
|
async def datadome(self, captcha_url, pageurl, userAgent, proxy, **kwargs):
|
|
804
924
|
"""Wrapper for solving DataDome Captcha.
|
|
805
925
|
|
|
@@ -930,6 +930,126 @@ class TwoCaptcha():
|
|
|
930
930
|
**kwargs)
|
|
931
931
|
return result
|
|
932
932
|
|
|
933
|
+
def vkimage(self, files, steps, **kwargs):
|
|
934
|
+
'''Wrapper for solving vkimage captcha.
|
|
935
|
+
|
|
936
|
+
Parameters
|
|
937
|
+
__________
|
|
938
|
+
file : str
|
|
939
|
+
Captcha image as a file or base64.
|
|
940
|
+
steps: str
|
|
941
|
+
Array of steps.
|
|
942
|
+
proxy : dict, optional
|
|
943
|
+
{'type': 'HTTPS', 'uri': 'login:password@IP_address:PORT'}.
|
|
944
|
+
'''
|
|
945
|
+
|
|
946
|
+
if isinstance(files, str):
|
|
947
|
+
|
|
948
|
+
payload = self.get_method(files)
|
|
949
|
+
payload.pop('method', None)
|
|
950
|
+
|
|
951
|
+
result = self.solve(method='vkimage', steps=steps, **payload, **kwargs)
|
|
952
|
+
return result
|
|
953
|
+
|
|
954
|
+
elif isinstance(files, dict):
|
|
955
|
+
files = list(files.values())
|
|
956
|
+
|
|
957
|
+
files = self.extract_files(files)
|
|
958
|
+
|
|
959
|
+
result = self.solve(method='vkimage',
|
|
960
|
+
files=files,
|
|
961
|
+
steps=steps,
|
|
962
|
+
**kwargs)
|
|
963
|
+
return result
|
|
964
|
+
|
|
965
|
+
def vkcaptcha(self, redirect_uri, userAgent, proxy, **kwargs):
|
|
966
|
+
'''Wrapper for solving VK captcha using tokens.
|
|
967
|
+
|
|
968
|
+
Parameters
|
|
969
|
+
__________
|
|
970
|
+
redirect_uri : str
|
|
971
|
+
The URL that is returned for requests to the captchas API.
|
|
972
|
+
userAgent : str
|
|
973
|
+
User-Agent of the browser that will be used by the employee when loading the captcha.
|
|
974
|
+
proxy : dict
|
|
975
|
+
{'type': 'HTTPS', 'uri': 'login:password@IP_address:PORT'}.
|
|
976
|
+
'''
|
|
977
|
+
|
|
978
|
+
|
|
979
|
+
result = self.solve(method='vkcaptcha',
|
|
980
|
+
redirect_uri=redirect_uri,
|
|
981
|
+
useragent=userAgent,
|
|
982
|
+
proxy=proxy,
|
|
983
|
+
**kwargs)
|
|
984
|
+
return result
|
|
985
|
+
|
|
986
|
+
def captchafox(self, sitekey, pageurl, userAgent, proxy, **kwargs):
|
|
987
|
+
'''Wrapper for solving CaptchaFox using tokens.
|
|
988
|
+
|
|
989
|
+
Parameters
|
|
990
|
+
__________
|
|
991
|
+
sitekey : str
|
|
992
|
+
The sitekey parameter value found on the page or in network requests.
|
|
993
|
+
pageurl : str
|
|
994
|
+
Full URL of the page with captcha.
|
|
995
|
+
userAgent : str
|
|
996
|
+
User-Agent of the browser that will be used by the employee when loading the captcha.
|
|
997
|
+
proxy : dict
|
|
998
|
+
{'type': 'HTTPS', 'uri': 'login:password@IP_address:PORT'}.
|
|
999
|
+
'''
|
|
1000
|
+
|
|
1001
|
+
|
|
1002
|
+
result = self.solve(method='captchafox',
|
|
1003
|
+
sitekey=sitekey,
|
|
1004
|
+
pageurl=pageurl,
|
|
1005
|
+
useragent=userAgent,
|
|
1006
|
+
proxy=proxy,
|
|
1007
|
+
**kwargs)
|
|
1008
|
+
return result
|
|
1009
|
+
|
|
1010
|
+
def prosopo(self, sitekey, pageurl, **kwargs):
|
|
1011
|
+
'''Wrapper for solving Prosopo captcha using tokens.
|
|
1012
|
+
|
|
1013
|
+
Parameters
|
|
1014
|
+
__________
|
|
1015
|
+
sitekey : str
|
|
1016
|
+
The sitekey parameter value found on the page or in network requests.
|
|
1017
|
+
pageurl : str
|
|
1018
|
+
Full URL of the page with captcha.
|
|
1019
|
+
proxy : dict, optional
|
|
1020
|
+
{'type': 'HTTPS', 'uri': 'login:password@IP_address:PORT'}.
|
|
1021
|
+
'''
|
|
1022
|
+
|
|
1023
|
+
|
|
1024
|
+
result = self.solve(method='prosopo',
|
|
1025
|
+
sitekey=sitekey,
|
|
1026
|
+
pageurl=pageurl,
|
|
1027
|
+
**kwargs)
|
|
1028
|
+
return result
|
|
1029
|
+
|
|
1030
|
+
def temu(self, body, part1, part2, part3, **kwargs):
|
|
1031
|
+
'''Wrapper for solving Temu captcha .
|
|
1032
|
+
|
|
1033
|
+
Parameters
|
|
1034
|
+
__________
|
|
1035
|
+
body : str
|
|
1036
|
+
Main captcha image as a base64 string.
|
|
1037
|
+
part1 : str
|
|
1038
|
+
Tile element as a base64 string.
|
|
1039
|
+
part2 : str
|
|
1040
|
+
Tile element as a base64 string.
|
|
1041
|
+
part3 : str
|
|
1042
|
+
Tile element as a base64 string.
|
|
1043
|
+
'''
|
|
1044
|
+
|
|
1045
|
+
result = self.solve(method='temuimage',
|
|
1046
|
+
body=body,
|
|
1047
|
+
part1=part1,
|
|
1048
|
+
part2=part2,
|
|
1049
|
+
part3=part3,
|
|
1050
|
+
**kwargs)
|
|
1051
|
+
return result
|
|
1052
|
+
|
|
933
1053
|
def datadome(self, captcha_url, pageurl, userAgent, proxy, **kwargs):
|
|
934
1054
|
"""Wrapper for solving DataDome Captcha.
|
|
935
1055
|
|
|
File without changes
|
{2captcha_python-2.0.0 → 2captcha_python-2.0.2}/2captcha_python.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|