{"id":24532,"date":"2026-07-27T17:35:33","date_gmt":"2026-07-27T17:35:33","guid":{"rendered":"https:\/\/capskip.com\/php-captcha-solver\/"},"modified":"2026-10-11T06:16:26","modified_gmt":"2026-10-11T06:16:26","slug":"php-captcha-solver","status":"publish","type":"page","link":"https:\/\/capskip.com\/zh\/php-captcha-solver\/","title":{"rendered":"PHP \u9a8c\u8bc1\u7801\u8bc6\u522b"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"24532\" class=\"elementor elementor-24532\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7e3f287e e-flex e-con-boxed e-con e-parent\" data-id=\"7e3f287e\" 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-67baff18 elementor-widget elementor-widget-shortcode\" data-id=\"67baff18\" 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\">\t\t<div class=\"capskip-landing capskip-landing--language\" id=\"capskip-landing\">\n\n\t\t\t<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=\"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>PHP SDK<\/span><h1 class=\"cskl-hero__title\">PHP CAPTCHA Solver for Laravel, Symfony and Plain cURL<\/h1><p class=\"cskl-hero__lead\">One Composer package turns reCAPTCHA, Turnstile and GeeTest checks, or the text in a CAPTCHA image, into values your cURL, Guzzle or Laravel code can post. CapSkip does the solving on hardware you control.<\/p><div class=\"cskl-hero__cta\"><a class=\"cskl-btn cskl-btn--go\" href=\"https:\/\/capskip.com\/zh\/product\/trial-license\/\">Start free trial <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--ghost\" href=\"#licenses\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M3.5 16.5a4 4 0 1 0 8 0 4 4 0 1 0-8 0M10.4 13.6 20 4\"\/><path class=\"a\" d=\"M17 7l2.5 2.5M14.5 9.5l2 2\"\/><\/svg>Buy a license<\/a><a class=\"cskl-btn cskl-btn--ghost\" href=\"https:\/\/github.com\/capskip\/capskip-php\" target=\"_blank\" rel=\"noopener nofollow\"><svg class=\"cskl-winglyph\" viewBox=\"0 0 16 16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27s1.36.09 2 .27c1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8z\"\/><\/svg>View on GitHub<\/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\">PHP 8.0 and newer<\/li><li class=\"cskl-chip\">Only curl and json<\/li><li class=\"cskl-chip\">Unmetered queue workers<\/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\"><span class=\"cskl-mock__lang\">PHP<\/span><\/div><pre class=\"cskl-mock__pre\"><code>$solver = new CapSkip();\n$token  = $solver-&gt;recaptcha([\n    &#039;sitekey&#039; =&gt; &#039;6Le-wvkS\u2026&#039;,\n    &#039;url&#039;     =&gt; &#039;example.com\/signup&#039;,\n]);<\/code><\/pre><div class=\"cskl-mock__out\"><span class=\"cskl-mock__ok\">&#10003;<\/span><code>03AGdBq27\u2026<\/code><span class=\"cskl-mock__meta\">0.12s &middot; $0.00<\/span><\/div><\/div><\/div><div class=\"cskl-cost\" data-cskl-cost data-rate=\"1.40\" data-price=\"35\" data-min=\"40000\" 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>40,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=\"40000\" max=\"250000\" step=\"1000\" value=\"40000\" autocomplete=\"off\" data-cskl-slider aria-label=\"CAPTCHAs a month\"><\/div><div class=\"cskl-track__sc\"><span>40.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>56.00<\/span><\/b><\/div><div class=\"cskl-bar__rail\"><i data-cskl-thembar style=\"width:16.00%\"><\/i><\/div><\/div><div class=\"cskl-bar cskl-bar--us\"><div class=\"cskl-bar__lb\"><span>CapSkip Bronze, flat<\/span><b>$35.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>21.00<\/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><a class=\"\" href=\"https:\/\/capskip.com\/zh\/aws-waf-captcha-solver\/\">AWS WAF<\/a><a class=\"\" href=\"https:\/\/capskip.com\/zh\/datadome-solver\/\">DataDome<\/a><a class=\"\" href=\"https:\/\/capskip.com\/zh\/mtcaptcha-solver\/\">MTCaptcha<\/a><a class=\"\" href=\"https:\/\/capskip.com\/zh\/hcaptcha-solver\/\">hCaptcha<\/a><\/div><\/div><\/header>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<section class=\"cskl-intro\">\n\t\t\t\t\t<div class=\"cskl-intro__stage\" aria-hidden=\"true\">\n\t\t\t\t\t\t<span class=\"cskl-intro__ring\"><\/span>\n\t\t\t\t\t\t<span class=\"cskl-intro__ring cskl-intro__ring--outer\"><\/span>\n\t\t\t\t\t\t<span class=\"cskl-intro__orbit\"><i><\/i><\/span>\n\t\t\t\t\t\t<span class=\"cskl-intro__orbit cskl-intro__orbit--outer\"><i><\/i><\/span>\n\t\t\t\t\t\t<span class=\"cskl-intro__float\">\n\t\t\t\t\t\t\t<span class=\"cskl-intro__halo\"><\/span>\n\t\t\t\t\t\t\t<span class=\"cskl-intro__tile\"><span class=\"cskl-mark cskl-mark--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><\/span>\n\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"cskl-intro__copy\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p>Every PHP CAPTCHA solver exists for one awkward moment: your cURL handle or Guzzle client asks for a page and gets a challenge back instead of the markup it was built to parse. Install capskip\/capskip with Composer and that challenge goes to the CapSkip desktop app, running on Windows hardware you own or rent, which sends back a reCAPTCHA or Turnstile token, a GeeTest v3 answer, or the text of an image, ready for your next POST.<\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p>The client keeps your vendor folder lean: it asks for PHP 8.0 or newer with the curl and json extensions and installs nothing else. Each challenge family gets its own method, so recaptcha() handles v2, v3 and Enterprise, turnstile() covers both the embedded widget and Cloudflare's full-page check, geetest() takes the v3 slider, normal() reads distorted text in about 0.1 seconds, and altcha(), capy(), captchafox(), friendlyCaptcha() and amazonWaf() round out the list.<\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p>Your PHP can keep running wherever it runs today. Set the client's host option to the machine with CapSkip, and every server, container or cron box that can reach it solves through one flat license from $35 a month. Nothing on the invoice depends on how many forms you submit.<\/p>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t\t\n\t\t\t\t\t\t\t\t\t<section class=\"cskl-callout\">\n\t\t\t\t<span class=\"cskl-callout__icon\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M13.25 2.75 5.25 13.25h6.5l-1 8 8-10.5h-6.5z\"\/><\/svg><\/span>\n\t\t\t\t\t\t\t\t<p><strong>Keep CAPTCHA work out of the request cycle.<\/strong> Each solve holds its PHP process until the answer arrives, so dispatch it to a queue job or a cron script and let your pages respond at normal speed. Start as many workers as the solver machine can feed: the plan is flat, so extra processes add nothing to the bill. <a href=\"https:\/\/capskip.com\/laravel-queue-captcha\/\">Read the Laravel queue guide<\/a><\/p>\n\t\t\t\t\t\t\t<\/section>\n\n\t\t\t\t\t\t<section class=\"cskl-section cskl-features\" aria-label=\"Why CapSkip\">\n\t\t\t\t<div class=\"cskl-section__head\">\n\t\t\t\t\t<h2>Built for Composer projects and PHP workers<\/h2>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"cskl-feature-grid\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"cskl-feature\">\n\t\t\t\t\t\t\t<span class=\"cskl-feature__icon\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M9 3v4M15 3v4M6.5 7h11v3.5a5.5 5.5 0 0 1-11 0z\"\/><path class=\"a\" d=\"M12 16v5\"\/><\/svg><\/span>\n\t\t\t\t\t\t\t<h3>Two PHP extensions, nothing else<\/h3>\n\t\t\t\t\t\t\t<p>The package needs PHP 8.0 or newer with curl and json enabled. It adds no other runtime dependency, so it never fights the versions your framework already locks in composer.lock.<\/p>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"cskl-feature\">\n\t\t\t\t\t\t\t<span class=\"cskl-feature__icon\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 12c-1.9-2.5-3.6-3.75-5.25-3.75a3.75 3.75 0 0 0 0 7.5C8.4 15.75 10.1 14.5 12 12zm0 0c1.9 2.5 3.6 3.75 5.25 3.75a3.75 3.75 0 0 0 0-7.5C15.6 8.25 13.9 9.5 12 12z\"\/><\/svg><\/span>\n\t\t\t\t\t\t\t<h3>Every queue worker on one license<\/h3>\n\t\t\t\t\t\t\t<p>Artisan commands, cron runs and long-lived workers all draw from the same unmetered plan. More processes raise throughput up to what the machine can handle, while the monthly price stays put.<\/p>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"cskl-feature\">\n\t\t\t\t\t\t\t<span class=\"cskl-feature__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>\n\t\t\t\t\t\t\t<h3>At home in Laravel and Symfony<\/h3>\n\t\t\t\t\t\t\t<p>Register a single CapSkip instance as a singleton in a Laravel service provider or as a Symfony service. With no framework ties, a bare PHP script uses it just as easily.<\/p>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"cskl-feature\">\n\t\t\t\t\t\t\t<span class=\"cskl-feature__icon\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M4 8h15M15.5 4.5 19 8l-3.5 3.5M20 16H5M8.5 12.5 5 16l3.5 3.5\"\/><\/svg><\/span>\n\t\t\t\t\t\t\t<h3>Answers shaped for Guzzle and cURL<\/h3>\n\t\t\t\t\t\t\t<p>Take $result['code'] and drop it into Guzzle form_params or your CURLOPT_POSTFIELDS array, keyed by whatever field name the target form submits, g-recaptcha-response being the usual one.<\/p>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"cskl-feature\">\n\t\t\t\t\t\t\t<span class=\"cskl-feature__icon\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M5.5 4h13a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3h-13a3 3 0 0 1-3-3v-10a3 3 0 0 1 3-3zM2.5 8.5h19M5.75 6.25h.01M8.24 6.25h.01\"\/><path class=\"a\" d=\"M9.5 11.5l6.5 2.4-2.8 1.2-1.2 2.8z\"\/><\/svg><\/span>\n\t\t\t\t\t\t\t<h3>Pairs with Panther and php-webdriver<\/h3>\n\t\t\t\t\t\t\t<p>When a site expects a real browser, drive it with Symfony Panther or php-webdriver, let CapSkip solve the challenge, then inject the returned token into the form before you click submit.<\/p>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"cskl-feature\">\n\t\t\t\t\t\t\t<span class=\"cskl-feature__icon\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M3 12a9 9 0 1 0 18 0 9 9 0 1 0-18 0\"\/><path class=\"a\" d=\"M12 7.5V12l3 2\"\/><\/svg><\/span>\n\t\t\t\t\t\t\t<h3>Blocking calls with a 300-second ceiling<\/h3>\n\t\t\t\t\t\t\t<p>Every call is synchronous, and a reCAPTCHA solve may keep polling for up to 300 seconds by default. That suits CLI processes and queue jobs far better than a web request with a short time limit.<\/p>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t<\/section>\n\n\t\t\t\t\t\t<section class=\"cskl-section cskl-ways\" aria-label=\"How to integrate\">\n\t\t\t\t<div class=\"cskl-section__head\">\n\t\t\t\t\t<h2>Three routes from a PHP project to CapSkip<\/h2>\n\t\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t\t\t\t<div class=\"cskl-codewrap\">\n\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\/\/ composer require capskip\/capskip\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\t\t\t\t\t\t\t<p class=\"cskl-code-caption\">Replace YOUR_SITEKEY and the example URL with your target, run the file from the command line, and it prints a reCAPTCHA token for your form post.<\/p>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t<div class=\"cskl-ways-grid\">\n\t\t\t\t\t<div class=\"cskl-way\">\n\t\t\t\t\t\t<span class=\"cskl-way__icon\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M8.25 6.75V5.25a2 2 0 0 1 4 0v1.5h3.5a1.5 1.5 0 0 1 1.5 1.5v3.5h1.5a2 2 0 0 1 0 4h-1.5v3.5a1.5 1.5 0 0 1-1.5 1.5h-3.5v-1.5a2 2 0 0 0-4 0v1.5h-3.5a1.5 1.5 0 0 1-1.5-1.5v-3.5h1.5a2 2 0 0 0 0-4h-1.5v-3.5a1.5 1.5 0 0 1 1.5-1.5z\"\/><\/svg><\/span>\n\t\t\t\t\t\t<h3>Browser extension for manual sessions<\/h3>\n\t\t\t\t\t\t<p>When you are the one clicking through a site, say while testing your own signup form, the Chrome or Firefox add-on lets the running CapSkip app clear each challenge, no PHP needed.<\/p>\n\t\t\t\t\t\t<div class=\"cskl-way__links\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/chromewebstore.google.com\/detail\/capskip-%E2%80%93-unlimited-captc\/mgciphejglphomemchljofgoeakdfccl\" rel=\"noopener nofollow\" target=\"_blank\">Chrome<\/a>\n\t\t\t\t\t\t\t\t<a href=\"https:\/\/addons.mozilla.org\/en-US\/firefox\/addon\/capskip-captcha-solver\/\" rel=\"noopener nofollow\" target=\"_blank\">Firefox<\/a>\n\t\t\t\t\t\t\t\t<a href=\"https:\/\/capskip.com\/zh\/extension-guide\/\">Extension guide<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"cskl-way\">\n\t\t\t\t\t\t<span class=\"cskl-way__icon\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M5.5 4h13a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3h-13a3 3 0 0 1-3-3v-10a3 3 0 0 1 3-3zM7 9.5l3 2.5-3 2.5\"\/><path class=\"a\" d=\"M12.5 15H17\"\/><\/svg><\/span>\n\t\t\t\t\t\t<h3>The Composer SDK for your code<\/h3>\n\t\t\t\t\t\t<p>Require capskip\/capskip, then pick the method that matches each challenge from scripts, commands and workers. Sibling clients exist for Python, Node.js and .NET when other services need one.<\/p>\n\t\t\t\t\t\t<div class=\"cskl-way__links\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/capskip.com\/zh\/captcha-solving-sdk\/\">All SDKs<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/capskip.com\/api-docs\/#recaptcha-v2\">API reference<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"cskl-way\">\n\t\t\t\t\t\t<span class=\"cskl-way__icon\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M9 3v4M15 3v4M6.5 7h11v3.5a5.5 5.5 0 0 1-11 0z\"\/><path class=\"a\" d=\"M12 16v5\"\/><\/svg><\/span>\n\t\t\t\t\t\t<h3>Local API for inherited 2Captcha code<\/h3>\n\t\t\t\t\t\t<p>A PHP class built around the 2Captcha or Anti-Captcha API keeps sending its requests unchanged: the CapSkip app speaks those formats and answers from your own machine.<\/p>\n\t\t\t\t\t\t<div class=\"cskl-way__links\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/capskip.com\/zh\/api-docs\/\">API docs<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/capskip.com\/zh\/2captcha-api-alternative\/\">2Captcha API emulation<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/section>\n\n\t\t\t\t\t\t\t\t\t\t<section class=\"cskl-demo\">\n\t\t\t\t\t<div class=\"cskl-demo__text\">\n\t\t\t\t\t\t<h2>Try the PHP client against a live reCAPTCHA<\/h2>\n\t\t\t\t\t\t<p>Our reCAPTCHA v2 demo page loads the real widget. Aim the snippet above at it, run it from your terminal, and a working token prints out, long before you point it at a production site.<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"cskl-demo__cta\">\n\t\t\t\t\t\t<a class=\"cskl-btn cskl-btn--primary\" href=\"https:\/\/capskip.com\/captcha-demo\/recaptcha-v2\/\">Try a live reCAPTCHA demo <svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M4.5 12h15M13.5 6l6 6-6 6\"\/><\/svg><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"cskl-btn cskl-btn--ghost\" href=\"https:\/\/capskip.com\/zh\/captcha-demo\/\">All CAPTCHA demos<\/a>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t\t\n\t\t\t\t\t\t<section class=\"cskl-section cskl-how\" aria-label=\"How to solve\">\n\t\t\t\t<div class=\"cskl-section__head\">\n\t\t\t\t\t<h2>From composer require to your first token<\/h2>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<ol class=\"cskl-steps\">\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<span class=\"cskl-steps__num cskl-steps__num--icon\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 4v11M7 10.5l5 5 5-5M5 20h14\"\/><\/svg><\/span>\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h3>Set up the solver machine<\/h3>\n\t\t\t\t\t\t\t<p>Pick one Windows desktop or VPS that your PHP hosts can reach and install CapSkip there. It then handles the solving for every server, container and cron job you point at it. <a href=\"https:\/\/capskip.com\/download-capskip\/\">Download the installer<\/a><\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<span class=\"cskl-steps__num cskl-steps__num--icon\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M14 4h3.5A2.5 2.5 0 0 1 20 6.5v11a2.5 2.5 0 0 1-2.5 2.5H14M4 12h10.5M10.5 8l4 4-4 4\"\/><\/svg><\/span>\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h3>Sign in with a trial or a plan<\/h3>\n\t\t\t\t\t\t\t<p>Use the login from the trial (500 solves, a 3-day window, no card required) or from a monthly plan. Every tier unlocks the same CAPTCHA types. <a href=\"https:\/\/capskip.com\/product\/trial-license\/\">Get the free trial<\/a><\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<span class=\"cskl-steps__num cskl-steps__num--icon\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M4 20 14 10\"\/><path class=\"a\" d=\"M17.5 3.5l.95 2.05 2.05.95-2.05.95-.95 2.05-.95-2.05-2.05-.95 2.05-.95zM10.5 4v2.5M9.25 5.25h2.5\"\/><\/svg><\/span>\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h3>Require the package and solve<\/h3>\n\t\t\t\t\t\t\t<p>Run composer require capskip\/capskip, create one client with the solver host, and call the method for your challenge from a CLI script or a queue job. <a href=\"https:\/\/capskip.com\/api-docs\/\">Browse the API docs<\/a><\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/li>\n\t\t\t\t<\/ol>\n\t\t\t<\/section>\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<section class=\"cskl-section cskl-compare\" aria-label=\"Comparison\">\n\t\t\t\t\t<div class=\"cskl-section__head\">\n\t\t\t\t\t\t<h2>A local PHP solver next to 2Captcha and CapSolver<\/h2>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"cskl-section__sub\">How the CapSkip Composer client measures up against the per-solve services many PHP projects begin with.<\/p>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"cskl-table-scroll\">\n\t\t\t\t\t\t<table class=\"cskl-table\">\n\t\t\t\t\t\t\t<thead>\n\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t<th scope=\"col\">Feature<\/th>\n\t\t\t\t\t\t\t\t\t<th scope=\"col\" class=\"is-us\">CapSkip<\/th>\n\t\t\t\t\t\t\t\t\t<th scope=\"col\">2Captcha \/ CapSolver<\/th>\n\t\t\t\t\t\t\t\t<\/tr>\n\t\t\t\t\t\t\t<\/thead>\n\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t<th scope=\"row\">What you pay for<\/th>\n\t\t\t\t\t\t\t\t\t\t<td class=\"is-us\">One monthly fee from $35, solves never counted<\/td>\n\t\t\t\t\t\t\t\t\t\t<td>Each solve, priced per 1,000<\/td>\n\t\t\t\t\t\t\t\t\t<\/tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t<th scope=\"row\">Where challenges get solved<\/th>\n\t\t\t\t\t\t\t\t\t\t<td class=\"is-us\">Inside the CapSkip app, on hardware you run<\/td>\n\t\t\t\t\t\t\t\t\t\t<td>Remote API servers or a human solving farm<\/td>\n\t\t\t\t\t\t\t\t\t<\/tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t<th scope=\"row\">Bill as your queue grows<\/th>\n\t\t\t\t\t\t\t\t\t\t<td class=\"is-us\">Unchanged, whatever the job count<\/td>\n\t\t\t\t\t\t\t\t\t\t<td>Climbs with every job that meets a CAPTCHA<\/td>\n\t\t\t\t\t\t\t\t\t<\/tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t<th scope=\"row\">Who sees the challenge<\/th>\n\t\t\t\t\t\t\t\t\t\t<td class=\"is-us\">Only your own machines<\/td>\n\t\t\t\t\t\t\t\t\t\t<td>A third-party service receives it<\/td>\n\t\t\t\t\t\t\t\t\t<\/tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t<th scope=\"row\">Parallel PHP workers<\/th>\n\t\t\t\t\t\t\t\t\t\t<td class=\"is-us\">No thread cap; your server sets the pace<\/td>\n\t\t\t\t\t\t\t\t\t\t<td>More throughput means paying for more solves<\/td>\n\t\t\t\t\t\t\t\t\t<\/tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t<th scope=\"row\">Getting it into PHP<\/th>\n\t\t\t\t\t\t\t\t\t\t<td class=\"is-us\">composer require capskip\/capskip, or keep a 2Captcha client<\/td>\n\t\t\t\t\t\t\t\t\t\t<td>The vendor's own client library<\/td>\n\t\t\t\t\t\t\t\t\t<\/tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t<th scope=\"row\">Image CAPTCHA turnaround<\/th>\n\t\t\t\t\t\t\t\t\t\t<td class=\"is-us\">Roughly 0.1 seconds, solved on the spot<\/td>\n\t\t\t\t\t\t\t\t\t\t<td>A network round trip plus queue time<\/td>\n\t\t\t\t\t\t\t\t\t<\/tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/tbody>\n\t\t\t\t\t\t<\/table>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t<section class=\"cskl-section cskl-pricing\" id=\"licenses\" aria-label=\"Licenses\">\n\t\t\t\t<section class=\"cskpr cskpr--compact\" data-no-translation><div class=\"cskpr-in\"><div class=\"cskpr-head\"><p class=\"cskpr-eyebrow\"><span class=\"cskpr-dot\"><\/span>\u4ef7\u683c<\/p><h2 class=\"cskpr-h2\">\u4e0d\u518d<em>\u6309\u6b21\u4ed8\u8d39<\/em><\/h2><\/div><div class=\"cskpr-card\"><p class=\"cskpr-lab\">\u9009\u62e9\u4f60\u7684\u6388\u6743<\/p><div class=\"cskpr-tiers\" role=\"group\" aria-label=\"\u9009\u62e9\u4f60\u7684\u6388\u6743\"><button type=\"button\" class=\"cskpr-tier is-on\" data-i=\"0\" aria-pressed=\"true\"><span class=\"cskpr-marktile\"><svg class=\"cskpr-mark\" viewBox=\"0 0 90 90\" width=\"44\" height=\"44\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M20 0H70A20 20 0 0 1 90 20V70A20 20 0 0 1 70 90H0V20A20 20 0 0 1 20 0Z\" fill=\"#d08848\"\/><path d=\"M20 42V30A25 20 0 0 1 70 30A5 5 0 0 1 60 30A15 10 0 0 0 30 30V42Z\" fill=\"#0a0e14\"\/><rect x=\"15\" y=\"40\" width=\"60\" height=\"35\" rx=\"5\" fill=\"#0a0e14\"\/><path d=\"M45 45A10 10 0 0 1 50 63.66V65A5 5 0 0 1 40 65V63.66A10 10 0 0 1 45 45Z\" fill=\"#d08848\"\/><\/svg><\/span><span class=\"cskpr-tiertext\"><span class=\"cskpr-tiername\">\u9752\u94dc<\/span><span class=\"cskpr-dev\"><span class=\"cskpr-screens\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M5.5 4h13a3 3 0 0 1 3 3v6.5a3 3 0 0 1-3 3h-13a3 3 0 0 1-3-3v-6.5a3 3 0 0 1 3-3zM8.5 20h7M12 16.5V20\"\/><\/svg><\/span><span class=\"cskpr-devtext\">1 \u53f0\u8bbe\u5907<\/span><\/span><\/span><span class=\"cskpr-tierprice\"><span class=\"cskpr-amt\">$35<\/span><span class=\"cskpr-per\">\/ \u6708<\/span><span class=\"cskpr-pd\">\u6bcf\u53f0\u8bbe\u5907 $35<\/span><span class=\"cskpr-pf\" hidden><\/span><\/span><\/button><button type=\"button\" class=\"cskpr-tier\" data-i=\"1\"><span class=\"cskpr-badge\">2 \u500d\u541e\u5410\u91cf<\/span><span class=\"cskpr-marktile\"><svg class=\"cskpr-mark\" viewBox=\"0 0 90 90\" width=\"44\" height=\"44\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M20 0H70A20 20 0 0 1 90 20V70A20 20 0 0 1 70 90H0V20A20 20 0 0 1 20 0Z\" fill=\"#c0c0c0\"\/><path d=\"M20 42V30A25 20 0 0 1 70 30A5 5 0 0 1 60 30A15 10 0 0 0 30 30V42Z\" fill=\"#0a0e14\"\/><rect x=\"15\" y=\"40\" width=\"60\" height=\"35\" rx=\"5\" fill=\"#0a0e14\"\/><path d=\"M45 45A10 10 0 0 1 50 63.66V65A5 5 0 0 1 40 65V63.66A10 10 0 0 1 45 45Z\" fill=\"#c0c0c0\"\/><\/svg><\/span><span class=\"cskpr-tiertext\"><span class=\"cskpr-tiername\">\u767d\u94f6<\/span><span class=\"cskpr-dev\"><span class=\"cskpr-screens\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M5.5 4h13a3 3 0 0 1 3 3v6.5a3 3 0 0 1-3 3h-13a3 3 0 0 1-3-3v-6.5a3 3 0 0 1 3-3zM8.5 20h7M12 16.5V20\"\/><\/svg><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M5.5 4h13a3 3 0 0 1 3 3v6.5a3 3 0 0 1-3 3h-13a3 3 0 0 1-3-3v-6.5a3 3 0 0 1 3-3zM8.5 20h7M12 16.5V20\"\/><\/svg><\/span><span class=\"cskpr-devtext\">2 \u53f0\u8bbe\u5907<\/span><\/span><\/span><span class=\"cskpr-tierprice\"><span class=\"cskpr-amt\">$60<\/span><span class=\"cskpr-per\">\/ \u6708<\/span><span class=\"cskpr-pd is-save\">\u6bcf\u53f0\u8bbe\u5907 $30<\/span><span class=\"cskpr-pf\" hidden><\/span><\/span><\/button><button type=\"button\" class=\"cskpr-tier\" data-i=\"2\"><span class=\"cskpr-badge cskpr-badge--best\">3 \u500d\u541e\u5410\u91cf<\/span><span class=\"cskpr-marktile\"><svg class=\"cskpr-mark\" viewBox=\"0 0 90 90\" width=\"44\" height=\"44\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M20 0H70A20 20 0 0 1 90 20V70A20 20 0 0 1 70 90H0V20A20 20 0 0 1 20 0Z\" fill=\"#ffd703\"\/><path d=\"M20 42V30A25 20 0 0 1 70 30A5 5 0 0 1 60 30A15 10 0 0 0 30 30V42Z\" fill=\"#0a0e14\"\/><rect x=\"15\" y=\"40\" width=\"60\" height=\"35\" rx=\"5\" fill=\"#0a0e14\"\/><path d=\"M45 45A10 10 0 0 1 50 63.66V65A5 5 0 0 1 40 65V63.66A10 10 0 0 1 45 45Z\" fill=\"#ffd703\"\/><\/svg><\/span><span class=\"cskpr-tiertext\"><span class=\"cskpr-tiername\">\u9ec4\u91d1<\/span><span class=\"cskpr-dev\"><span class=\"cskpr-screens\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M5.5 4h13a3 3 0 0 1 3 3v6.5a3 3 0 0 1-3 3h-13a3 3 0 0 1-3-3v-6.5a3 3 0 0 1 3-3zM8.5 20h7M12 16.5V20\"\/><\/svg><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M5.5 4h13a3 3 0 0 1 3 3v6.5a3 3 0 0 1-3 3h-13a3 3 0 0 1-3-3v-6.5a3 3 0 0 1 3-3zM8.5 20h7M12 16.5V20\"\/><\/svg><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M5.5 4h13a3 3 0 0 1 3 3v6.5a3 3 0 0 1-3 3h-13a3 3 0 0 1-3-3v-6.5a3 3 0 0 1 3-3zM8.5 20h7M12 16.5V20\"\/><\/svg><\/span><span class=\"cskpr-devtext\">3 \u53f0\u8bbe\u5907<\/span><\/span><\/span><span class=\"cskpr-tierprice\"><span class=\"cskpr-amt\">$75<\/span><span class=\"cskpr-per\">\/ \u6708<\/span><span class=\"cskpr-pd is-save\">\u6bcf\u53f0\u8bbe\u5907 $25<\/span><span class=\"cskpr-pf\" hidden><\/span><\/span><\/button><\/div><div class=\"cskpr-hr2\"><\/div><div class=\"cskpr-body\"><div class=\"cskpr-buy\"><p class=\"cskpr-selrow\"><span class=\"cskpr-marktile cskpr-marktile--sm\" id=\"cskpr-selmark\"><svg class=\"cskpr-mark\" viewBox=\"0 0 90 90\" width=\"36\" height=\"36\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M20 0H70A20 20 0 0 1 90 20V70A20 20 0 0 1 70 90H0V20A20 20 0 0 1 20 0Z\" fill=\"#d08848\"\/><path d=\"M20 42V30A25 20 0 0 1 70 30A5 5 0 0 1 60 30A15 10 0 0 0 30 30V42Z\" fill=\"#0a0e14\"\/><rect x=\"15\" y=\"40\" width=\"60\" height=\"35\" rx=\"5\" fill=\"#0a0e14\"\/><path d=\"M45 45A10 10 0 0 1 50 63.66V65A5 5 0 0 1 40 65V63.66A10 10 0 0 1 45 45Z\" fill=\"#d08848\"\/><\/svg><\/span><span class=\"cskpr-selname\" id=\"cskpr-selname\">\u9752\u94dc\u6388\u6743<\/span><\/p><p class=\"cskpr-pricerow\"><s class=\"cskpr-was\" id=\"cskpr-was\" hidden><\/s><span class=\"cskpr-price\" id=\"cskpr-price\">$35<\/span><span class=\"cskpr-priceper\">\/ \u6708<\/span><\/p><p class=\"cskpr-promo\" id=\"cskpr-promo\" hidden><\/p><a class=\"cskpr-cta\" id=\"cskpr-cta\" href=\"https:\/\/capskip.com\/zh\/product\/bronze-license\/\"><span id=\"cskpr-ctatext\">\u8ba2\u9605\u9752\u94dc\u6388\u6743<\/span><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M4.5 12h15M13.5 6l6 6-6 6\"\/><\/svg><\/a><p class=\"cskpr-instant\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M13.25 2.75 5.25 13.25h6.5l-1 8 8-10.5h-6.5z\"\/><\/svg><span>\u6388\u6743\u5373\u65f6\u6fc0\u6d3b<\/span><\/p><p class=\"cskpr-fine\">\u6309\u6708\u8ba1\u8d39\uff0c\u53ef\u968f\u65f6\u5728\u8d26\u6237\u4e2d\u53d6\u6d88\u3002<\/p><\/div><div class=\"cskpr-rule2\"><\/div><div class=\"cskpr-feats\"><p class=\"cskpr-ftitle\">\u529f\u80fd\u76f8\u540c\uff0c\u673a\u5668\u8d8a\u591a\uff0c\u541e\u5410\u91cf\u8d8a\u5927\u3002<\/p><p class=\"cskpr-fsub\">\u6bcf\u53f0\u673a\u5668\u7684\u8bc6\u522b\u901f\u5ea6\u90fd\u53d7\u9650\u4e8e\u5b83\u81ea\u5df1\u7684 CPU \u548c\u5185\u5b58\u3002\u673a\u5668\u8d8a\u591a\uff0c\u540c\u65f6\u8fd0\u884c\u7684\u7ebf\u7a0b\u5c31\u8d8a\u591a\uff1a\u767d\u94f6\u53ef\u540c\u65f6\u8bc6\u522b\u4e24\u500d\u6570\u91cf\u7684\u9a8c\u8bc1\u7801\uff0c\u9ec4\u91d1\u5219\u662f\u4e09\u500d\u3002<\/p><ul class=\"cskpr-list\"><li><svg class=\"csi cskpr-ck\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M5 12.5l4.5 4.5L19 7.5\"\/><\/svg><span>\u65e0\u9650\u89e3\u51b3\uff0c\u65e0\u6bcf\u65e5\u4e0a\u9650<\/span><\/li><li><svg class=\"csi cskpr-ck\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M5 12.5l4.5 4.5L19 7.5\"\/><\/svg><span>\u65e0\u9650\u7ebf\u7a0b\uff0c\u901f\u5ea6\u968f\u786c\u4ef6\u63d0\u5347<\/span><\/li><li><svg class=\"csi cskpr-ck\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M5 12.5l4.5 4.5L19 7.5\"\/><\/svg><span>90% \u81f3 100% \u7684\u8bc6\u522b\u51c6\u786e\u7387<\/span><\/li><li><svg class=\"csi cskpr-ck\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M5 12.5l4.5 4.5L19 7.5\"\/><\/svg><span>\u53ef\u76f4\u63a5\u66ff\u4ee3\u4e3b\u6d41\u6253\u7801\u670d\u52a1\u7684 API<\/span><\/li><li><svg class=\"csi cskpr-ck\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M5 12.5l4.5 4.5L19 7.5\"\/><\/svg><span>\u51e0\u4e4e\u517c\u5bb9\u4efb\u4f55\u5de5\u5177\uff0c\u65e0\u9700\u7f16\u5199\u4ee3\u7801<\/span><\/li><li><svg class=\"csi cskpr-ck\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M5 12.5l4.5 4.5L19 7.5\"\/><\/svg><span>REST API\u3001SDK \u548c\u6d4f\u89c8\u5668\u6269\u5c55<\/span><\/li><li><svg class=\"csi cskpr-ck\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M5 12.5l4.5 4.5L19 7.5\"\/><\/svg><span>\u51fa\u73b0\u65b0\u7684\u9a8c\u8bc1\u7801\u7c7b\u578b\u65f6\u514d\u8d39\u8bad\u7ec3<\/span><\/li><li><svg class=\"csi cskpr-ck\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M5 12.5l4.5 4.5L19 7.5\"\/><\/svg><span>\u5728\u4f60\u81ea\u5df1\u7684\u673a\u5668\u4e0a\u8fd0\u884c\uff0c\u6570\u636e\u4e0d\u5916\u4f20<\/span><\/li><\/ul><p class=\"cskpr-cov\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 19.5v-15M6 10.5l6-6 6 6\"\/><\/svg><span>\u4e0a\u9762\u5c55\u793a\u7684\u6bcf\u4e00\u79cd\u9a8c\u8bc1\u7801\u7c7b\u578b\uff0c\u6bcf\u4e2a\u6388\u6743\u90fd\u652f\u6301\u3002 <a href=\"https:\/\/capskip.com\/zh\/#coverage\">\u67e5\u770b\u652f\u6301\u8303\u56f4<\/a><\/span><\/p><\/div><\/div><\/div><\/div><\/section>\n\t\t\t\t\t\t\t\t<div class=\"cskl-trialnote\">\n\t\t\t\t\t<div class=\"cskl-trialnote__text\">\n\t\t\t\t\t\t<h3>Just want to try it first?<\/h3>\n\t\t\t\t\t\t<p>Start with a free 3-day trial and solve 500 CAPTCHAs of any type on your own targets.<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<a class=\"cskl-btn cskl-btn--ghost\" href=\"https:\/\/capskip.com\/zh\/product\/trial-license\/\">Start the free trial<\/a>\n\t\t\t\t<\/div>\n\t\t\t<\/section>\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<section class=\"cskl-section cskl-related\" aria-label=\"Related pages\">\n\t\t\t<div class=\"cskl-section__head\">\n\t\t\t\t<h2>Related CAPTCHA solvers &amp; guides<\/h2>\n\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"cskl-related-grid\">\n\t\t\t\t\t\t\t\t\t<a class=\"cskl-related-card\" href=\"https:\/\/capskip.com\/zh\/recaptcha-solver\/\">\n\t\t\t\t\t\t<span class=\"cskl-related-card__icon cskl-related-card__icon--mark\"><svg class=\"csv\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><g transform=\"scale(.375)\"><path fill=\"#1c3aa9\" d=\"M64 31.955l-.033-1.37V4.687l-7.16 7.16C50.948 4.674 42.033.093 32.05.093c-10.4 0-19.622 4.96-25.458 12.64l11.736 11.86a15.55 15.55 0 0 1 4.754-5.334c2.05-1.6 4.952-2.906 8.968-2.906.485 0 .86.057 1.135.163 4.976.393 9.288 3.14 11.828 7.124l-8.307 8.307c10.522-.042 22.41-.068 27.295.004\"\/><path fill=\"#4285f4\" d=\"M31.862 0l-1.37.033H4.594l7.16 7.16C4.58 13.052 0 21.967 0 31.95c0 10.4 4.96 19.622 12.64 25.458L24.5 45.672a15.55 15.55 0 0 1-5.334-4.754c-1.6-2.05-2.906-4.952-2.906-8.968 0-.485.057-.86.163-1.135.393-4.976 3.14-9.288 7.124-11.828l8.307 8.307c-.042-10.522-.068-22.41.004-27.295\"\/><path fill=\"#ababab\" d=\"M.001 31.955l.033 1.37v25.9l7.16-7.16c5.86 7.173 14.774 11.754 24.76 11.754 10.4 0 19.622-4.96 25.458-12.64l-11.736-11.86a15.55 15.55 0 0 1-4.754 5.334c-2.05 1.6-4.952 2.906-8.968 2.906-.485 0-.86-.057-1.135-.163-4.976-.393-9.288-3.14-11.828-7.124l8.307-8.307c-10.522.042-22.41.068-27.295-.004\"\/><\/g><\/svg><\/span>\n\t\t\t\t\t\t<span class=\"cskl-related-card__body\">\n\t\t\t\t\t\t\t<span class=\"cskl-related-card__title\">reCAPTCHA Solver<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"cskl-related-card__blurb\">Bypass v2, v3 &amp; Enterprise<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t<span class=\"cskl-related-card__arrow\" aria-hidden=\"true\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M4.5 12h15M13.5 6l6 6-6 6\"\/><\/svg><\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<a class=\"cskl-related-card\" href=\"https:\/\/capskip.com\/zh\/cloudflare-turnstile-solver\/\">\n\t\t\t\t\t\t<span class=\"cskl-related-card__icon cskl-related-card__icon--mark\"><svg class=\"csv\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path fill=\"#f6821f\" d=\"M20.91 18.86H4.78C2.16 18.86 0 16.85 0 14.36c0-2.34 1.88-4.31 4.31-4.5A7.45 7.45 0 0 1 17.81 9.06a4.59 4.59 0 0 1 1.5-.23c2.44 0 4.45 1.88 4.64 4.22.05.19.05.42.05.61 0 2.86-2.44 5.2-3.09 5.2z\"\/><path fill=\"#fbad41\" d=\"M4.31 9.86A7.45 7.45 0 0 1 17.81 9.06c-2.25-.47-4.59.19-6.28 1.83-.94.94-1.55 2.11-1.78 3.38H0c0-2.34 1.88-4.31 4.31-4.41z\"\/><\/svg><\/span>\n\t\t\t\t\t\t<span class=\"cskl-related-card__body\">\n\t\t\t\t\t\t\t<span class=\"cskl-related-card__title\">Cloudflare Turnstile Solver<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"cskl-related-card__blurb\">Widget &amp; challenge page<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t<span class=\"cskl-related-card__arrow\" aria-hidden=\"true\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M4.5 12h15M13.5 6l6 6-6 6\"\/><\/svg><\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<a class=\"cskl-related-card\" href=\"https:\/\/capskip.com\/zh\/image-captcha-solver\/\">\n\t\t\t\t\t\t<span class=\"cskl-related-card__icon cskl-related-card__icon--mark\"><svg class=\"csv\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><defs><linearGradient id=\"cskic-g-1\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#5A9BFF\"\/><stop offset=\"1\" stop-color=\"#2F6FE4\"\/><\/linearGradient><clipPath id=\"cskic-c-1\"><rect x=\".5\" y=\".5\" width=\"23\" height=\"23\" rx=\"6\"\/><\/clipPath><\/defs><rect x=\".5\" y=\".5\" width=\"23\" height=\"23\" rx=\"6\" fill=\"url(#cskic-g-1)\"\/><g clip-path=\"url(#cskic-c-1)\"><path d=\"M-1 25L-0.5 26.6L5.1 20.7Q6 19.6 6.9 20.7L11.4 22L17.3 17.5Q18.2 16.4 19.1 17.5L25 23.6L25 25Z\" fill=\"#fff\" fill-opacity=\".38\"\/><\/g><path fill=\"#fff\" d=\"M8.61 4.9C4.84 4.9 2 7.57 2 11.09C2 11.97 2.17 12.79 2.49 13.54C3.33 7.13 8.65 7.29 8.65 7.29V7.31C9.85 7.31 10.99 7.9 11.7 8.84L14.23 7.71C13.08 6 11.04 4.9 8.61 4.9L8.61 4.9ZM4.76 11.11C4.48 11.79 4.02 13.05 4.44 14.39C4.57 14.81 4.91 15.7 5.93 16.54C6.29 16.83 6.69 17.04 7.11 17.2C7.58 17.31 8.09 17.36 8.61 17.36C11.02 17.36 13.04 16.26 14.2 14.55L11.68 13.43C10.97 14.37 9.83 14.97 8.65 14.97L8.67 14.93C6.66 14.93 4.77 13.22 4.76 11.11V11.11Z\"\/><circle cx=\"18.8\" cy=\"6.3\" r=\"1.65\" fill=\"#FFC83D\"\/><path fill=\"none\" d=\"M21.25 6.3L21.9 6.3M20.53 8.03L20.99 8.49M18.8 8.75L18.8 9.4M17.07 8.03L16.61 8.49M16.35 6.3L15.7 6.3M17.07 4.57L16.61 4.11M18.8 3.85L18.8 3.2M20.53 4.57L20.99 4.11\" stroke=\"#FFC83D\" stroke-width=\"0.95\" stroke-linecap=\"round\"\/><\/svg><\/span>\n\t\t\t\t\t\t<span class=\"cskl-related-card__body\">\n\t\t\t\t\t\t\t<span class=\"cskl-related-card__title\">Image CAPTCHA Solver<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"cskl-related-card__blurb\">OCR text CAPTCHAs in ~0.1s<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t<span class=\"cskl-related-card__arrow\" aria-hidden=\"true\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M4.5 12h15M13.5 6l6 6-6 6\"\/><\/svg><\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<a class=\"cskl-related-card\" href=\"https:\/\/capskip.com\/zh\/nodejs-captcha-solver\/\">\n\t\t\t\t\t\t<span class=\"cskl-related-card__icon cskl-related-card__icon--mark\"><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\t<span class=\"cskl-related-card__body\">\n\t\t\t\t\t\t\t<span class=\"cskl-related-card__title\">Node.js CAPTCHA Solver<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"cskl-related-card__blurb\">npm install capskip<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t<span class=\"cskl-related-card__arrow\" aria-hidden=\"true\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M4.5 12h15M13.5 6l6 6-6 6\"\/><\/svg><\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<a class=\"cskl-related-card\" href=\"https:\/\/capskip.com\/zh\/2captcha-api-alternative\/\">\n\t\t\t\t\t\t<span class=\"cskl-related-card__icon\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M4 8h15M15.5 4.5 19 8l-3.5 3.5M20 16H5M8.5 12.5 5 16l3.5 3.5\"\/><\/svg><\/span>\n\t\t\t\t\t\t<span class=\"cskl-related-card__body\">\n\t\t\t\t\t\t\t<span class=\"cskl-related-card__title\">2Captcha API Alternative<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"cskl-related-card__blurb\">Drop-in, flat-rate, local<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t<span class=\"cskl-related-card__arrow\" aria-hidden=\"true\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M4.5 12h15M13.5 6l6 6-6 6\"\/><\/svg><\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<a class=\"cskl-related-card\" href=\"https:\/\/capskip.com\/zh\/anti-captcha-api-alternative\/\">\n\t\t\t\t\t\t<span class=\"cskl-related-card__icon\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M4 8h15M15.5 4.5 19 8l-3.5 3.5M20 16H5M8.5 12.5 5 16l3.5 3.5\"\/><\/svg><\/span>\n\t\t\t\t\t\t<span class=\"cskl-related-card__body\">\n\t\t\t\t\t\t\t<span class=\"cskl-related-card__title\">Anti-Captcha API Alternative<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"cskl-related-card__blurb\">Same API, unlimited solving<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t<span class=\"cskl-related-card__arrow\" aria-hidden=\"true\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M4.5 12h15M13.5 6l6 6-6 6\"\/><\/svg><\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\n\t\t\t\t\t\t\t\t\t\t<div class=\"cskl-seowrap\">\n\t\t\t\t\t\t\t<div class=\"cskip-seo\">\n\t\t\t\t\t\t\t\t\t\t\t<h2 class=\"cskip-seo__h2\">Solve CAPTCHA in PHP: the cURL and Guzzle workflow<\/h2>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"cskip-seo__body\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p>Most PHP code meets a CAPTCHA halfway through a scripted form post: a cURL handle or a Guzzle client fetches the page, spots a challenge, and needs a valid answer before the POST can leave. The routine below keeps that session intact from fetch to submit.<\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p>First, gather the inputs from the HTML you already downloaded. reCAPTCHA and Turnstile need the data-sitekey value and the page URL. GeeTest v3 needs a freshly issued gt and challenge pair, because each challenge works once and goes stale in about a minute. An image CAPTCHA needs the picture itself, fetched with the same cookie jar as the form so it belongs to your session. hCaptcha needs the same pair as reCAPTCHA, the data-sitekey and the page URL, sent with method=hcaptcha.<\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p>Next, call the matching method on your client. For invisible reCAPTCHA, give recaptcha() its invisible option; for v3, set version to v3 and supply the page's own action label. The turnstile() method also accepts the data and pagedata values when you face a full Cloudflare challenge page. The call blocks until the answer arrives, so run it from a CLI process or a queue job.<\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p>Finally, put the answer where the site looks for it. Add $result['code'] to your POST fields under the response field name the form uses; for GeeTest, return the challenge, validate and seccode values the way the site's own front end would; after a Cloudflare challenge page, repeat the request with the userAgent CapSkip handed back. Submit promptly, since tokens expire within minutes, and if you solved through a proxy, send the POST through that same proxy.<\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p>Related guides: <a href=\"https:\/\/capskip.com\/laravel-queue-captcha\/\">Laravel queue CAPTCHA jobs<\/a> \u00b7 <a href=\"https:\/\/capskip.com\/recaptcha-v2-php\/\">reCAPTCHA v2 in PHP<\/a> \u00b7 <a href=\"https:\/\/capskip.com\/turnstile-php\/\">Cloudflare Turnstile in PHP<\/a><\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"cskip-faq\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<details class=\"cskip-faq__q\">\n\t\t\t\t\t\t\t\t\t<summary>Which Composer package do I install for CAPTCHA solving?<\/summary>\n\t\t\t\t\t\t\t\t\t<div class=\"cskip-faq__a\"><div class=\"cskip-faq__inner\"><div class=\"cskip-faq__text\">Run composer require capskip\/capskip. The package is MIT licensed and free, needs PHP 8.0 or newer with the curl and json extensions, and brings no other runtime dependencies. It is only the messenger between your code and the CapSkip app, so solving itself needs a CapSkip license, starting with the free 3-day trial.<\/div><\/div><\/div>\n\t\t\t\t\t\t\t\t<\/details>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<details class=\"cskip-faq__q\">\n\t\t\t\t\t\t\t\t\t<summary>What does a reCAPTCHA call look like from PHP code?<\/summary>\n\t\t\t\t\t\t\t\t\t<div class=\"cskip-faq__a\"><div class=\"cskip-faq__inner\"><div class=\"cskip-faq__text\">Read data-sitekey from the fetched page, call recaptcha() with that key and the page URL, and post $result['code'] as g-recaptcha-response. The same method covers invisible reCAPTCHA through its invisible option, v3 once you set the version option to v3 and add the page's action name, and Enterprise sites as well.<\/div><\/div><\/div>\n\t\t\t\t\t\t\t\t<\/details>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<details class=\"cskip-faq__q\">\n\t\t\t\t\t\t\t\t\t<summary>Does the Turnstile method handle the full-page Cloudflare check too?<\/summary>\n\t\t\t\t\t\t\t\t\t<div class=\"cskip-faq__a\"><div class=\"cskip-faq__inner\"><div class=\"cskip-faq__text\">Yes. The turnstile() method solves the embedded widget, and its token goes into the Turnstile response field of the form. On the interstitial page Cloudflare shows before a site loads, also collect its data and pagedata values, then resend with the userAgent value from the result, through the proxy you solved with.<\/div><\/div><\/div>\n\t\t\t\t\t\t\t\t<\/details>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<details class=\"cskip-faq__q\">\n\t\t\t\t\t\t\t\t\t<summary>Why does my web request time out while CapSkip is solving?<\/summary>\n\t\t\t\t\t\t\t\t\t<div class=\"cskip-faq__a\"><div class=\"cskip-faq__inner\"><div class=\"cskip-faq__text\">Because the call blocks the whole PHP process, and browser-based solves such as reCAPTCHA may poll for up to 300 seconds by default, far past a typical max_execution_time. Move solving into an artisan command, a cron script or a queue worker, where the process is allowed to wait for the answer.<\/div><\/div><\/div>\n\t\t\t\t\t\t\t\t<\/details>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<details class=\"cskip-faq__q\">\n\t\t\t\t\t\t\t\t\t<summary>How do I run many solves at the same time from PHP?<\/summary>\n\t\t\t\t\t\t\t\t\t<div class=\"cskip-faq__a\"><div class=\"cskip-faq__inner\"><div class=\"cskip-faq__text\">Use more processes. One PHP process handles one solve at a time, so start several queue workers or CLI scripts and point them all at the same CapSkip app. Threads are unlimited on every plan; the limit is whatever the solver machine's processor and RAM can sustain, and the price does not move.<\/div><\/div><\/div>\n\t\t\t\t\t\t\t\t<\/details>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<details class=\"cskip-faq__q\">\n\t\t\t\t\t\t\t\t\t<summary>What does the GeeTest v3 call give back to PHP?<\/summary>\n\t\t\t\t\t\t\t\t\t<div class=\"cskip-faq__a\"><div class=\"cskip-faq__inner\"><div class=\"cskip-faq__text\">Fetch a new gt value and challenge from the site just before solving, since each one is single-use. The geetest() method usually needs 7 to 12 seconds and returns $result['challenge'], $result['validate'] and $result['seccode'], which you post back in the format the site's own front end uses.<\/div><\/div><\/div>\n\t\t\t\t\t\t\t\t<\/details>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<details class=\"cskip-faq__q\">\n\t\t\t\t\t\t\t\t\t<summary>Can I keep a PHP class written for the 2Captcha API?<\/summary>\n\t\t\t\t\t\t\t\t\t<div class=\"cskip-faq__a\"><div class=\"cskip-faq__inner\"><div class=\"cskip-faq__text\">Yes. On the Windows machine running CapSkip, switch on 2Captcha emulation and press the Add to hosts file button; your existing class then gets its answers locally. When that PHP code lives on another server, you can usually point the class at the CapSkip machine on port 8080 instead.<\/div><\/div><\/div>\n\t\t\t\t\t\t\t\t<\/details>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<details class=\"cskip-faq__q\">\n\t\t\t\t\t\t\t\t\t<summary>Will CapSkip read an image CAPTCHA that cURL downloaded?<\/summary>\n\t\t\t\t\t\t\t\t\t<div class=\"cskip-faq__a\"><div class=\"cskip-faq__inner\"><div class=\"cskip-faq__text\">Yes. The normal() method accepts a saved file, a remote image link or base64 data, and the characters come back in $result['code'], typically in about 0.1 seconds. Fetch the picture inside the same cURL session as the form, cookies included, so the answer matches your session. Image solves need no proxy.<\/div><\/div><\/div>\n\t\t\t\t\t\t\t\t<\/details>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\n\t\t\t\t\t\t<section class=\"cskl-final\">\n\t\t\t\t<h2>Give your PHP queue unmetered CAPTCHA solving<\/h2>\n\t\t\t\t<p>Install the app, add one Composer package, and let your workers solve as often as the job demands. Your bill is fixed whether the queue holds ten jobs or ten thousand.<\/p>\n\t\t\t\t<div class=\"cskl-final__cta\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"cskl-btn cskl-btn--primary\" href=\"https:\/\/capskip.com\/zh\/product\/trial-license\/\">Start free trial <svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M4.5 12h15M13.5 6l6 6-6 6\"\/><\/svg><\/a>\n\t\t\t\t\t<a class=\"cskl-btn cskl-btn--purple\" href=\"#licenses\"><svg class=\"csi\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M3.5 16.5a4 4 0 1 0 8 0 4 4 0 1 0-8 0M10.4 13.6 20 4\"\/><path class=\"a\" d=\"M17 7l2.5 2.5M14.5 9.5l2 2\"\/><\/svg> Buy a license<\/a>\n\t\t\t\t<\/div>\n\t\t\t<\/section>\n\n\t\t<\/div>\n\t\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-24532","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/capskip.com\/zh\/wp-json\/wp\/v2\/pages\/24532","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=24532"}],"version-history":[{"count":3,"href":"https:\/\/capskip.com\/zh\/wp-json\/wp\/v2\/pages\/24532\/revisions"}],"predecessor-version":[{"id":24566,"href":"https:\/\/capskip.com\/zh\/wp-json\/wp\/v2\/pages\/24532\/revisions\/24566"}],"wp:attachment":[{"href":"https:\/\/capskip.com\/zh\/wp-json\/wp\/v2\/media?parent=24532"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}