Newsgroup: it.comp.lang.perl
Titolo: SMS da script

Vorrei utilizzare LWP e/o HTTP come moduli
per realizzare uno script che mandi sms ad un numero di cellulare, usando
come gateways
i siti tipo kataweb etcc...
Qualcuno ha idee?
Io ho fatto qualcosa, ma mi dice che non si collega!


http://freshmeat.net
 e cerca sgalasms di Matteo Sgalaberni... tanto č
GPL e lo puoi usare a modelloquanto ti pare
Ciao
-- 
Wiz of Id a.k.a. William Ghelfi
E-Mail: < mailto:
w...@galactica.it
 >
Web Site: < 
http://web.tiscalinet.it/penguin_rules/
 >
<cite> *Hey! Occhietti Rossi!* </cite>

..potreste spiegarmi come si usa/installa?... ho fatto delle prove ottengo
solo "error":(
Grazie.

 solo "error":(
Basta leggere il README e l'INSTALL che si porta dietro... io ho fatto
cosě... e a dirla tutta non č nemmeno difficile da leggere, č scritto
bene chiaramente (dico il codice...)
Wiz of Id

Funziona solo con jumpy... lo ho modificato ed ecco qui la versione
leggera...
Per licenze, copi etcc, rigerimento a sgalasms indicato prima.
Io mi sono limitato a modificarlo.
#!/usr/bin/perl
#
#
use IO::Socket;
use URI::URL;
$version = '0.15';
# gateway  accepted are only 'jumpy'
$id = 'jumpy';
# fetch the parameters
$prefisso=$ARGV[0];
$numero=$ARGV[1];
$messaggio=$ARGV[2];
$verbose =$ARGV[3];
#*****************************************
sub print_aligned {
        my $var1;
        my $var2;
        ($var1,$var2) = @_;
        printf("%-15s",$var1);
        printf("$var2\n");
}
#*****************************************
sub head {
 printf("%-15s","SgalaSMS v.".$version);
 printf(" - Web SMS Client - Matteo Sgalaberni(c) 2000\n");
}
#*****************************************
sub prefissi {
 $prefisso =~ s/^0//g;
}
#*****************************************
sub messaggio{
 $messaggio =~ s/&//g;
 $messaggio = substr($messaggio, 0, 120);
    $messaggio =~ s/\s/\+/g;
    $ptr = URI::URL->new($messaggio);
    $messaggio_pleain = $messaggio;
    $messaggio = $ptr->abs;
}
#*****************************************
sub create_post_jumpy{
 my $prefisso;
 my $numero;
 my $messaggio;
 my $sbrag;
 my $lunghezza;
 ($prefisso,$numero,$messaggio) = @_;
 $lunghezza = length($sbrag);
 $post =( "GET
http://sms.jumpy.it/cgi-bin/smsgw-it?text=$messaggio&messaggio=$messaggio&pr
efisso=$prefisso&numero=$numero&num=  HTTP/1.0\n".
         "Referer: 
http://www.jumpy.it/830sms.htm\n
".
         "Host: 
sms.jumpy.it
\n".
   "\n\n"
   );
#$post =( "GET
http://www.jumpy.it/830sms.htm?msg&text=$messaggio&messaggio=$messaggio&pref
isso=$prefisso&numero=$numero&num=  HTTP/1.0\n".
#        "Referer: 
http://www.jumpy.it/830sms.htm\n
".
#        "Host: 
www.jumpy.it
\n".
#  "\n\n"
#  );
}
#*****************************************
sub send {
 my $hostname;
 if ($id eq 'jumpy')
 {
  $hostname = '
sms.jumpy.it
';
 }
    $remote = IO::Socket::INET->new(Proto => "tcp",
                              PeerAddr => "$hostname",
                                      PeerPort  => "80",
           TimeOut => "1"
                                     ) || die "Error Connection!!\n";
 print ($remote $post);
print $post;
    $remote->flush();
  if ($id eq 'jumpy') {
    $check = "
http://www.jumpy.it/830sms-ok.htm
";
  }
 $ppp = 0;
 while ($line = <$remote>) {
 $ppp++;
print $line;
  if ($line =~ /$check/)
    $report_msg = "$ppp - Message queued correctly to the gateway!\n";
    $report = 1;
    last;
   }
 }
 if (!$report)
 {
  $report_msg = "Message doesn't sended!\n";
 }
 if ($verbose eq 'true')
 {
  print $report_msg;
 }
    close($remote);
}
#*****************************************
sub controllo{
 if ($prefisso =~ /\d+/ && $numero =~ /\d+/ && $messaggio =~ /./)
 {
 } else {
  $error .= "Error!! The fields are empty or invalid!!\n";
 }
 return $error;
}
#*****************************************
#*****************************************
#*****************************************
if (&controllo ne '')
{
# &head;
 print $error;
    print   ("\nUsage : sgalasms prefix number \"message\" false\n".
   "last option must be \"true\" for no verbose mode\n".
   "false or null for verbose mode\n"
   );
} else {
 &prefissi;
 &messaggio;
 if ($id eq 'jumpy') {
  &create_post_jumpy($prefisso,$numero,$messaggio);
 }
 if ($verbose ne undef)
 {
#  &head;
  &print_aligned("Gateway    ==>",$id);
  &print_aligned("Prefix/No. ==>",$ARGV[0]."/".$ARGV[1]);
  &print_aligned("Message    ==>",$ARGV[2]);
  print "wait... i'm sending the SMS and receiving the results...\n";
 }
 &send;
}

ciao ti rimgrazio per la risposta ..mi sarebbe davvero utile se
funzionasse...
purtroppo ottengo il solito "server error "
Qualche idea?
Ciao
oxy
P.S mancava una parentesi:
if ($line =~ /$check/)  { #mancava la parentesi
