in reply to Translate curl to LWP
I have a very rudimentary module HTTP::Request::FromCurl, as inspired by Your Mother. It's not yet on CPAN but can at least somewhat rudimentary convert Curl command lines to LWP.
The (current) output is the following prototype code, which is close to what you already have:
my $ua = WWW::Mechanize->new(); my $r = HTTP::Request->new( 'POST' => 'https://stream-fra.watsonplatform.net/speech-to-tex +t/api/v1/recognize', [ 'Accept' => '*/*', 'Authorization' => 'Basic YXBpa2V5Onh4eA==', 'Host' => 'stream-fra.watsonplatform.net:443', 'User-Agent' => 'curl/7.55.1', 'Content-Length' => '298', 'Content-Type' => 'audio/flac', ], '... that file body ...' ); my $res = $ua->request( $r, );
To convert the above to something closer to how WWW::Mechanize would be used, just use the ->credentials method:
my $ua = WWW::Mechanize->new(); $ua->credentials('apikey','that_api_key'); my $r = HTTP::Request->new( 'POST' => 'https://stream-fra.watsonplatform.net/speech-to-tex +t/api/v1/recognize', [ 'Accept' => '*/*', 'Host' => 'stream-fra.watsonplatform.net:443', 'User-Agent' => 'curl/7.55.1', 'Content-Length' => length $file_content, 'Content-Type' => 'audio/flac', ], $file_content ); my $res = $ua->request( $r );
|
|---|