2captcha-python 2.0.3__py3-none-any.whl → 2.0.5__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: 2captcha-python
3
- Version: 2.0.3
3
+ Version: 2.0.5
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
@@ -81,6 +81,7 @@ Examples of API requests for different captcha types are available on the [Pytho
81
81
  - [Prosopo](#prosopo)
82
82
  - [Temu](#temu)
83
83
  - [CyberSiARA](#cybersiara)
84
+ - [Altcha Captcha](#altcha-Captcha)
84
85
  - [Other methods](#other-methods)
85
86
  - [send / get\_result](#send--get_result)
86
87
  - [balance](#balance)
@@ -557,6 +558,17 @@ result = solver.cybersiara(master_url_id='tpjOCKjjpdzv3d8Ub2E9COEWKt1vl1Mv',
557
558
  param1=..., ...)
558
559
  ```
559
560
 
561
+ ### Altcha Captcha
562
+
563
+ <sup>[API method description.](http://2captcha.com/2captcha-api#altchacaptcha)</sup>
564
+
565
+ Use this method to solve Altcha Captcha. Returns a token.
566
+ ```python
567
+ result = solver.altcha(pageurl='https://mysite.com/page/with/altcha',
568
+ challenge_json='{"algorithm":"SHA-256","challenge":"a4c9d8e7f1b23a6c...",..."signature":"7b3e2a9d5c8f1046e2d91c3a..."}',
569
+ # or: challenge_url='https://example.com/altcha-challenge',)
570
+ ```
571
+
560
572
  ## Other methods
561
573
 
562
574
  ### send / get_result
@@ -0,0 +1,13 @@
1
+ 2captcha_python-2.0.5.dist-info/licenses/LICENSE,sha256=sbILKjQcxUC6dAvBbivnRX9YCshBI9XRvvk1LGkpMEo,1065
2
+ twocaptcha/__init__.py,sha256=xF6LYkx3mPn10XiEwC_MYCEovkihJ8JD8WRZDiVm4Hs,542
3
+ twocaptcha/api.py,sha256=vlYOhc3rGIHOVGq4hZjJ54tUxBpBzI2FgWPctllb7D0,2826
4
+ twocaptcha/async_api.py,sha256=L467rsgdVVrgWaLkvengoTE8GvCgQAfM2PmVO2kfad4,3534
5
+ twocaptcha/async_solver.py,sha256=A5dvMWM8s5QwevwkW6SaM596V8fXdRcPnO08i6YXylc,51887
6
+ twocaptcha/solver.py,sha256=fYy4HfsgKC3CWwvFhJYz-nF69tThJnd9Zl7XO_jw1gU,58563
7
+ twocaptcha/exceptions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
+ twocaptcha/exceptions/api.py,sha256=N810fZxcNE2AwCM9EyFrXpDpzAKsKi_tHCnRJn4CH7s,86
9
+ twocaptcha/exceptions/solver.py,sha256=hvKUebPMvC51ve6MSmv_3q1J9vkhS90XO2ivoVToyoU,255
10
+ 2captcha_python-2.0.5.dist-info/METADATA,sha256=YYSwt8uT0zFlkkpqlrmJxfzUEZ60ztL53WeDYQML5KM,31497
11
+ 2captcha_python-2.0.5.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
12
+ 2captcha_python-2.0.5.dist-info/top_level.txt,sha256=AvFZdM89oM6Vo97ZTxT9AxHWpwoO3_Qf5ORMV3NClFE,11
13
+ 2captcha_python-2.0.5.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (82.0.0)
2
+ Generator: setuptools (82.0.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
twocaptcha/__init__.py CHANGED
@@ -17,4 +17,4 @@ support@2captcha.com
17
17
  """
18
18
 
19
19
  __author__ = '2captcha'
20
- __version__ = '2.0.3'
20
+ __version__ = '2.0.5'
@@ -868,6 +868,11 @@ class AsyncTwoCaptcha():
868
868
  User-Agent of the browser that will be used by the employee when loading the captcha.
869
869
  proxy : dict
870
870
  {'type': 'HTTPS', 'uri': 'login:password@IP_address:PORT'}.
871
+ api_server : str, optional
872
+ Default: https://cdn.captchafox.com/. Depending on the parameter value, the token format
873
+ changes — it will be prefixed with MAM_. For this, you need to set the server URL to:
874
+ https://s.uicdn.com/mampkg/@mamdev/core.frontend.libs.captchafox/. Two different APIs
875
+ return two different tokens. Choose the one you need.
871
876
  '''
872
877
 
873
878
 
@@ -993,6 +998,41 @@ class AsyncTwoCaptcha():
993
998
  **kwargs)
994
999
  return result
995
1000
 
1001
+ async def altcha(self, pageurl, challenge_url=None, challenge_json=None, **kwargs):
1002
+ '''Wrapper for solving Altcha Captcha.
1003
+
1004
+ Parameters
1005
+ __________
1006
+ pageurl : str
1007
+ Full URL of the page where you solve the captcha.
1008
+ challenge_url : str
1009
+ The value of the 'challenge_url' parameter for the 'altcha-widget' element containing the captcha on the page.
1010
+ You can send either challenge_url or challenge_json parameter, but not two of it simultaneously.
1011
+ challenge_json : str
1012
+ The contents of the file from the 'challenge_url' parameter. You can send either challenge_url or challenge_json
1013
+ parameter, but not two of it simultaneously.
1014
+ proxy : dict, optional
1015
+ {'type': 'HTTPS', 'uri': 'login:password@IP_address:PORT'}.
1016
+
1017
+ '''
1018
+
1019
+ if (challenge_url is None) == (challenge_json is None):
1020
+ raise ValidationException(
1021
+ 'You must provide exactly one of challenge_url or challenge_json'
1022
+ )
1023
+
1024
+ params = {
1025
+ 'pageurl': pageurl,
1026
+ 'method': 'altcha',
1027
+ **kwargs,}
1028
+
1029
+ if challenge_url is not None:
1030
+ params['challenge_url'] = challenge_url
1031
+ if challenge_json is not None:
1032
+ params['challenge_json'] = challenge_json
1033
+
1034
+ return await self.solve(**params)
1035
+
996
1036
  async def solve(self, timeout=0, polling_interval=0, **kwargs):
997
1037
  '''Sends captcha, receives result.
998
1038
 
twocaptcha/solver.py CHANGED
@@ -105,6 +105,10 @@ class TwoCaptcha():
105
105
  Use this method to solve DataDome captcha.
106
106
  cybersiara(master_url_id, pageurl, userAgent, **kwargs)
107
107
  Use this method to solve CyberSiARA. Returns a token.
108
+ yandex_smart(self, sitekey, url, **kwargs)
109
+ Wrapper for solving Yandex Smart.
110
+ altcha(self, pageurl, challenge_url=None, challenge_json=None, **kwargs)
111
+ Wrapper for solving Altcha Captcha.
108
112
  solve(timeout=0, polling_interval=0, **kwargs)
109
113
  Sends CAPTCHA data and retrieves the result.
110
114
  balance()
@@ -998,6 +1002,11 @@ class TwoCaptcha():
998
1002
  User-Agent of the browser that will be used by the employee when loading the captcha.
999
1003
  proxy : dict
1000
1004
  {'type': 'HTTPS', 'uri': 'login:password@IP_address:PORT'}.
1005
+ api_server : str, optional
1006
+ Default: https://cdn.captchafox.com/. Depending on the parameter value, the token format
1007
+ changes — it will be prefixed with MAM_. For this, you need to set the server URL to:
1008
+ https://s.uicdn.com/mampkg/@mamdev/core.frontend.libs.captchafox/. Two different APIs
1009
+ return two different tokens. Choose the one you need.
1001
1010
  '''
1002
1011
 
1003
1012
 
@@ -1123,6 +1132,41 @@ class TwoCaptcha():
1123
1132
  **kwargs)
1124
1133
  return result
1125
1134
 
1135
+ def altcha(self, pageurl, challenge_url=None, challenge_json=None, **kwargs):
1136
+ '''Wrapper for solving Altcha Captcha.
1137
+
1138
+ Parameters
1139
+ __________
1140
+ pageurl : str
1141
+ Full URL of the page where you solve the captcha.
1142
+ challenge_url : str
1143
+ The value of the 'challenge_url' parameter for the 'altcha-widget' element containing the captcha on the page.
1144
+ You can send either challenge_url or challenge_json parameter, but not two of it simultaneously.
1145
+ challenge_json : str
1146
+ The contents of the file from the 'challenge_url' parameter. You can send either challenge_url or challenge_json
1147
+ parameter, but not two of it simultaneously.
1148
+ proxy : dict, optional
1149
+ {'type': 'HTTPS', 'uri': 'login:password@IP_address:PORT'}.
1150
+
1151
+ '''
1152
+
1153
+ if (challenge_url is None) == (challenge_json is None):
1154
+ raise ValidationException(
1155
+ 'You must provide exactly one of challenge_url or challenge_json'
1156
+ )
1157
+ params = {
1158
+ 'pageurl': pageurl,
1159
+ 'method': "altcha",
1160
+ **kwargs,
1161
+ }
1162
+ if challenge_url is not None:
1163
+ params['challenge_url'] = challenge_url
1164
+ if challenge_json is not None:
1165
+ params['challenge_json'] = challenge_json
1166
+
1167
+ return self.solve(**params)
1168
+
1169
+
1126
1170
  def solve(self, timeout=0, polling_interval=0, **kwargs):
1127
1171
  '''Sends captcha, receives result.
1128
1172
 
@@ -1,13 +0,0 @@
1
- 2captcha_python-2.0.3.dist-info/licenses/LICENSE,sha256=sbILKjQcxUC6dAvBbivnRX9YCshBI9XRvvk1LGkpMEo,1065
2
- twocaptcha/__init__.py,sha256=r1Kf9i4xTu8egjr1kBaGK2bKCGwzJgzjtUjAykLYJ3Y,542
3
- twocaptcha/api.py,sha256=vlYOhc3rGIHOVGq4hZjJ54tUxBpBzI2FgWPctllb7D0,2826
4
- twocaptcha/async_api.py,sha256=L467rsgdVVrgWaLkvengoTE8GvCgQAfM2PmVO2kfad4,3534
5
- twocaptcha/async_solver.py,sha256=Oev6hXc9WMg1WobTR50HRTBk00UzNbxah78EUHVuP-I,50119
6
- twocaptcha/solver.py,sha256=KaKiH0FyQiKLM1h92wiPbDD4j8osEUSrT7xH7CQt0Cs,56569
7
- twocaptcha/exceptions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
- twocaptcha/exceptions/api.py,sha256=N810fZxcNE2AwCM9EyFrXpDpzAKsKi_tHCnRJn4CH7s,86
9
- twocaptcha/exceptions/solver.py,sha256=hvKUebPMvC51ve6MSmv_3q1J9vkhS90XO2ivoVToyoU,255
10
- 2captcha_python-2.0.3.dist-info/METADATA,sha256=yXkrmfDTGtxHQK8ET97zPNu7g15zmjE10urBKkZQCsA,30980
11
- 2captcha_python-2.0.3.dist-info/WHEEL,sha256=YCfwYGOYMi5Jhw2fU4yNgwErybb2IX5PEwBKV4ZbdBo,91
12
- 2captcha_python-2.0.3.dist-info/top_level.txt,sha256=AvFZdM89oM6Vo97ZTxT9AxHWpwoO3_Qf5ORMV3NClFE,11
13
- 2captcha_python-2.0.3.dist-info/RECORD,,