{"id":24150,"date":"2026-07-15T11:07:32","date_gmt":"2026-07-15T11:07:32","guid":{"rendered":"https:\/\/capskip.com\/captcha-solving-sdk\/"},"modified":"2026-09-12T15:54:43","modified_gmt":"2026-09-12T15:54:43","slug":"captcha-solving-sdk","status":"publish","type":"page","link":"https:\/\/capskip.com\/zh\/captcha-solving-sdk\/","title":{"rendered":"\u9a8c\u8bc1\u7801\u8bc6\u522b SDK"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"24150\" class=\"elementor elementor-24150\">\n\t\t\t\t<div class=\"elementor-element elementor-element-714b8f4a e-flex e-con-boxed e-con e-parent\" data-id=\"714b8f4a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-54f7842d elementor-widget elementor-widget-shortcode\" data-id=\"54f7842d\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><div class=\"capskip-landing capskip-landing--sdk capskip-landing--heroonly\"><header class=\"cskl-hero cskl-hero--split\"><div class=\"cskl-hero__inner\"><div class=\"cskl-hero__copy\"><span class=\"cskl-eyebrow\"><span class=\"cskl-mark cskl-mark--tile\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M8.5 7l-5 5 5 5M15.5 7l5 5-5 5\"\/><path class=\"a\" d=\"M13.5 4.5l-3 15\"\/><\/svg><\/span>CapSkip SDKs<\/span><h1 class=\"cskl-hero__title\">Captcha solving SDKs for every stack<\/h1><p class=\"cskl-hero__lead\">One local solver, four official clients. CapSkip runs on your machine and exposes a standard captcha-solver HTTP API, and each SDK wraps it with clean method names so you can solve image captchas, reCAPTCHA v2 and v3, Cloudflare Turnstile, GeeTest v3, ALTCHA, CaptchaFox, Capy Puzzle and Friendly Captcha from your own code.<\/p><div class=\"cskl-hero__cta\"><a class=\"cskl-btn cskl-btn--go\" href=\"https:\/\/capskip.com\/zh\/#pricing\">Buy a license <svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M4.5 12h15M13.5 6l6 6-6 6\"\/><\/svg><\/a><a class=\"cskl-btn cskl-btn--win\" href=\"https:\/\/capskip.com\/download\/CapSkipInstaller.msi\"><svg class=\"cskl-winglyph\" viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M3 5.6l7.5-1v7.1H3zm0 12.8l7.5 1v-7h-7.5zM11.6 19.6L21.5 21V12.7h-9.9zM11.6 4.4v7.3h9.9V3z\"\/><\/svg>Download CapSkip<\/a><a class=\"cskl-btn cskl-btn--ghost\" href=\"https:\/\/capskip.com\/zh\/api-docs\/\">Read the API docs<\/a><\/div><div class=\"cskl-trust\"><span>Windows x64<\/span><i>&middot;<\/i><span>Runs locally, so no CAPTCHA leaves your machine<\/span><\/div><ul class=\"cskl-chips\"><li class=\"cskl-chip\">Unlimited solving<\/li><li class=\"cskl-chip\">Solves in seconds<\/li><li class=\"cskl-chip\">90-100% accuracy<\/li><\/ul><\/div><div class=\"cskl-hero__visual\"><div class=\"cskl-box\"><div class=\"cskl-box__top\"><div class=\"cskl-mock cskl-mock--code\" aria-hidden=\"true\"><div class=\"cskl-mock__bar cskl-mock__bar--tabs\"><span class=\"cskl-mock__tab is-on\">Python<\/span><span class=\"cskl-mock__tab\">Node.js<\/span><span class=\"cskl-mock__tab\">PHP<\/span><span class=\"cskl-mock__tab\">C#<\/span><\/div><pre class=\"cskl-mock__pre\"><code>solver = CapSkip()\ntoken  = solver.turnstile(\n    sitekey = &quot;0x4AAA\u2026&quot;,\n    url     = &quot;example.com\/login&quot;)<\/code><\/pre><div class=\"cskl-mock__out\"><span class=\"cskl-mock__ok\">&#10003;<\/span><code>0.qA7fK2nR9\u2026<\/code><span class=\"cskl-mock__meta\">7s &middot; $0.00<\/span><\/div><\/div><\/div><div class=\"cskl-cost\" data-cskl-cost data-rate=\"1.40\" data-price=\"10\" data-min=\"11000\" data-max=\"250000\"><div class=\"cskl-cost__head\"><span class=\"cskl-cost__lb\">CAPTCHAs a month<\/span><span class=\"cskl-cost__val\" data-cskl-vol>11,000<\/span><\/div><div class=\"cskl-track\"><span class=\"cskl-track__rail\"><\/span><span class=\"cskl-track__fill\" data-cskl-fill><\/span><span class=\"cskl-track__knob\" data-cskl-knob><\/span><input type=\"range\" min=\"11000\" max=\"250000\" step=\"1000\" value=\"11000\" autocomplete=\"off\" data-cskl-slider aria-label=\"CAPTCHAs a month\"><\/div><div class=\"cskl-track__sc\"><span>11.0k<\/span><span>250.0k<\/span><\/div><div class=\"cskl-bars\"><div class=\"cskl-bar cskl-bar--them\"><div class=\"cskl-bar__lb\"><span>Metered elsewhere, about $1.40 per 1,000<\/span><b>$<span data-cskl-them>15.40<\/span><\/b><\/div><div class=\"cskl-bar__rail\"><i data-cskl-thembar style=\"width:6.00%\"><\/i><\/div><\/div><div class=\"cskl-bar cskl-bar--us\"><div class=\"cskl-bar__lb\"><span>CapSkip Bronze, flat<\/span><b>$10.00<\/b><\/div><div class=\"cskl-bar__rail\"><i class=\"cskl-bar__flat\"><\/i><\/div><\/div><\/div><div class=\"cskl-keep\"><span class=\"cskl-keep__n\">$<span data-cskl-keep>5.40<\/span><\/span><span class=\"cskl-keep__t\"><b>stays in your pocket<\/b>every month, at this volume<\/span><\/div><\/div><\/div><\/div><\/div><div class=\"cskl-typestrip\"><div class=\"cskl-typestrip__inner\"><b>Also solves<\/b><a class=\"\" href=\"https:\/\/capskip.com\/zh\/cloudflare-turnstile-solver\/\">Turnstile<\/a><a class=\"\" href=\"https:\/\/capskip.com\/zh\/recaptcha-v2-solver\/\">reCAPTCHA v2<\/a><a class=\"\" href=\"https:\/\/capskip.com\/zh\/recaptcha-v2-callback-solver\/\">v2 Callback<\/a><a class=\"\" href=\"https:\/\/capskip.com\/zh\/recaptcha-v2-invisible-solver\/\">v2 Invisible<\/a><a class=\"\" href=\"https:\/\/capskip.com\/zh\/recaptcha-v3-solver\/\">v3<\/a><a class=\"\" href=\"https:\/\/capskip.com\/zh\/recaptcha-enterprise-solver\/\">Enterprise<\/a><a class=\"\" href=\"https:\/\/capskip.com\/zh\/image-captcha-solver\/\">Image CAPTCHA<\/a><a class=\"\" href=\"https:\/\/capskip.com\/zh\/geetest-solver\/\">GeeTest v3<\/a><a class=\"\" href=\"https:\/\/capskip.com\/zh\/capy-puzzle-solver\/\">Capy Puzzle<\/a><a class=\"\" href=\"https:\/\/capskip.com\/zh\/altcha-solver\/\">ALTCHA<\/a><a class=\"\" href=\"https:\/\/capskip.com\/zh\/captchafox-solver\/\">CaptchaFox<\/a><a class=\"\" href=\"https:\/\/capskip.com\/zh\/friendly-captcha-solver\/\">Friendly Captcha<\/a><\/div><\/div><\/header><\/div>\t<div class=\"capskip-sdks\" id=\"capskip-sdks\">\n\n\t\t\n\t\t<section class=\"csk-langs\" aria-label=\"Available SDKs\">\n\t\t\t\t\t\t\t<button type=\"button\"\n\t\t\t\t\t\tclass=\"csk-lang-card\"\n\t\t\t\t\t\tdata-target=\"python\"\n\t\t\t\t\t\tstyle=\"--csk-icon: #3776ab;\">\n\t\t\t\t\t<span class=\"csk-lang-icon\"><svg class=\"csv\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path fill=\"#3776ab\" d=\"M14.24.24l.9.2.73.26.59.3.45.32.34.34.25.34.16.33.1.3.04.26.02.2-.01.13V8.52l-.05.63-.13.55-.21.46-.26.38-.3.31-.33.25-.35.19-.35.14-.33.1-.3.07-.26.04-.21.02H8.79l-.69.05-.59.14-.5.22-.41.27-.33.32-.27.35-.2.36-.15.37-.1.35-.07.32-.04.27-.02.21v3.04H3.21l-.21-.03-.28-.07-.32-.12-.35-.18-.36-.26-.36-.36-.35-.46-.32-.59-.28-.73-.21-.88-.14-1.04-.05-1.22.06-1.21.16-1.03.24-.87.32-.71.36-.57.4-.44.42-.33.42-.24.4-.16.36-.1.32-.05.24-.01h.16l.06.01h8.12v-.83H6.21l-.01-2.74-.02-.37.05-.34.11-.31.17-.28.25-.26.31-.23.38-.2.44-.18.51-.15.58-.12.64-.1.71-.06.77-.04.84-.02 1.26.05zm-6.27 1.97-.23.33-.08.41.08.41.23.34.33.22.41.09.41-.09.33-.22.23-.34.08-.41-.08-.41-.23-.33-.33-.22-.41-.09-.41.09zm13.02 3.93.28.06.32.12.35.18.36.27.36.35.35.47.32.59.28.73.21.88.14 1.03.05 1.22-.06 1.22-.16 1.03-.24.86-.32.71-.36.57-.4.45-.42.33-.42.24-.4.16-.36.09-.32.05-.24.02-.16-.01h-8.18v.82h5.81l.01 2.75.02.36-.05.34-.11.31-.17.29-.25.25-.31.24-.38.2-.44.17-.51.15-.58.13-.64.09-.71.07-.77.04-.84.01-1.26-.04-1.06-.14-.9-.2-.73-.25-.59-.3-.45-.33-.34-.34-.25-.34-.16-.33-.1-.3-.04-.25-.02-.2.01-.13v-5.31l.05-.64.13-.54.21-.46.26-.38.3-.32.33-.24.35-.2.35-.14.33-.1.3-.06.26-.04.21-.02.13-.01h5.81l.69-.05.59-.14.5-.21.41-.28.33-.32.27-.35.2-.36.15-.36.1-.35.07-.32.04-.28.02-.21V6.1h2.08l.14.01zm-6.44 14.18-.23.33-.08.41.08.41.23.33.33.23.41.08.41-.08.33-.23.23-.33.08-.41-.08-.41-.23-.33-.33-.23-.41-.08-.41.08z\"\/><\/svg><\/span>\n\t\t\t\t\t<span class=\"csk-lang-text\">\n\t\t\t\t\t\t<span class=\"csk-lang-name\">Python<\/span>\n\t\t\t\t\t\t<span class=\"csk-lang-tag\">Python 3.10+<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t<\/button>\n\t\t\t\t\t\t\t<button type=\"button\"\n\t\t\t\t\t\tclass=\"csk-lang-card\"\n\t\t\t\t\t\tdata-target=\"node\"\n\t\t\t\t\t\tstyle=\"--csk-icon: #3c873a;\">\n\t\t\t\t\t<span class=\"csk-lang-icon\"><svg class=\"csv\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path fill=\"#5fa04e\" d=\"M12 24c-.32 0-.64-.08-.92-.25l-2.94-1.74c-.44-.24-.22-.33-.08-.38.58-.2.7-.25 1.33-.6.06-.04.15-.02.22.02l2.26 1.34c.08.04.2.04.27 0l8.79-5.08c.08-.05.13-.14.13-.24V6.92c0-.1-.05-.19-.14-.24l-8.79-5.07c-.08-.05-.19-.05-.27 0L3.08 6.68C2.99 6.73 2.94 6.83 2.94 6.92v10.15c0 .1.05.19.14.23l2.41 1.39c1.31.65 2.11-.12 2.11-.89V7.79c0-.14.11-.25.26-.25h1.11c.14 0 .25.11.25.25v10.02c0 1.74-.95 2.74-2.6 2.74-.51 0-.91 0-2.03-.55L2.28 18.68c-.57-.33-.92-.94-.92-1.6V6.92c0-.66.35-1.27.92-1.6l8.79-5.08c.56-.31 1.3-.31 1.85 0l8.79 5.08c.57.33.92.94.92 1.6v10.15c0 .66-.35 1.27-.92 1.6l-8.79 5.08C12.64 23.92 12.32 24 12 24zM19.1 13.99c0-1.9-1.28-2.41-3.99-2.76-2.73-.36-3.01-.55-3.01-1.19 0-.53.23-1.23 2.26-1.23 1.81 0 2.47.39 2.75 1.61.02.11.13.2.25.2h1.14c.07 0 .14-.03.19-.08.05-.05.07-.12.07-.2-.18-2.1-1.57-3.08-4.39-3.08-2.51 0-4 1.06-4 2.83 0 1.92 1.49 2.46 3.89 2.69 2.88.28 3.1.7 3.1 1.27 0 .98-.79 1.4-2.64 1.4-2.33 0-2.84-.58-3.01-1.74-.02-.12-.13-.21-.25-.21h-1.14c-.14 0-.25.11-.25.25 0 1.48.81 3.25 4.65 3.25C17.5 17.01 19.1 15.91 19.1 13.99z\"\/><\/svg><\/span>\n\t\t\t\t\t<span class=\"csk-lang-text\">\n\t\t\t\t\t\t<span class=\"csk-lang-name\">Node.js<\/span>\n\t\t\t\t\t\t<span class=\"csk-lang-tag\">Node.js 18+<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t<\/button>\n\t\t\t\t\t\t\t<button type=\"button\"\n\t\t\t\t\t\tclass=\"csk-lang-card\"\n\t\t\t\t\t\tdata-target=\"php\"\n\t\t\t\t\t\tstyle=\"--csk-icon: #777bb4;\">\n\t\t\t\t\t<span class=\"csk-lang-icon\"><svg class=\"csv\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path fill=\"#777bb4\" d=\"M7.01 10.21h-.94l-.51 2.65h.84c.56 0 .97-.1 1.24-.31.27-.21.46-.56.55-1.05.09-.47.05-.8-.12-.99-.17-.19-.52-.29-1.05-.29zM12 5.69C5.37 5.69 0 8.51 0 12s5.37 6.31 12 6.31S24 15.49 24 12c0-3.49-5.37-6.31-12-6.31zm-3.26 7.45c-.26.25-.57.44-.92.55-.34.11-.76.16-1.28.16H5.36l-.33 1.68H3.65l1.23-6.33h2.65c.8 0 1.38.21 1.74.63.37.42.48 1 .33 1.75a2.84 2.84 0 0 1-.3.85c-.14.26-.33.49-.56.7zm4.02.72.54-2.8c.06-.32.04-.54-.07-.65-.11-.12-.34-.17-.69-.17H11.46l-.7 3.63H9.39l1.23-6.33h1.37l-.33 1.68h1.22c.77 0 1.3.13 1.59.4s.38.7.26 1.3l-.57 2.94h-1.39zm7.6-2.26a2.78 2.78 0 0 1-.3.85c-.14.26-.33.49-.56.7a2.44 2.44 0 0 1-.92.55c-.34.11-.76.16-1.29.16h-1.18l-.33 1.68h-1.38l1.23-6.33h2.65c.8 0 1.38.21 1.74.63.37.42.48 1 .33 1.75zM17.77 10.21h-.94l-.52 2.65h.84c.56 0 .97-.1 1.24-.31.27-.21.46-.56.55-1.05.09-.47.05-.8-.12-.99s-.52-.29-1.05-.29z\"\/><\/svg><\/span>\n\t\t\t\t\t<span class=\"csk-lang-text\">\n\t\t\t\t\t\t<span class=\"csk-lang-name\">PHP<\/span>\n\t\t\t\t\t\t<span class=\"csk-lang-tag\">PHP 8.0+<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t<\/button>\n\t\t\t\t\t\t\t<button type=\"button\"\n\t\t\t\t\t\tclass=\"csk-lang-card\"\n\t\t\t\t\t\tdata-target=\"dotnet\"\n\t\t\t\t\t\tstyle=\"--csk-icon: #512bd4;\">\n\t\t\t\t\t<span class=\"csk-lang-icon\"><svg class=\"csv\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path fill=\"#512bd4\" d=\"M24 8.77h-2.47v7.56h-1.42V8.77h-2.46V7.53H24zm-6.85 7.56h-4.82V7.53h4.63v1.24h-3.2v2.49h2.95v1.23h-2.95v2.6h3.4zm-6.71 0H8.88L4.78 9.86a2.9 2.9 0 0 1-.26-.51h-.04c.03.19.05.59.05 1.21v5.77H3.16V7.53h1.66l3.96 6.32c.17.26.27.44.32.54h.02c-.04-.23-.06-.63-.06-1.18V7.53h1.37zm-8.7-.69a.87.83 0 0 1-.87.83.87.83 0 0 1-.87-.83.87.83 0 0 1 .87-.83.87.83 0 0 1 .87.83Z\"\/><\/svg><\/span>\n\t\t\t\t\t<span class=\"csk-lang-text\">\n\t\t\t\t\t\t<span class=\"csk-lang-name\">.NET \/ C#<\/span>\n\t\t\t\t\t\t<span class=\"csk-lang-tag\">.NET Standard 2.0+<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t<\/button>\n\t\t\t\t\t<\/section>\n\n\t\t<section class=\"csk-captchas\" aria-label=\"Supported captcha types\">\n\t\t\t<h2 class=\"csk-section-title\">Every SDK solves the same set<\/h2>\n\t\t\t<div class=\"csk-captcha-grid\">\n\t\t\t\t\t\t\t\t\t<div class=\"csk-captcha-card\">\n\t\t\t\t\t\t<h3>Image CAPTCHA<\/h3>\n\t\t\t\t\t\t<p>Distorted text read straight from an image, URL, or base64 string.<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"csk-captcha-card\">\n\t\t\t\t\t\t<h3>reCAPTCHA v2<\/h3>\n\t\t\t\t\t\t<p>Checkbox, invisible, and Enterprise variants.<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"csk-captcha-card\">\n\t\t\t\t\t\t<h3>reCAPTCHA v3<\/h3>\n\t\t\t\t\t\t<p>Score based, with action and Enterprise support.<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"csk-captcha-card\">\n\t\t\t\t\t\t<h3>Cloudflare Turnstile<\/h3>\n\t\t\t\t\t\t<p>Widget tokens and full challenge-page tokens.<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"csk-captcha-card\">\n\t\t\t\t\t\t<h3>GeeTest v3<\/h3>\n\t\t\t\t\t\t<p>Slide puzzles, returning challenge, validate, and seccode.<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"csk-captcha-card\">\n\t\t\t\t\t\t<h3>ALTCHA<\/h3>\n\t\t\t\t\t\t<p>Proof of work, returning the token and the counter that solved it.<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"csk-captcha-card\">\n\t\t\t\t\t\t<h3>Capy Puzzle<\/h3>\n\t\t\t\t\t\t<p>Drag-the-piece puzzle, returning the captchakey, challengekey and answer.<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"csk-captcha-card\">\n\t\t\t\t\t\t<h3>CaptchaFox<\/h3>\n\t\t\t\t\t\t<p>The privacy-first widget, returning its verification token.<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"csk-captcha-card\">\n\t\t\t\t\t\t<h3>Friendly Captcha<\/h3>\n\t\t\t\t\t\t<p>Proof of work in the browser, both the friendly-challenge widget and the newer SDK.<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\n\t\t<section class=\"csk-detail\" aria-label=\"SDK usage\">\n\t\t\t<div class=\"csk-tabs\" role=\"tablist\">\n\t\t\t\t\t\t\t\t\t<button type=\"button\"\n\t\t\t\t\t\t\tclass=\"csk-tab is-active\"\n\t\t\t\t\t\t\trole=\"tab\"\n\t\t\t\t\t\t\taria-selected=\"true\"\n\t\t\t\t\t\t\tdata-target=\"python\"\n\t\t\t\t\t\t\tstyle=\"--csk-icon: #3776ab;\">\n\t\t\t\t\t\t<span class=\"csk-tab-icon csk-tab-icon--tile\"><svg class=\"csv\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path fill=\"#3776ab\" d=\"M14.24.24l.9.2.73.26.59.3.45.32.34.34.25.34.16.33.1.3.04.26.02.2-.01.13V8.52l-.05.63-.13.55-.21.46-.26.38-.3.31-.33.25-.35.19-.35.14-.33.1-.3.07-.26.04-.21.02H8.79l-.69.05-.59.14-.5.22-.41.27-.33.32-.27.35-.2.36-.15.37-.1.35-.07.32-.04.27-.02.21v3.04H3.21l-.21-.03-.28-.07-.32-.12-.35-.18-.36-.26-.36-.36-.35-.46-.32-.59-.28-.73-.21-.88-.14-1.04-.05-1.22.06-1.21.16-1.03.24-.87.32-.71.36-.57.4-.44.42-.33.42-.24.4-.16.36-.1.32-.05.24-.01h.16l.06.01h8.12v-.83H6.21l-.01-2.74-.02-.37.05-.34.11-.31.17-.28.25-.26.31-.23.38-.2.44-.18.51-.15.58-.12.64-.1.71-.06.77-.04.84-.02 1.26.05zm-6.27 1.97-.23.33-.08.41.08.41.23.34.33.22.41.09.41-.09.33-.22.23-.34.08-.41-.08-.41-.23-.33-.33-.22-.41-.09-.41.09zm13.02 3.93.28.06.32.12.35.18.36.27.36.35.35.47.32.59.28.73.21.88.14 1.03.05 1.22-.06 1.22-.16 1.03-.24.86-.32.71-.36.57-.4.45-.42.33-.42.24-.4.16-.36.09-.32.05-.24.02-.16-.01h-8.18v.82h5.81l.01 2.75.02.36-.05.34-.11.31-.17.29-.25.25-.31.24-.38.2-.44.17-.51.15-.58.13-.64.09-.71.07-.77.04-.84.01-1.26-.04-1.06-.14-.9-.2-.73-.25-.59-.3-.45-.33-.34-.34-.25-.34-.16-.33-.1-.3-.04-.25-.02-.2.01-.13v-5.31l.05-.64.13-.54.21-.46.26-.38.3-.32.33-.24.35-.2.35-.14.33-.1.3-.06.26-.04.21-.02.13-.01h5.81l.69-.05.59-.14.5-.21.41-.28.33-.32.27-.35.2-.36.15-.36.1-.35.07-.32.04-.28.02-.21V6.1h2.08l.14.01zm-6.44 14.18-.23.33-.08.41.08.41.23.33.33.23.41.08.41-.08.33-.23.23-.33.08-.41-.08-.41-.23-.33-.33-.23-.41-.08-.41.08z\"\/><\/svg><\/span>\n\t\t\t\t\t\tPython\t\t\t\t\t<\/button>\n\t\t\t\t\t\t\t\t\t<button type=\"button\"\n\t\t\t\t\t\t\tclass=\"csk-tab\"\n\t\t\t\t\t\t\trole=\"tab\"\n\t\t\t\t\t\t\taria-selected=\"false\"\n\t\t\t\t\t\t\tdata-target=\"node\"\n\t\t\t\t\t\t\tstyle=\"--csk-icon: #3c873a;\">\n\t\t\t\t\t\t<span class=\"csk-tab-icon csk-tab-icon--tile\"><svg class=\"csv\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path fill=\"#5fa04e\" d=\"M12 24c-.32 0-.64-.08-.92-.25l-2.94-1.74c-.44-.24-.22-.33-.08-.38.58-.2.7-.25 1.33-.6.06-.04.15-.02.22.02l2.26 1.34c.08.04.2.04.27 0l8.79-5.08c.08-.05.13-.14.13-.24V6.92c0-.1-.05-.19-.14-.24l-8.79-5.07c-.08-.05-.19-.05-.27 0L3.08 6.68C2.99 6.73 2.94 6.83 2.94 6.92v10.15c0 .1.05.19.14.23l2.41 1.39c1.31.65 2.11-.12 2.11-.89V7.79c0-.14.11-.25.26-.25h1.11c.14 0 .25.11.25.25v10.02c0 1.74-.95 2.74-2.6 2.74-.51 0-.91 0-2.03-.55L2.28 18.68c-.57-.33-.92-.94-.92-1.6V6.92c0-.66.35-1.27.92-1.6l8.79-5.08c.56-.31 1.3-.31 1.85 0l8.79 5.08c.57.33.92.94.92 1.6v10.15c0 .66-.35 1.27-.92 1.6l-8.79 5.08C12.64 23.92 12.32 24 12 24zM19.1 13.99c0-1.9-1.28-2.41-3.99-2.76-2.73-.36-3.01-.55-3.01-1.19 0-.53.23-1.23 2.26-1.23 1.81 0 2.47.39 2.75 1.61.02.11.13.2.25.2h1.14c.07 0 .14-.03.19-.08.05-.05.07-.12.07-.2-.18-2.1-1.57-3.08-4.39-3.08-2.51 0-4 1.06-4 2.83 0 1.92 1.49 2.46 3.89 2.69 2.88.28 3.1.7 3.1 1.27 0 .98-.79 1.4-2.64 1.4-2.33 0-2.84-.58-3.01-1.74-.02-.12-.13-.21-.25-.21h-1.14c-.14 0-.25.11-.25.25 0 1.48.81 3.25 4.65 3.25C17.5 17.01 19.1 15.91 19.1 13.99z\"\/><\/svg><\/span>\n\t\t\t\t\t\tNode.js\t\t\t\t\t<\/button>\n\t\t\t\t\t\t\t\t\t<button type=\"button\"\n\t\t\t\t\t\t\tclass=\"csk-tab\"\n\t\t\t\t\t\t\trole=\"tab\"\n\t\t\t\t\t\t\taria-selected=\"false\"\n\t\t\t\t\t\t\tdata-target=\"php\"\n\t\t\t\t\t\t\tstyle=\"--csk-icon: #777bb4;\">\n\t\t\t\t\t\t<span class=\"csk-tab-icon csk-tab-icon--tile\"><svg class=\"csv\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path fill=\"#777bb4\" d=\"M7.01 10.21h-.94l-.51 2.65h.84c.56 0 .97-.1 1.24-.31.27-.21.46-.56.55-1.05.09-.47.05-.8-.12-.99-.17-.19-.52-.29-1.05-.29zM12 5.69C5.37 5.69 0 8.51 0 12s5.37 6.31 12 6.31S24 15.49 24 12c0-3.49-5.37-6.31-12-6.31zm-3.26 7.45c-.26.25-.57.44-.92.55-.34.11-.76.16-1.28.16H5.36l-.33 1.68H3.65l1.23-6.33h2.65c.8 0 1.38.21 1.74.63.37.42.48 1 .33 1.75a2.84 2.84 0 0 1-.3.85c-.14.26-.33.49-.56.7zm4.02.72.54-2.8c.06-.32.04-.54-.07-.65-.11-.12-.34-.17-.69-.17H11.46l-.7 3.63H9.39l1.23-6.33h1.37l-.33 1.68h1.22c.77 0 1.3.13 1.59.4s.38.7.26 1.3l-.57 2.94h-1.39zm7.6-2.26a2.78 2.78 0 0 1-.3.85c-.14.26-.33.49-.56.7a2.44 2.44 0 0 1-.92.55c-.34.11-.76.16-1.29.16h-1.18l-.33 1.68h-1.38l1.23-6.33h2.65c.8 0 1.38.21 1.74.63.37.42.48 1 .33 1.75zM17.77 10.21h-.94l-.52 2.65h.84c.56 0 .97-.1 1.24-.31.27-.21.46-.56.55-1.05.09-.47.05-.8-.12-.99s-.52-.29-1.05-.29z\"\/><\/svg><\/span>\n\t\t\t\t\t\tPHP\t\t\t\t\t<\/button>\n\t\t\t\t\t\t\t\t\t<button type=\"button\"\n\t\t\t\t\t\t\tclass=\"csk-tab\"\n\t\t\t\t\t\t\trole=\"tab\"\n\t\t\t\t\t\t\taria-selected=\"false\"\n\t\t\t\t\t\t\tdata-target=\"dotnet\"\n\t\t\t\t\t\t\tstyle=\"--csk-icon: #512bd4;\">\n\t\t\t\t\t\t<span class=\"csk-tab-icon csk-tab-icon--tile\"><svg class=\"csv\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path fill=\"#512bd4\" d=\"M24 8.77h-2.47v7.56h-1.42V8.77h-2.46V7.53H24zm-6.85 7.56h-4.82V7.53h4.63v1.24h-3.2v2.49h2.95v1.23h-2.95v2.6h3.4zm-6.71 0H8.88L4.78 9.86a2.9 2.9 0 0 1-.26-.51h-.04c.03.19.05.59.05 1.21v5.77H3.16V7.53h1.66l3.96 6.32c.17.26.27.44.32.54h.02c-.04-.23-.06-.63-.06-1.18V7.53h1.37zm-8.7-.69a.87.83 0 0 1-.87.83.87.83 0 0 1-.87-.83.87.83 0 0 1 .87-.83.87.83 0 0 1 .87.83Z\"\/><\/svg><\/span>\n\t\t\t\t\t\t.NET \/ C#\t\t\t\t\t<\/button>\n\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t\t<div class=\"csk-panel is-active\"\n\t\t\t\t\tid=\"csk-panel-python\"\n\t\t\t\t\trole=\"tabpanel\"\n\t\t\t\t\tstyle=\"--csk-icon: #3776ab;\">\n\n\t\t\t\t\t<div class=\"csk-panel-head\">\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<h2>Python SDK<\/h2>\n\t\t\t\t\t\t\t<p>Python 3.10+<\/p>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"csk-panel-links\">\n\t\t\t\t\t\t\t<a class=\"csk-pill\" href=\"https:\/\/pypi.org\/project\/capskip\/\" rel=\"noopener nofollow\" target=\"_blank\">PyPI<\/a>\n\t\t\t\t\t\t\t<a class=\"csk-pill\" href=\"https:\/\/github.com\/capskip\/capskip-python\" rel=\"noopener nofollow\" target=\"_blank\">GitHub<\/a>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div class=\"csk-step\">\n\t\t\t\t\t\t<span class=\"csk-step-num csk-step-num--icon\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 3 20 7.5v9L12 21l-8-4.5v-9zM4 7.5l8 4.5 8-4.5M12 12v9\"\/><path class=\"a\" d=\"M8 5.25l8 4.5\"\/><\/svg><\/span>\t\t\t\t\t\t<div class=\"csk-step-body\">\n\t\t\t\t\t\t\t<h3>Install the SDK<\/h3>\n\t\t\t\t\t\t\t<div class=\"csk-code csk-code-bash\"><div class=\"csk-code-bar\"><span class=\"csk-code-lang\">Terminal<\/span><button type=\"button\" class=\"csk-copy\" aria-label=\"Copy code\">Copy<\/button><\/div><pre><code>pip install capskip<\/code><\/pre><\/div>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div class=\"csk-step\">\n\t\t\t\t\t\t<span class=\"csk-step-num csk-step-num--icon\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M8.5 7l-5 5 5 5M15.5 7l5 5-5 5\"\/><path class=\"a\" d=\"M13.5 4.5l-3 15\"\/><\/svg><\/span>\t\t\t\t\t\t<div class=\"csk-step-body\">\n\t\t\t\t\t\t\t<h3>Solve your first captcha<\/h3>\n\t\t\t\t\t\t\t<div class=\"csk-code csk-code-python\"><div class=\"csk-code-bar\"><span class=\"csk-code-lang\">Python<\/span><button type=\"button\" class=\"csk-copy\" aria-label=\"Copy code\">Copy<\/button><\/div><pre><code>from capskip import CapSkip\n\nsolver = CapSkip(host=&quot;127.0.0.1&quot;, port=8080)\n\nresult = solver.recaptcha(\n    sitekey=&quot;YOUR_SITEKEY&quot;,\n    url=&quot;https:\/\/example.com\/page-with-recaptcha&quot;,\n)\n\nprint(result[&quot;code&quot;])  # g-recaptcha-response token<\/code><\/pre><\/div>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div class=\"csk-step\">\n\t\t\t\t\t\t<span class=\"csk-step-num csk-step-num--icon\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M3.5 12l8.5 4.5 8.5-4.5M3.5 16l8.5 4.5 8.5-4.5\"\/><path class=\"a\" d=\"M12 3.5 20.5 8 12 12.5 3.5 8z\"\/><\/svg><\/span>\t\t\t\t\t\t<div class=\"csk-step-body\">\n\t\t\t\t\t\t\t<h3>Go further<\/h3>\n\t\t\t\t\t\t\t<div class=\"csk-code csk-code-python\"><div class=\"csk-code-bar\"><span class=\"csk-code-lang\">Python<\/span><button type=\"button\" class=\"csk-copy\" aria-label=\"Copy code\">Copy<\/button><\/div><pre><code>import asyncio\nfrom capskip import AsyncCapSkip\n\nasync def main():\n    solver = AsyncCapSkip()\n    r1, r2 = await asyncio.gather(\n        solver.recaptcha(sitekey=&quot;...&quot;, url=&quot;https:\/\/a.com&quot;),\n        solver.turnstile(sitekey=&quot;...&quot;, url=&quot;https:\/\/b.com&quot;),\n    )\n    print(r1[&quot;code&quot;], r2[&quot;code&quot;])\n\nasyncio.run(main())<\/code><\/pre><\/div>\t\t\t\t\t\t\t<a class=\"csk-btn csk-btn-primary csk-btn-sm\" href=\"https:\/\/github.com\/capskip\/capskip-python#documentation\" rel=\"noopener nofollow\" target=\"_blank\">\n\t\t\t\t\t\t\t\tFull tutorial and API reference on GitHub &rarr;\n\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"csk-panel\"\n\t\t\t\t\tid=\"csk-panel-node\"\n\t\t\t\t\trole=\"tabpanel\"\n\t\t\t\t\tstyle=\"--csk-icon: #3c873a;\">\n\n\t\t\t\t\t<div class=\"csk-panel-head\">\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<h2>Node.js SDK<\/h2>\n\t\t\t\t\t\t\t<p>Node.js 18+<\/p>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"csk-panel-links\">\n\t\t\t\t\t\t\t<a class=\"csk-pill\" href=\"https:\/\/www.npmjs.com\/package\/capskip\" rel=\"noopener nofollow\" target=\"_blank\">npm<\/a>\n\t\t\t\t\t\t\t<a class=\"csk-pill\" href=\"https:\/\/github.com\/capskip\/capskip-node\" rel=\"noopener nofollow\" target=\"_blank\">GitHub<\/a>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div class=\"csk-step\">\n\t\t\t\t\t\t<span class=\"csk-step-num csk-step-num--icon\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 3 20 7.5v9L12 21l-8-4.5v-9zM4 7.5l8 4.5 8-4.5M12 12v9\"\/><path class=\"a\" d=\"M8 5.25l8 4.5\"\/><\/svg><\/span>\t\t\t\t\t\t<div class=\"csk-step-body\">\n\t\t\t\t\t\t\t<h3>Install the SDK<\/h3>\n\t\t\t\t\t\t\t<div class=\"csk-code csk-code-bash\"><div class=\"csk-code-bar\"><span class=\"csk-code-lang\">Terminal<\/span><button type=\"button\" class=\"csk-copy\" aria-label=\"Copy code\">Copy<\/button><\/div><pre><code>npm install capskip<\/code><\/pre><\/div>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div class=\"csk-step\">\n\t\t\t\t\t\t<span class=\"csk-step-num csk-step-num--icon\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M8.5 7l-5 5 5 5M15.5 7l5 5-5 5\"\/><path class=\"a\" d=\"M13.5 4.5l-3 15\"\/><\/svg><\/span>\t\t\t\t\t\t<div class=\"csk-step-body\">\n\t\t\t\t\t\t\t<h3>Solve your first captcha<\/h3>\n\t\t\t\t\t\t\t<div class=\"csk-code csk-code-javascript\"><div class=\"csk-code-bar\"><span class=\"csk-code-lang\">JavaScript<\/span><button type=\"button\" class=\"csk-copy\" aria-label=\"Copy code\">Copy<\/button><\/div><pre><code>const { CapSkip } = require(&#039;capskip&#039;);\n\nconst solver = new CapSkip({ host: &#039;127.0.0.1&#039;, port: 8080 });\n\n(async () =&gt; {\n  const result = await solver.recaptcha(\n    &#039;YOUR_SITEKEY&#039;,\n    &#039;https:\/\/example.com\/page-with-recaptcha&#039;,\n  );\n\n  console.log(result.code); \/\/ g-recaptcha-response token\n})();<\/code><\/pre><\/div>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div class=\"csk-step\">\n\t\t\t\t\t\t<span class=\"csk-step-num csk-step-num--icon\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M3.5 12l8.5 4.5 8.5-4.5M3.5 16l8.5 4.5 8.5-4.5\"\/><path class=\"a\" d=\"M12 3.5 20.5 8 12 12.5 3.5 8z\"\/><\/svg><\/span>\t\t\t\t\t\t<div class=\"csk-step-body\">\n\t\t\t\t\t\t\t<h3>Go further<\/h3>\n\t\t\t\t\t\t\t<div class=\"csk-code csk-code-javascript\"><div class=\"csk-code-bar\"><span class=\"csk-code-lang\">JavaScript<\/span><button type=\"button\" class=\"csk-copy\" aria-label=\"Copy code\">Copy<\/button><\/div><pre><code>const { CapSkip } = require(&#039;capskip&#039;);\n\nconst solver = new CapSkip();\n\nconst [r1, r2] = await Promise.all([\n  solver.recaptcha(&#039;...&#039;, &#039;https:\/\/a.com&#039;),\n  solver.turnstile(&#039;...&#039;, &#039;https:\/\/b.com&#039;),\n]);\n\nconsole.log(r1.code, r2.code);<\/code><\/pre><\/div>\t\t\t\t\t\t\t<a class=\"csk-btn csk-btn-primary csk-btn-sm\" href=\"https:\/\/github.com\/capskip\/capskip-node#documentation\" rel=\"noopener nofollow\" target=\"_blank\">\n\t\t\t\t\t\t\t\tFull tutorial and API reference on GitHub &rarr;\n\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"csk-panel\"\n\t\t\t\t\tid=\"csk-panel-php\"\n\t\t\t\t\trole=\"tabpanel\"\n\t\t\t\t\tstyle=\"--csk-icon: #777bb4;\">\n\n\t\t\t\t\t<div class=\"csk-panel-head\">\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<h2>PHP SDK<\/h2>\n\t\t\t\t\t\t\t<p>PHP 8.0+<\/p>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"csk-panel-links\">\n\t\t\t\t\t\t\t<a class=\"csk-pill\" href=\"https:\/\/packagist.org\/packages\/capskip\/capskip\" rel=\"noopener nofollow\" target=\"_blank\">Packagist<\/a>\n\t\t\t\t\t\t\t<a class=\"csk-pill\" href=\"https:\/\/github.com\/capskip\/capskip-php\" rel=\"noopener nofollow\" target=\"_blank\">GitHub<\/a>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div class=\"csk-step\">\n\t\t\t\t\t\t<span class=\"csk-step-num csk-step-num--icon\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 3 20 7.5v9L12 21l-8-4.5v-9zM4 7.5l8 4.5 8-4.5M12 12v9\"\/><path class=\"a\" d=\"M8 5.25l8 4.5\"\/><\/svg><\/span>\t\t\t\t\t\t<div class=\"csk-step-body\">\n\t\t\t\t\t\t\t<h3>Install the SDK<\/h3>\n\t\t\t\t\t\t\t<div class=\"csk-code csk-code-bash\"><div class=\"csk-code-bar\"><span class=\"csk-code-lang\">Terminal<\/span><button type=\"button\" class=\"csk-copy\" aria-label=\"Copy code\">Copy<\/button><\/div><pre><code>composer require capskip\/capskip<\/code><\/pre><\/div>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div class=\"csk-step\">\n\t\t\t\t\t\t<span class=\"csk-step-num csk-step-num--icon\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M8.5 7l-5 5 5 5M15.5 7l5 5-5 5\"\/><path class=\"a\" d=\"M13.5 4.5l-3 15\"\/><\/svg><\/span>\t\t\t\t\t\t<div class=\"csk-step-body\">\n\t\t\t\t\t\t\t<h3>Solve your first captcha<\/h3>\n\t\t\t\t\t\t\t<div class=\"csk-code csk-code-php\"><div class=\"csk-code-bar\"><span class=\"csk-code-lang\">PHP<\/span><button type=\"button\" class=\"csk-copy\" aria-label=\"Copy code\">Copy<\/button><\/div><pre><code>&lt;?php\n\nrequire &#039;vendor\/autoload.php&#039;;\n\nuse CapSkip\\CapSkip;\n\n$solver = new CapSkip([&#039;host&#039; =&gt; &#039;127.0.0.1&#039;, &#039;port&#039; =&gt; 8080]);\n\n$result = $solver-&gt;recaptcha(\n    &#039;YOUR_SITEKEY&#039;,\n    &#039;https:\/\/example.com\/page-with-recaptcha&#039;\n);\n\necho $result[&#039;code&#039;]; \/\/ g-recaptcha-response token<\/code><\/pre><\/div>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div class=\"csk-step\">\n\t\t\t\t\t\t<span class=\"csk-step-num csk-step-num--icon\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M3.5 12l8.5 4.5 8.5-4.5M3.5 16l8.5 4.5 8.5-4.5\"\/><path class=\"a\" d=\"M12 3.5 20.5 8 12 12.5 3.5 8z\"\/><\/svg><\/span>\t\t\t\t\t\t<div class=\"csk-step-body\">\n\t\t\t\t\t\t\t<h3>Go further<\/h3>\n\t\t\t\t\t\t\t<div class=\"csk-code csk-code-php\"><div class=\"csk-code-bar\"><span class=\"csk-code-lang\">PHP<\/span><button type=\"button\" class=\"csk-copy\" aria-label=\"Copy code\">Copy<\/button><\/div><pre><code>&lt;?php\n\/\/ reCAPTCHA v3\n$v3 = $solver-&gt;recaptcha(&#039;...&#039;, &#039;https:\/\/example.com&#039;, [\n    &#039;version&#039; =&gt; &#039;v3&#039;,\n    &#039;action&#039;  =&gt; &#039;submit&#039;,\n    &#039;score&#039;   =&gt; 0.7,\n]);\n\necho $v3[&#039;code&#039;];<\/code><\/pre><\/div>\t\t\t\t\t\t\t<a class=\"csk-btn csk-btn-primary csk-btn-sm\" href=\"https:\/\/github.com\/capskip\/capskip-php#documentation\" rel=\"noopener nofollow\" target=\"_blank\">\n\t\t\t\t\t\t\t\tFull tutorial and API reference on GitHub &rarr;\n\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"csk-panel\"\n\t\t\t\t\tid=\"csk-panel-dotnet\"\n\t\t\t\t\trole=\"tabpanel\"\n\t\t\t\t\tstyle=\"--csk-icon: #512bd4;\">\n\n\t\t\t\t\t<div class=\"csk-panel-head\">\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<h2>.NET \/ C# SDK<\/h2>\n\t\t\t\t\t\t\t<p>.NET Standard 2.0+<\/p>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"csk-panel-links\">\n\t\t\t\t\t\t\t<a class=\"csk-pill\" href=\"https:\/\/www.nuget.org\/packages\/CapSkip\" rel=\"noopener nofollow\" target=\"_blank\">NuGet<\/a>\n\t\t\t\t\t\t\t<a class=\"csk-pill\" href=\"https:\/\/github.com\/capskip\/capskip-dotnet\" rel=\"noopener nofollow\" target=\"_blank\">GitHub<\/a>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div class=\"csk-step\">\n\t\t\t\t\t\t<span class=\"csk-step-num csk-step-num--icon\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 3 20 7.5v9L12 21l-8-4.5v-9zM4 7.5l8 4.5 8-4.5M12 12v9\"\/><path class=\"a\" d=\"M8 5.25l8 4.5\"\/><\/svg><\/span>\t\t\t\t\t\t<div class=\"csk-step-body\">\n\t\t\t\t\t\t\t<h3>Install the SDK<\/h3>\n\t\t\t\t\t\t\t<div class=\"csk-code csk-code-bash\"><div class=\"csk-code-bar\"><span class=\"csk-code-lang\">Terminal<\/span><button type=\"button\" class=\"csk-copy\" aria-label=\"Copy code\">Copy<\/button><\/div><pre><code>dotnet add package CapSkip<\/code><\/pre><\/div>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div class=\"csk-step\">\n\t\t\t\t\t\t<span class=\"csk-step-num csk-step-num--icon\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M8.5 7l-5 5 5 5M15.5 7l5 5-5 5\"\/><path class=\"a\" d=\"M13.5 4.5l-3 15\"\/><\/svg><\/span>\t\t\t\t\t\t<div class=\"csk-step-body\">\n\t\t\t\t\t\t\t<h3>Solve your first captcha<\/h3>\n\t\t\t\t\t\t\t<div class=\"csk-code csk-code-csharp\"><div class=\"csk-code-bar\"><span class=\"csk-code-lang\">C#<\/span><button type=\"button\" class=\"csk-copy\" aria-label=\"Copy code\">Copy<\/button><\/div><pre><code>using CapSkip;\n\nvar solver = new CapSkipClient(host: &quot;127.0.0.1&quot;, port: 8080);\n\nvar result = await solver.RecaptchaAsync(\n    &quot;YOUR_SITEKEY&quot;,\n    &quot;https:\/\/example.com\/page-with-recaptcha&quot;);\n\nConsole.WriteLine(result.Code); \/\/ g-recaptcha-response token<\/code><\/pre><\/div>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div class=\"csk-step\">\n\t\t\t\t\t\t<span class=\"csk-step-num csk-step-num--icon\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M3.5 12l8.5 4.5 8.5-4.5M3.5 16l8.5 4.5 8.5-4.5\"\/><path class=\"a\" d=\"M12 3.5 20.5 8 12 12.5 3.5 8z\"\/><\/svg><\/span>\t\t\t\t\t\t<div class=\"csk-step-body\">\n\t\t\t\t\t\t\t<h3>Go further<\/h3>\n\t\t\t\t\t\t\t<div class=\"csk-code csk-code-csharp\"><div class=\"csk-code-bar\"><span class=\"csk-code-lang\">C#<\/span><button type=\"button\" class=\"csk-copy\" aria-label=\"Copy code\">Copy<\/button><\/div><pre><code>using CapSkip;\n\nvar solver = new CapSkipClient();\n\n\/\/ reCAPTCHA v3\nvar v3 = await solver.RecaptchaAsync(&quot;...&quot;, &quot;https:\/\/example.com&quot;,\n    new Dictionary&lt;string, object?&gt;\n    {\n        [&quot;version&quot;] = &quot;v3&quot;,\n        [&quot;action&quot;]  = &quot;submit&quot;,\n        [&quot;score&quot;]   = 0.7,\n    });\n\nConsole.WriteLine(v3.Code);<\/code><\/pre><\/div>\t\t\t\t\t\t\t<a class=\"csk-btn csk-btn-primary csk-btn-sm\" href=\"https:\/\/github.com\/capskip\/capskip-dotnet#documentation\" rel=\"noopener nofollow\" target=\"_blank\">\n\t\t\t\t\t\t\t\tFull tutorial and API reference on GitHub &rarr;\n\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/section>\n\t<\/div>\n\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-24150","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/capskip.com\/zh\/wp-json\/wp\/v2\/pages\/24150","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/capskip.com\/zh\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/capskip.com\/zh\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/capskip.com\/zh\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/capskip.com\/zh\/wp-json\/wp\/v2\/comments?post=24150"}],"version-history":[{"count":4,"href":"https:\/\/capskip.com\/zh\/wp-json\/wp\/v2\/pages\/24150\/revisions"}],"predecessor-version":[{"id":25694,"href":"https:\/\/capskip.com\/zh\/wp-json\/wp\/v2\/pages\/24150\/revisions\/25694"}],"wp:attachment":[{"href":"https:\/\/capskip.com\/zh\/wp-json\/wp\/v2\/media?parent=24150"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}