#!/usr/bin/perl use strict; use warnings; use URI qw(); use Time::HiRes qw(gettimeofday); use Digest::SHA qw(hmac_sha256_hex); use LWP::UserAgent; my $uri = URI->new(); my $ua = LWP::UserAgent->new( ssl_opts => { verify_hostname => 0 }, ); $ua->agent("MyApp/0.1"); my $apiKey = 'Jp'; my $apiSecret = '2ULKB1'; my $urlcb = "https://www.bitstamp.net/api/v2/usdt_withdrawal/"; my $url = URI->new($urlcb); my $urlpath = $url->path(); my $timestamp = int (gettimeofday * 1000); my $nonce = int(rand(1000000)); my %params = $uri->query_form( 'currency' => "USDT", 'network' => "ethereum", 'address' => "", 'amount' => "4", ); my $signature = hmac_sha256_hex($nonce.'POST'.$urlpath.%params, $apiSecret); my %payload = ( "X-Auth" => $apiKey, "X-Auth-Signature" => $signature, "X-Auth-Nonce" => $nonce, "X-Auth-Timestamp" => $timestamp, "X-Auth-Version" => 'v2', "Content-Type" => 'application/x-www-form-urlencoded' ); my $req = HTTP::Request->new(POST=>$url); $req->header(%payload); $req->content(%params); my $resp = $ua->request($req); if($resp->is_success){ print $resp->content ."\n"; } else{ print "Error: " . $resp->content; }