/ / Caracteres especiais estão contidos na senha e quebra o URL - perl, curl, url-encoding

Caracteres especiais estão contidos na senha e quebra o URL - perl, curl, url-encoding

Eu executo um pedido de curl dentro do meu script perl e se a senha ou o nome do usuário contém qualquer caractere especial (&), ele quebra o URL. Por favor, deixe-me saber como posso resolver isso.

 my $json="curl --user $userName:$password http://git.sample.com/rest/api/1.0/projects/TEAMS/repos/ ";

my $decodedJson = decode_json($json);

Respostas:

1 para resposta № 1

Finalmente eu implementei a maneira @simbabque usando WP::UserAgent.

use LWP::UserAgent;

my $ua = new LWP::UserAgent;
my $req = new HTTP::Request(GET => "http://git.sample.com/rest/api/1.0/projects/TEAMS/repos/");
$req->authorization_basic($userName,$password);
my $response = $ua->request($req);

#handle error
unless ($response->is_success) {
die $response->status_line;
}
my $content = $response->decoded_content();
if (utf8::is_utf8($content)) {
binmode STDOUT,":utf8";
} else {
binmode STDOUT,":raw";
}
my $json=$content;

my $decodedJson = decode_json($json);