Uruchamiam żądanie curl w moim skrypcie perl i jeśli hasło lub nazwa użytkownika zawiera jakikolwiek znak specjalny (i), to łamie adres URL. Daj mi znać, jak to rozwiązać.
my $json="curl --user $userName:$password http://git.sample.com/rest/api/1.0/projects/TEAMS/repos/ ";
my $decodedJson = decode_json($json);
Odpowiedzi:
1 dla odpowiedzi № 1Wreszcie zaimplementowałem sposób @simbabque 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);