Ich habe ein Problem, wo ich CURL innerhalb eines Perl-Skript verwenden, um eine HTTP-Anfrage auszuführen. Ich glaube, mein Problem bezieht sich auf Sonderzeichen in der URL-Zeichenfolge, aber ich kann nicht herausfinden, wie es funktioniert.Perl-URL-Codierung mit Curl
Ich kann bestätigen, dass die URL korrekt ist, da ich es von meinem Browser aus ausführen kann.
Mein Perl-Skript ist
#!/usr/bin/perl
use strict;
use warnings;
$url = "http://machine/callResync?start=2017-02-01 00.00.00.000&end=2017-02-01 23.23.999";
system "curl $url
Es schlägt fehl, wenn es das erste Leerzeichen erreicht. Ich bin müde, um mit% 20 zu entkommen.
Danach habe ich in% 26, um die & zu entkommen, aber dann bekomme ich ein anderes Problem. Ich habe eine Reihe von verschiedenen Kombinationen müde, aber es scheitert immer wieder.
Jede Idee ist.
Warum Sie nicht über ein Perl-Modul wie verwenden: [WWW: Kräuseln] (http://search.cpan.org/~szbalint/WWW-Curl-4.17/lib /WWW/Curl.pm) anstelle eines Systemaufrufs – Jens
Sie müssen das '&' nicht verlassen. Das ist Teil der URL. – simbabque
Übergeben Sie die Argumente an "system" mit einem Array. – ceving