Was ist der einfachste Weg, um eine HTTP-GET-Anfrage in Perl zu stellen?

Ich habe einen Code, den ich in PHP geschrieben habe, um unseren einfachen Webservice zu nutzen, den ich auch in Perl für Benutzer bereitstellen möchte, die diese Sprache bevorzugen. Was ist die einfachste Methode, um eine HTTP-Anfrage zu stellen? In PHP kann ich es in einer Zeile mit tunfile_get_contents().

Hier ist der gesamte Code, den ich nach Perl portieren möchte:

/**
 * Makes a remote call to the our API, and returns the response
 * @param cmd {string} - command string ID
 * @param argsArray {array} - associative array of argument names and argument values
 * @return {array} - array of responses
 */
function callAPI( $cmd, $argsArray=array() )
{
   $apikey="MY_API_KEY";
   $secret="MY_SECRET";
   $apiurl="https://foobar.com/api";

   // timestamp this API was submitted (for security reasons)
   $epoch_time=time();

   //--- assemble argument array into string
   $query = "cmd=" .$cmd;
   foreach ($argsArray as $argName => $argValue) {
       $query .= "&" . $argName . "=" . urlencode($argValue);
   }
   $query .= "&key=". $apikey . "&time=" . $epoch_time;

   //--- make md5 hash of the query + secret string
   $md5 = md5($query . $secret);
   $url = $apiurl . "?" . $query . "&md5=" . $md5;

   //--- make simple HTTP GET request, put the server response into $response
   $response = file_get_contents($url);

   //--- convert "|" (pipe) delimited string to array
   $responseArray = explode("|", $response);
   return $responseArray;
}

Antworten auf die Frage(8)

Ihre Antwort auf die Frage