{ "info": { "author": "AndreiDrang", "author_email": "drang.andray@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Framework :: AsyncIO", "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)", "Operating System :: MacOS", "Operating System :: Microsoft :: Windows", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 3.6" ], "description": "\n# python-cptchnet\n\n[![PyPI version](https://badge.fury.io/py/python-cptchnet.svg)](https://badge.fury.io/py/python-cptchnet)\n[![Build Status](https://semaphoreci.com/api/v1/andreidrang/python-cptch-net/branches/master/shields_badge.svg)](https://semaphoreci.com/andreidrang/python-cptch-net)\n[![Maintainability](https://api.codeclimate.com/v1/badges/f6221d34a1c165388aa6/maintainability)](https://codeclimate.com/github/AndreiDrang/python-cptch.net/maintainability)\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/e6a962ae5c9c4ca9aceb401ef58fff1b)](https://www.codacy.com/app/drang.andray/python-cptch.net?utm_source=github.com&utm_medium=referral&utm_content=AndreiDrang/python-cptch.net&utm_campaign=Badge_Grade)\n\n\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0430 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u041f\u041e \u0438 \u0441\u043b\u0443\u0436\u0438\u0442 \u0434\u043b\u044f \u043e\u0431\u043b\u0435\u0433\u0447\u0435\u043d\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 API \u0441\u0435\u0440\u0432\u0438\u0441\u0430 Cptch.net.\n\n\u041f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442 [\u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u043e\u0439](https://github.com/AndreiDrang/python-cptch.net/tree/master/examples).\n\n**\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f Python \u0432\u0435\u0440\u0441\u0438\u0438 3.6+.**\n\n## How to install? \u041a\u0430\u043a \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c?\n\n### pip\n\n```bash\npip install python-cptchnet\n```\n\n\n### Source\n```bash\ngit https://github.com/AndreiDrang/python-cptch.net.git\ncd python-cptch.net\npython setup.py install\n```\n***\n\u041f\u043e \u0432\u0441\u0435\u043c \u0432\u043e\u043f\u0440\u043e\u0441\u0430\u043c \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u0438\u0441\u0430\u0442\u044c \u0432 [Telegram](https://t.me/joinchat/CD2EtQ5Pm0dmoSQQMTkVlw) \u0447\u0430\u0442.\n***\n### \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f\n**v.0.1** - \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u043c\u0435\u0442\u043e\u0434\u044b: ImageCaptcha, ReCaptchaV2.\n***\n### \u0420\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u044b:\n\n\n1.[\u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u043a\u0430\u043f\u0447\u0438-\u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f.](https://github.com/AndreiDrang/python-cptch.net/blob/master/examples/image_captcha_example.py)\n\n\u041a\u0440\u0430\u0442\u043a\u0438\u0439 \u043f\u0440\u0438\u043c\u0435\u0440:\n```python\nfrom python_cptchnet import ImageCaptcha\n# \u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043b\u044e\u0447 \u043e\u0442 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 Cptch.net, \u0438\u0437 \u0441\u0432\u043e\u0435\u0433\u043e \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430\nSERVICE_KEY = \"\"\n# \u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0438\nimage_link = \"\"\n# \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f JSON \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043a\u0430\u043f\u0447\u0438\nuser_answer = ImageCaptcha.ImageCaptcha(service_key=SERVICE_KEY).captcha_handler(captcha_link=image_link)\n\nif not user_answer['error']:\n\t# \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043a\u0430\u043f\u0447\u0438\n\tprint(user_answer['captchaSolve'])\n\tprint(user_answer['taskId'])\nelif user_answer['error']:\n\t# \u0422\u0435\u043b\u043e \u043e\u0448\u0438\u0431\u043a\u0438, \u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c\n\tprint(user_answer['errorBody']['text'])\n\tprint(user_answer['errorBody']['id'])\n```\n\n2.[\u0420\u0435\u0448\u0435\u043d\u0438\u0435 ReCaptcha v2.](https://github.com/AndreiDrang/python-cptch.net/blob/master/examples/recaptcha_v2_example.py)\n\n\u041a\u0440\u0430\u0442\u043a\u0438\u0439 \u043f\u0440\u0438\u043c\u0435\u0440:\n```python\nfrom python_cptchnet import ReCaptchaV2\n# \u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043b\u044e\u0447 \u043e\u0442 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 Cptch.net, \u0438\u0437 \u0441\u0432\u043e\u0435\u0433\u043e \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430\nSERVICE_KEY = \"\"\n# G-ReCaptcha \u043a\u043b\u044e\u0447 \u0441\u0430\u0439\u0442\u0430\nSITE_KEY = \"\"\n# \u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0441 \u043a\u0430\u043f\u0447\u0451\u0439\nPAGE_URL = \"\"\n# \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f JSON \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043a\u0430\u043f\u0447\u0438\nuser_answer = ReCaptchaV2.ReCaptchaV2(service_key=SERVICE_KEY).captcha_handler(site_key=SITE_KEY,\n page_url=PAGE_URL)\n\nif not user_answer['error']:\n\t# \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043a\u0430\u043f\u0447\u0438\n\tprint(user_answer['captchaSolve'])\n\tprint(user_answer['taskId'])\nelif user_answer['error']:\n\t# \u0422\u0435\u043b\u043e \u043e\u0448\u0438\u0431\u043a\u0438, \u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c\n\tprint(user_answer['errorBody']['text'])\n\tprint(user_answer['errorBody']['id'])\n```\n\n\u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432 \u043a\u0430\u043f\u0447\u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f [\u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0430\u0439\u0442](http://85.255.8.26/), \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0441\u043e\u0431\u0440\u0430\u043d\u044b \u0432\u0441\u0435 \u0438\u043c\u0435\u044e\u0449\u0438\u0435\u0441\u044f \u0442\u0438\u043f\u044b \u043a\u0430\u043f\u0447\u0438, \u0441 \u0443\u0434\u043e\u0431\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u0430\u0448\u0438\u0445 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432.\n***\n### Errors table\n| Error ID | \u041e\u0448\u0438\u0431\u043a\u0430\n| ------------- |:-------------:|\n| -1 | \u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u044f\u044f \u043e\u0448\u0438\u0431\u043a\u0430 (\u0432 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0438 \u0438 \u0442.\u043f.), \u043d\u0435 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043a \u0441\u0435\u0440\u0432\u0438\u0441\u0443 Cptch.net\n\n| Error ID | in.php Cptch.net \u043a\u043e\u0434 \u043e\u0448\u0438\u0431\u043a\u0438\n| ------------- |:-------------:|\n| 10 | ERROR_WRONG_USER_KEY \n| 11 | ERROR_KEY_DOES_NOT_EXIST \n| 12 | ERROR_ZERO_BALANCE \n| 13 | ERROR_PAGEURL \n| 14 | ERROR_NO_SLOT_AVAILABLE \n| 15 | ERROR_ZERO_CAPTCHA_FILESIZE \n| 16 | ERROR_TOO_BIG_CAPTCHA_FILESIZE \n| 17 | ERROR_WRONG_FILE_EXTENSION \n| 18 | ERROR_IMAGE_TYPE_NOT_SUPPORTED \n| 19 | ERROR_UPLOAD \n| 20 | ERROR_IP_NOT_ALLOWED \n| 21 | IP_BANNED \n| 22 | ERROR_BAD_TOKEN_OR_PAGEURL\n| 23 | ERROR_GOOGLEKEY \n| 24 | ERROR_CAPTCHAIMAGE_BLOCKED \n| 25 | MAX_USER_TURN \n\n| Error ID | res.php Cptch.net \u043a\u043e\u0434 \u043e\u0448\u0438\u0431\u043a\u0438\n| ------------- |:-------------:| \n| 30 | CAPCHA_NOT_READY \n| 31 | ERROR_CAPTCHA_UNSOLVABLE \n| 32 | ERROR_WRONG_ID_FORMAT \n| 33 | ERROR_WRONG_CAPTCHA_ID \n| 34 | ERROR_BAD_DUPLICATES \n| 35 | REPORT_NOT_RECORDED \n\n| Error ID | NNNN Cptch.net \u043a\u043e\u0434 \u043e\u0448\u0438\u0431\u043a\u0438\n| ------------- |:-------------:|\n| 40 | ERROR: 1001 \n| 41 | ERROR: 1002 \n| 42 | ERROR: 1003 \n| 43 | ERROR: 1004 \n| 44 | ERROR: 1005 \n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/AndreiDrang/python-cptch.net", "keywords": "captcha cptchnet cptch.net python3 imagecaptcha recaptcha captcha security api python-library python-cptchnet cptchnet-client", "license": "AGPL-3.0", "maintainer": "", "maintainer_email": "", "name": "python-cptchnet", "package_url": "https://pypi.org/project/python-cptchnet/", "platform": "", "project_url": "https://pypi.org/project/python-cptchnet/", "project_urls": { "Homepage": "https://github.com/AndreiDrang/python-cptch.net" }, "release_url": "https://pypi.org/project/python-cptchnet/0.2/", "requires_dist": [ "requests (==2.21.0)", "aiohttp (==3.5.4)" ], "requires_python": ">=3.6.0", "summary": "Python 3.6+ Cptch.net library with AIO module.", "version": "0.2" }, "last_serial": 5287930, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "1b1e57f6364a80fefdbb58a1e0677813", "sha256": "a642be38867beafae38143533fcbbc02eb287697ec72e2ab9daba63a3f229cb9" }, "downloads": -1, "filename": "python_cptchnet-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "1b1e57f6364a80fefdbb58a1e0677813", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 29475, "upload_time": "2019-05-18T20:44:03", "url": "https://files.pythonhosted.org/packages/19/51/3cb9a1b0fdf7762409c0fa1fda91e3c3591b8551053ce64dcaf39af16550/python_cptchnet-0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "333961ca75457755cb16c1a46d17010c", "sha256": "7d80225de8fe912f7f190c342ad16635c1e152f4a29a6a9ba510ca5f714ff237" }, "downloads": -1, "filename": "python-cptchnet-0.1.tar.gz", "has_sig": false, "md5_digest": "333961ca75457755cb16c1a46d17010c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 15754, "upload_time": "2019-05-18T20:44:06", "url": "https://files.pythonhosted.org/packages/e2/d3/d81c8c518715ff98b872e02c2a45c872aa8e9c4774bdb5009c659b83a0c0/python-cptchnet-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "c50877e961dd8e32e05e965c16367015", "sha256": "8af237e2669db23d8fadaf60d0dfda1360628054ecf921233d0a387650158d1e" }, "downloads": -1, "filename": "python_cptchnet-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "c50877e961dd8e32e05e965c16367015", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 29781, "upload_time": "2019-05-19T10:24:47", "url": "https://files.pythonhosted.org/packages/4e/5d/5946f305257608042e338550a7c5e614bec66d5268189c314fbb219ea867/python_cptchnet-0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1b5be9768e8957ad1ffcedc8847b818e", "sha256": "0985f6014515321e3f689901007d54a9c0614b459713ea30d3d5580fdf245d51" }, "downloads": -1, "filename": "python-cptchnet-0.2.tar.gz", "has_sig": false, "md5_digest": "1b5be9768e8957ad1ffcedc8847b818e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 16145, "upload_time": "2019-05-19T10:24:49", "url": "https://files.pythonhosted.org/packages/7b/63/154891d203b7ffdbec790772589901d97d2ca64d46a932383c42ac9983a6/python-cptchnet-0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c50877e961dd8e32e05e965c16367015", "sha256": "8af237e2669db23d8fadaf60d0dfda1360628054ecf921233d0a387650158d1e" }, "downloads": -1, "filename": "python_cptchnet-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "c50877e961dd8e32e05e965c16367015", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 29781, "upload_time": "2019-05-19T10:24:47", "url": "https://files.pythonhosted.org/packages/4e/5d/5946f305257608042e338550a7c5e614bec66d5268189c314fbb219ea867/python_cptchnet-0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1b5be9768e8957ad1ffcedc8847b818e", "sha256": "0985f6014515321e3f689901007d54a9c0614b459713ea30d3d5580fdf245d51" }, "downloads": -1, "filename": "python-cptchnet-0.2.tar.gz", "has_sig": false, "md5_digest": "1b5be9768e8957ad1ffcedc8847b818e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 16145, "upload_time": "2019-05-19T10:24:49", "url": "https://files.pythonhosted.org/packages/7b/63/154891d203b7ffdbec790772589901d97d2ca64d46a932383c42ac9983a6/python-cptchnet-0.2.tar.gz" } ] }