I am trying to use CURL to veify a recaptcha.
When I make the inquiry in POSTMAN it works.
When I make the identical inquiry using CURL, I get “invalid-input-response” from the www.google.com/recaptcha/api/siteverify.
I changed the query from a x-www-form-upload to the default, and targeted “localhost/f.php” that dumps the $_POST variables. My intent was to see what was getting received.
I noticed that the “response” field received is truncated, which would account for my error. I’m looking for what I need to do to have the entire field length passes.
<code> $jdata["secret"] = $recaptcha_secret_key;
$jdata["response"] = $recaptcha_response;
$jdata["remoteip"] = "111.111.111.111"; // Actual IP masked
$json_params=json_encode($jdata, JSON_PRETTY_PRINT);
print "<pre>$json_params</pre>n";
$ch = curl_init("localhost/f.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_SSLVERSION, 6); // TLS 1.2
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_NOSIGNAL, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/html"));
curl_setopt($ch, CURLOPT_POSTFIELDS, $json_params);
$output = curl_exec($ch);
<code> $jdata["secret"] = $recaptcha_secret_key;
$jdata["response"] = $recaptcha_response;
$jdata["remoteip"] = "111.111.111.111"; // Actual IP masked
$json_params=json_encode($jdata, JSON_PRETTY_PRINT);
print "<pre>$json_params</pre>n";
$ch = curl_init("localhost/f.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_SSLVERSION, 6); // TLS 1.2
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_NOSIGNAL, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/html"));
curl_setopt($ch, CURLOPT_POSTFIELDS, $json_params);
$output = curl_exec($ch);
</code>
$jdata["secret"] = $recaptcha_secret_key;
$jdata["response"] = $recaptcha_response;
$jdata["remoteip"] = "111.111.111.111"; // Actual IP masked
$json_params=json_encode($jdata, JSON_PRETTY_PRINT);
print "<pre>$json_params</pre>n";
$ch = curl_init("localhost/f.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_SSLVERSION, 6); // TLS 1.2
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_NOSIGNAL, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/html"));
curl_setopt($ch, CURLOPT_POSTFIELDS, $json_params);
$output = curl_exec($ch);
The receiving form:
foreach ($_POST as $n => $v) { $s=strlen($n); print "Len=$s P=$n V=$v<br>n"; }
<code><h1>Form Vars</h1>
<?php
foreach ($_POST as $n => $v) { $s=strlen($n); print "Len=$s P=$n V=$v<br>n"; }
?>
<h2>Done</h2>
</code>
<h1>Form Vars</h1>
<?php
foreach ($_POST as $n => $v) { $s=strlen($n); print "Len=$s P=$n V=$v<br>n"; }
?>
<h2>Done</h2>
And the output:
S3=2070 P={ ____"secret":_"actualkeymasked", ____"response":_"03AFcWeA5vynnqRYr6oP-iela92Jjz2u4FHD79DtUNmEUo_h636eUecKPg_S3WSfF41TiebRgEoWE0epnGb2UAVgudxZ1dZhl8WC6uoNeRvPNaqsnqEHyUxovpNgbeEXJ3oPEpp6uMQV1W4L9x1t9jL1gpbErcFF8cwIy3NGQVfL6yCJ_qMFvqq4mPEStRzTccRMTlqrD9YQ6Hqe2IFH6TDhROzKSX4S3NRaxRBaqErBRcXMqN2yEJhuqVyJY4NBsyqeLsh4aXMgxkbIgXR6CivK3k44lBZfhvEA5-VsQCLaWsPgAak91BeJacI7CigFylfMiv50o_lROif3UFmIhuuU4y6JxGqkTQwtOAtZBQuuFJ-t7SzDE5ou69fWkrjFhs591pqX_mzTNGIjoafMPBBBfeMGphvrCygO1MJXi4VZxBJ3CDQWw6-NNfalEMcZ9SMgzYTT2yhkPvvLmfGup7zpsJ-6tEhydJB3uLbPwAnqFlDTSyYNZRJJ_16KtW7TMNks2ez-81mv67PO1acLp4inTfem3swuzEWYoSW1OY-xfto8BCKPyHwWIsbxs-DHzEqtc7S-vfY2xP-AsTB3jlDnmZdwQ-w139i-8u4Szh-PNqH22KQpCc2aAZEjtrUKaCKWRwGELdlLr_p6eZ6YWT2Ak3njN994o0OPy5I_z5mGkpsCh6DA6LsssPYjzF5FmKy22RMXFtZPvwxbrAGbk-Y1Vqn7lFs01V5A1FlPnvJZ0Q0oU3j8C14wNQmvm8XJimENzv-FD0Ov1wEqexg41026R0-iPmsBeO1pn_kIumhyr73UzwAbmBwnEgwgOJbDntElPZ-Rdi9WciqixB-H5eFfmjAcemFmtBPo0QT2G6sIEX9fVRNRD5Ir2M1khxZE2xvYJm5IQbhNfNL2JyyInGrHJSZOWkVnrDwrSLq4ftiKVtF9CwhKgp9QCFcC0Koccmrs-i1Uue2yL5CRhrr-XX_QNZTgno8tJ66VJ1GPWWeYVctADZcKSy4hWR0Nd9W39LjVxFdbfbPenbbLkyBiFPB-bm8NlZWuVOkSAnhTimt0QGqAqEPrqjv7vgf8bdO11TYAuvzORAsBo1imhKujQ6ZA0sOh_GbYE9xV8ghmIA_DuTtEshfUZO0TlABwcD7n5o5bKuQwO9MEAmDft1lDe2kgY_6KEOvBCysWjXi0MxFfntyLjidWcx2KriT0ybGnP8Z2rWfeBsfrcLl20Bw62h7p7TLGIzmZiblZIt4b5B30GY4bV9zZ8WN-d1P4kIQAvkWzaSWCd2iNlTfX8PfAkdXL7c6Yxf3x4dS6kn8p3WDP_XhEymvGk6EOUsNlunUEt65SG_rFQrSEiKhQSehr8Sa4YLoEPLnIRBGxYfnfYOReXSXYvPTY0omhyENPeFNKj--sFgRrG1Bt20eLYZwwhOIh02uvhP9fXM3Rt2xLNGAMmcYbxNKmhlo4k8gaqofZXf-CLYfmZxxAefVg5wGzJDn67rXwcmSBG7P7ll8JXPime2t5OYCFpEStYmUjCggoVS-umyF1Bbxbi_qbDzz8nq6cSFizlR-5Ylsn2y3Xg_-2r4Ht2Qj3qGHlpC28wweH2k5zNmBF3CqENHcda1Mkua8YtrT7K_8XSKE-cv-zyksE7nIZyiehACsnyteSk_XuCLTX7bZNtIrOQLCfprYgD8lP_EXjkF3SQ8bdL9R-UsAeuwRvxi2IiLHZ8Uw_fnmyMjkt9HAmNz44lngzvJqFLXOGveIDSt2pETFxY_fwgHblqxi5doJMu6gP0KZd0q6xE45vYvoeTEKgYRa4u_uKmnpmLiyhWZFAcBCioc-M-J62gBG8milYLsUPzQ5aUB7AwwXpLxuNAhNBGbX5kntemU-PZBI7dGj257e60_mPv3WhZt7r-wynXsiKvr0TiiNzk80Wf3vVZlV4C4R9OnkLuoFiv8GkgK_4wXAA", ____"remoteip":_"actual ip masked" } V=
<code>Form Vars
S3=2070 P={ ____"secret":_"actualkeymasked", ____"response":_"03AFcWeA5vynnqRYr6oP-iela92Jjz2u4FHD79DtUNmEUo_h636eUecKPg_S3WSfF41TiebRgEoWE0epnGb2UAVgudxZ1dZhl8WC6uoNeRvPNaqsnqEHyUxovpNgbeEXJ3oPEpp6uMQV1W4L9x1t9jL1gpbErcFF8cwIy3NGQVfL6yCJ_qMFvqq4mPEStRzTccRMTlqrD9YQ6Hqe2IFH6TDhROzKSX4S3NRaxRBaqErBRcXMqN2yEJhuqVyJY4NBsyqeLsh4aXMgxkbIgXR6CivK3k44lBZfhvEA5-VsQCLaWsPgAak91BeJacI7CigFylfMiv50o_lROif3UFmIhuuU4y6JxGqkTQwtOAtZBQuuFJ-t7SzDE5ou69fWkrjFhs591pqX_mzTNGIjoafMPBBBfeMGphvrCygO1MJXi4VZxBJ3CDQWw6-NNfalEMcZ9SMgzYTT2yhkPvvLmfGup7zpsJ-6tEhydJB3uLbPwAnqFlDTSyYNZRJJ_16KtW7TMNks2ez-81mv67PO1acLp4inTfem3swuzEWYoSW1OY-xfto8BCKPyHwWIsbxs-DHzEqtc7S-vfY2xP-AsTB3jlDnmZdwQ-w139i-8u4Szh-PNqH22KQpCc2aAZEjtrUKaCKWRwGELdlLr_p6eZ6YWT2Ak3njN994o0OPy5I_z5mGkpsCh6DA6LsssPYjzF5FmKy22RMXFtZPvwxbrAGbk-Y1Vqn7lFs01V5A1FlPnvJZ0Q0oU3j8C14wNQmvm8XJimENzv-FD0Ov1wEqexg41026R0-iPmsBeO1pn_kIumhyr73UzwAbmBwnEgwgOJbDntElPZ-Rdi9WciqixB-H5eFfmjAcemFmtBPo0QT2G6sIEX9fVRNRD5Ir2M1khxZE2xvYJm5IQbhNfNL2JyyInGrHJSZOWkVnrDwrSLq4ftiKVtF9CwhKgp9QCFcC0Koccmrs-i1Uue2yL5CRhrr-XX_QNZTgno8tJ66VJ1GPWWeYVctADZcKSy4hWR0Nd9W39LjVxFdbfbPenbbLkyBiFPB-bm8NlZWuVOkSAnhTimt0QGqAqEPrqjv7vgf8bdO11TYAuvzORAsBo1imhKujQ6ZA0sOh_GbYE9xV8ghmIA_DuTtEshfUZO0TlABwcD7n5o5bKuQwO9MEAmDft1lDe2kgY_6KEOvBCysWjXi0MxFfntyLjidWcx2KriT0ybGnP8Z2rWfeBsfrcLl20Bw62h7p7TLGIzmZiblZIt4b5B30GY4bV9zZ8WN-d1P4kIQAvkWzaSWCd2iNlTfX8PfAkdXL7c6Yxf3x4dS6kn8p3WDP_XhEymvGk6EOUsNlunUEt65SG_rFQrSEiKhQSehr8Sa4YLoEPLnIRBGxYfnfYOReXSXYvPTY0omhyENPeFNKj--sFgRrG1Bt20eLYZwwhOIh02uvhP9fXM3Rt2xLNGAMmcYbxNKmhlo4k8gaqofZXf-CLYfmZxxAefVg5wGzJDn67rXwcmSBG7P7ll8JXPime2t5OYCFpEStYmUjCggoVS-umyF1Bbxbi_qbDzz8nq6cSFizlR-5Ylsn2y3Xg_-2r4Ht2Qj3qGHlpC28wweH2k5zNmBF3CqENHcda1Mkua8YtrT7K_8XSKE-cv-zyksE7nIZyiehACsnyteSk_XuCLTX7bZNtIrOQLCfprYgD8lP_EXjkF3SQ8bdL9R-UsAeuwRvxi2IiLHZ8Uw_fnmyMjkt9HAmNz44lngzvJqFLXOGveIDSt2pETFxY_fwgHblqxi5doJMu6gP0KZd0q6xE45vYvoeTEKgYRa4u_uKmnpmLiyhWZFAcBCioc-M-J62gBG8milYLsUPzQ5aUB7AwwXpLxuNAhNBGbX5kntemU-PZBI7dGj257e60_mPv3WhZt7r-wynXsiKvr0TiiNzk80Wf3vVZlV4C4R9OnkLuoFiv8GkgK_4wXAA", ____"remoteip":_"actual ip masked" } V=
Done
</code>
Form Vars
S3=2070 P={ ____"secret":_"actualkeymasked", ____"response":_"03AFcWeA5vynnqRYr6oP-iela92Jjz2u4FHD79DtUNmEUo_h636eUecKPg_S3WSfF41TiebRgEoWE0epnGb2UAVgudxZ1dZhl8WC6uoNeRvPNaqsnqEHyUxovpNgbeEXJ3oPEpp6uMQV1W4L9x1t9jL1gpbErcFF8cwIy3NGQVfL6yCJ_qMFvqq4mPEStRzTccRMTlqrD9YQ6Hqe2IFH6TDhROzKSX4S3NRaxRBaqErBRcXMqN2yEJhuqVyJY4NBsyqeLsh4aXMgxkbIgXR6CivK3k44lBZfhvEA5-VsQCLaWsPgAak91BeJacI7CigFylfMiv50o_lROif3UFmIhuuU4y6JxGqkTQwtOAtZBQuuFJ-t7SzDE5ou69fWkrjFhs591pqX_mzTNGIjoafMPBBBfeMGphvrCygO1MJXi4VZxBJ3CDQWw6-NNfalEMcZ9SMgzYTT2yhkPvvLmfGup7zpsJ-6tEhydJB3uLbPwAnqFlDTSyYNZRJJ_16KtW7TMNks2ez-81mv67PO1acLp4inTfem3swuzEWYoSW1OY-xfto8BCKPyHwWIsbxs-DHzEqtc7S-vfY2xP-AsTB3jlDnmZdwQ-w139i-8u4Szh-PNqH22KQpCc2aAZEjtrUKaCKWRwGELdlLr_p6eZ6YWT2Ak3njN994o0OPy5I_z5mGkpsCh6DA6LsssPYjzF5FmKy22RMXFtZPvwxbrAGbk-Y1Vqn7lFs01V5A1FlPnvJZ0Q0oU3j8C14wNQmvm8XJimENzv-FD0Ov1wEqexg41026R0-iPmsBeO1pn_kIumhyr73UzwAbmBwnEgwgOJbDntElPZ-Rdi9WciqixB-H5eFfmjAcemFmtBPo0QT2G6sIEX9fVRNRD5Ir2M1khxZE2xvYJm5IQbhNfNL2JyyInGrHJSZOWkVnrDwrSLq4ftiKVtF9CwhKgp9QCFcC0Koccmrs-i1Uue2yL5CRhrr-XX_QNZTgno8tJ66VJ1GPWWeYVctADZcKSy4hWR0Nd9W39LjVxFdbfbPenbbLkyBiFPB-bm8NlZWuVOkSAnhTimt0QGqAqEPrqjv7vgf8bdO11TYAuvzORAsBo1imhKujQ6ZA0sOh_GbYE9xV8ghmIA_DuTtEshfUZO0TlABwcD7n5o5bKuQwO9MEAmDft1lDe2kgY_6KEOvBCysWjXi0MxFfntyLjidWcx2KriT0ybGnP8Z2rWfeBsfrcLl20Bw62h7p7TLGIzmZiblZIt4b5B30GY4bV9zZ8WN-d1P4kIQAvkWzaSWCd2iNlTfX8PfAkdXL7c6Yxf3x4dS6kn8p3WDP_XhEymvGk6EOUsNlunUEt65SG_rFQrSEiKhQSehr8Sa4YLoEPLnIRBGxYfnfYOReXSXYvPTY0omhyENPeFNKj--sFgRrG1Bt20eLYZwwhOIh02uvhP9fXM3Rt2xLNGAMmcYbxNKmhlo4k8gaqofZXf-CLYfmZxxAefVg5wGzJDn67rXwcmSBG7P7ll8JXPime2t5OYCFpEStYmUjCggoVS-umyF1Bbxbi_qbDzz8nq6cSFizlR-5Ylsn2y3Xg_-2r4Ht2Qj3qGHlpC28wweH2k5zNmBF3CqENHcda1Mkua8YtrT7K_8XSKE-cv-zyksE7nIZyiehACsnyteSk_XuCLTX7bZNtIrOQLCfprYgD8lP_EXjkF3SQ8bdL9R-UsAeuwRvxi2IiLHZ8Uw_fnmyMjkt9HAmNz44lngzvJqFLXOGveIDSt2pETFxY_fwgHblqxi5doJMu6gP0KZd0q6xE45vYvoeTEKgYRa4u_uKmnpmLiyhWZFAcBCioc-M-J62gBG8milYLsUPzQ5aUB7AwwXpLxuNAhNBGbX5kntemU-PZBI7dGj257e60_mPv3WhZt7r-wynXsiKvr0TiiNzk80Wf3vVZlV4C4R9OnkLuoFiv8GkgK_4wXAA", ____"remoteip":_"actual ip masked" } V=
Done
I’d like to know why I am getting a truncated value of “response” back.