Это работает для меня, но когда дело доходит до отладки веб-скребков и т. Д., Вы должны следить за транзакцией HTTP.Это действительно легко добавить, поскольку WWW :: Mechanize является подклассом LWP :: UserAgent :
use WWW::Mechanize;
my $browser = WWW::Mechanize->new();
# See LWP::Debug
$browser->add_handler("request_send", sub { shift->dump; return });
$browser->add_handler("response_done", sub { shift->dump; return });
Теперь вы можете видеть, что вы отправляете и что отправляет PayPalназад.
Зачастую вы также можете использовать различные инструменты HTTP-сниффинга, но они работают только с вещами, которые вы отправляете в незашифрованном виде, поэтому вам не повезло.
В этом случае, однако,PayPal на вас.Они знают, что вы используете сценарий.Часть результатов, которые я получаю:
<h2>Request API Credentials</h2>
</div>
<div id="messageBox"></div>
<div id="main"><div class="layout1"><form action="https://www.paypal.com/us/cgi-bin/webscr?dispatch=5885d80a13c0db1f8e263663d3faee8dc18bca4c6f47e633b393e284a5f8a8f8" class="">
<input type="hidden" name="cmd" value="_profile-api-add-direct-access"><input type="hidden" name="api_flow_origin" value=""><input type="hidden" name="show_switch" value="1"><input type="hidden" name="auth_type" value="ssl"><input type="hidden" name="api_username" value=""><input type="hidden" name="program_name" value=""><input type="hidden" name="program_id" value=""><input type="hidden" name="partner_name" value=""><input type="hidden" name="partner_id" value=""><input type="hidden" name="partner_code" value=""><p>API credentials consist of three elements:</p>
<ul>
<li>An API username</li>
<li>An API password</li>
<li>Either an API signature or an API SSL client-side certificate</li>
</ul>
<p>If you’re using a shopping cart or solution provider, ask whether you need an API signature or a certificate.</p>
Если вы хотите взаимодействовать с PayPal через программу, вам нужно зарегистрироваться для доступа разработчика .