The below code worked fine. I missed to have "/JNAP/" in my URL after adding all the header fields required.
use strict;
use warnings;
use LWP;
#creat User Agent using LWP
my $ua = LWP::UserAgent->new();
my $url = "http://192.168.1.1/JNAP/";
my $json = "[{\"action\":\"http://cisco.com/jnap/wirelessap/SetRadioSe
+ttings\",";
$json .= "\"request\":{\"radios\":[{\"radioID\":\"RADIO_2.4GHz\",\"set
+tings\":";
$json .= "{\"isEnabled\":true,\"mode\":\"802.11bgn\",\"ssid\":\"Vinodh
+La\",\"broadcastSSID\":true,";
$json .= "\"channelWidth\":\"Auto\",\"channel\":6,\"security\":\"None\
+"}}]}},";
$json .= "{\"action\":\"http://cisco.com/jnap/guestnetwork/SetGuestNet
+workSettings\",";
$json .= "\"request\":{\"isGuestNetworkEnabled\":false,\"guestSSID\":\
+"vinoth-guest\",\"guestPassword\":\"BeMyGuest\",";
$json .= "\"maxSimultaneousGuests\":5,\"broadcastGuestSSID\":false}}]"
+;
my $req = HTTP::Request->new(POST=>$url);
$req->header('Content-Type' => 'application/json; charset=UTF-8');
$req->header('X-JNAP-Action' => 'http://cisco.com/jnap/core/Transactio
+n');
$req->header('X-JNAP-Authorization' => 'Basic YWRtaW46YWRtaW4=');
$req->header('X-Requested-With' => 'XMLHttpRequest');
$req->header('Referer' => "http://192.168.1.1/");
$req->content($json);
my $res = $ua->request($req);
if ($res->is_success) {
my $message = $res->decoded_content;
print "received the message";
} else {
use Data::Dump qw/ dd /; dd( $res->as_string );
print "HTTP get code: ", $res->code, "\n";
print "HTTP get msg : ", $res->message, "\n";
}
|