Skip to content

Commit

Permalink
Merge pull request #117 from 2captcha/pr-116
Browse files Browse the repository at this point in the history
Pr 116
  • Loading branch information
dzmitry-duboyski authored Dec 12, 2024
2 parents 553580d + 37ecd8e commit 17fadda
Show file tree
Hide file tree
Showing 4 changed files with 74 additions and 7 deletions.
3 changes: 0 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -241,13 +241,10 @@ result = solver.lemin(captcha_id='CROPPED_1abcd2f_a1234b567c890d12ef3a456bc78d90

### Yandex Smart

<sup>[API method description.](https://2captcha.com/2captcha-api#yandex-smart)</sup>

Use this method to solve Yandex Smart Captcha. Returns JSON with the token.
```python
result = solver.yandex_smart(sitekey='0x1AAAAh45AAAAkg0s2VIOD34y5hy4h4h',
url='http://mysite.com/',
softId=123,
proxy={'type': 'HTTPS', 'uri': 'login:password@IP_address:PORT'},
userAgent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36')
```
Expand Down
28 changes: 28 additions & 0 deletions examples/yandex_smart.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import sys
import os

sys.path.append(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))

from twocaptcha import TwoCaptcha

# in this example we store the API key inside environment variables that can be set like:
# export APIKEY_2CAPTCHA=1abc234de56fab7c89012d34e56fa7b8 on Linux or macOS
# set APIKEY_2CAPTCHA=1abc234de56fab7c89012d34e56fa7b8 on Windows
# you can just set the API key directly to it's value like:
# api_key="1abc234de56fab7c89012d34e56fa7b8"

api_key = os.getenv('APIKEY_2CAPTCHA', 'YOUR_API_KEY')

solver = TwoCaptcha(api_key)

try:
result = solver.yandex_smart(
sitekey="FEXfAbHQsToo97VidNVk3j4dC74nGW1DgdxK4OoR",
url="https://www.site.com/page/"
)

except Exception as e:
sys.exit(e)

else:
sys.exit('result: ' + str(result))
42 changes: 42 additions & 0 deletions examples/yandex_smart_options.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
import sys
import os

sys.path.append(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))

from twocaptcha import TwoCaptcha

# in this example we store the API key inside environment variables that can be set like:
# export APIKEY_2CAPTCHA=1abc234de56fab7c89012d34e56fa7b8 on Linux or macOS
# set APIKEY_2CAPTCHA=1abc234de56fab7c89012d34e56fa7b8 on Windows
# you can just set the API key directly to it's value like:
# api_key="1abc234de56fab7c89012d34e56fa7b8"

api_key = os.getenv('APIKEY_2CAPTCHA', 'YOUR_API_KEY')


config = {
'server': '2captcha.com', # can be also set to 'rucaptcha.com'
'apiKey': api_key,
'softId': 123,
# 'callback': 'https://your.site/result-receiver', # if set, sovler with just return captchaId, not polling API for the answer
'defaultTimeout': 120,
'recaptchaTimeout': 600,
'pollingInterval': 10,
}

solver = TwoCaptcha(**config)

try:
result = solver.yandex_smart(sitekey="FEXfAbHQsToo97VidNVk3j4dC74nGW1DgdxK4OoR",
url="https://www.site.com/page/",
# proxy={
# 'type': 'HTTPS',
# 'uri': 'login:password@IP_address:PORT'
# }
)

except Exception as e:
sys.exit(e)

else:
sys.exit('result: ' + str(result))
8 changes: 4 additions & 4 deletions tests/test_yandex_smart_captcha.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@ class YandexSmartCaptchaTest(AbstractTest):

def test_all_params(self):
params = {
'sitekey': 'FEXfAbHQsToo97VidNVk3j4dC74nGW1DgdxjtNB9',
'url': 'https://captcha-api.yandex.ru/demo',
'sitekey': 'FEXfAbHQsToo97VidNVk3j4dC74nGW1DgdPpL4O',
'url': 'https://www.site.com/page/',
}

sends = {
'method': 'yandex',
'sitekey': 'FEXfAbHQsToo97VidNVk3j4dC74nGW1DgdxjtNB9',
'pageurl': 'https://captcha-api.yandex.ru/demo',
'sitekey': 'FEXfAbHQsToo97VidNVk3j4dC74nGW1DgdPpL4O',
'pageurl': 'https://www.site.com/page/',
}

return self.send_return(sends, self.solver.yandex_smart, **params)
Expand Down

0 comments on commit 17fadda

Please sign in to comment.