2017-10-27 2 views
0

wie kann der unten curl-code von der kommandoaufforderung curl in der perl dargestellt werden WWW: Curl?perl curl code äquivalent für -d -u

curl https://api.stripe.com/v1/charges \ 
    -u sk_test_a02zSeLS9cMPlJvu2GkWgSDB: \ 
    -d amount=1000 \ 
    -d currency=sgd \ 
    -d description="Example charge" \ 
    -d source=tok_2s0QJK6exWUdbSGZb4SpAKep 

perl

use WWW::Curl::Easy; 
my $curl = WWW::Curl::Easy->new; 

$curl->setopt(CURLOPT_HEADER,1); 
$curl->setopt(CURLOPT_URL, 'https://api.stripe.com/v1/charges'); 

# A filehandle, reference to a scalar or reference to a typeglob can be used here. 
my $response_body; 
$curl->setopt(CURLOPT_WRITEDATA,\$response_body); 

# Starts the actual request 
my $retcode = $curl->perform; 
+0

Ich sehe nicht, warum die Leute WWW verwenden :: Locken :: Einfach. Ich nehme an, dass es schnell ist, aber [es ist nicht viel schneller] (http://www.martin-evans.me.uk/node/169) als HTTP :: Tiny wirklich, und anscheinend ist es wirklich nicht so _easy_. – simbabque

+0

Wenn Sie 'curl' Befehlszeilenoptionen übersetzen, verweisen Sie normalerweise zuerst auf die Manpage. Wenn Sie das mühsam finden, versuchen Sie es [exploreshell.com] (https://explainshell.com/explain?cmd=curl+https%3A%2F%2Fapi.stripe.com%2Fv1%2Fcharges+%5C++++-u+sk_test_a02zSeLS9cMPlJvu2GkWgSDB%3A+ % 5C++++ - d + Betrag% 3D1000 +% 5C++++ - d + Währung% 3Dsgd +% 5C++++ - d + Beschreibung% 3D% 22Beispiel + Ladung% 22 +% 5C++++ - d + Quelle% 3Dtok_2s0QJK6exWUdbSGZb4SpAKep). Jetzt weißt du was "-d" und "-u" tun. Unter https://curl.haxx.se/ erfahren Sie, welche interne Darstellung dieser Optionen mit den Perl-Bindungen verwendet werden kann. – simbabque

+0

["Dies ist kein :: Easy-Modul in dem normalerweise bei CPAN verwendeten Sinn."] (Https://metacpan.org/pod/WWW::Curl#WWW::Curl::Easy) – mob

Antwort

0

wie Sie here, in den Beispielen sehen kann

use WWW::Curl::Form; 
my $curlf = WWW::Curl::Form->new; 
$curlf->formadd("amount", "1000"); 
$curlf->formadd("currency", "sgd"); 
$curlf->formadd("description", "Example charge"); 
$curlf->formadd("source", "tok_2s0QJK6exWUdbSGZb4SpAKep"); 
$curl->setopt(CURLOPT_HTTPPOST, $curlf); 
$curl->setopt(CURLOPT_USERPWD,"sk_test_a02zSeLS9cMPlJvu2GkWgSDB:");