#!/usr/bin/perl -w
use WWW::Curl::Easy;
my $curl = new WWW::Curl::Easy;
sub body_callback
{
my ($chunk,$context)=@_;
push @{$context}, $chunk;
return length($chunk); # OK
}
sub POST
{
my ($site,$data) = @_;
my @body;
$curl->setopt(CURLOPT_WRITEFUNCTION, \&body_callback);
$curl->setopt(CURLOPT_FILE, \@body);
$curl->setopt(CURLOPT_HEADERFUNCTION, \&body_callback);
$curl->setopt(CURLOPT_WRITEHEADER, \@header);
$curl->setopt(CURLOPT_URL, $site);
#$curl->setopt(CURLOPT_RETURNTRANSFER,1);
$curl->setopt(CURLOPT_FOLLOWLOCATION,1);
$curl->setopt(CURLOPT_COOKIEJAR,"cook");
$curl->setopt(CURLOPT_COOKIEFILE,"cook");
$curl->setopt(CURLOPT_POST,1);
$curl->setopt(CURLOPT_POSTFIELDS,$data);
$curl->perform;
my $err = $curl->errbuf;
my $info = $curl->getinfo(CURLINFO_HTTP_CODE);
return join("",@body);
}
sub GET
{
my ($site) = @_;
my @body;
$curl->setopt(CURLOPT_WRITEFUNCTION, \&body_callback);
$curl->setopt(CURLOPT_FILE, \@body);
$curl->setopt(CURLOPT_URL, $site);
#$curl->setopt(CURLOPT_RETURNTRANSFER,1);
$curl->setopt(CURLOPT_FOLLOWLOCATION,1);
$curl->setopt(CURLOPT_COOKIEJAR,"cook");
$curl->setopt(CURLOPT_COOKIEFILE,"cook");
$curl->perform;
my $err = $curl->errbuf;
my $info = $curl->getinfo(CURLINFO_HTTP_CODE);
return join("",@body);
}
Bara använda de där funktionerna för att använda GET och POST i http och skicka rätt requests.