Gå til innhold

Anbefalte innlegg

Videoannonse
Annonse

Å hei, ser at sms tråden kommet tilbake..hehe. Bra.

 

Til PiRANhA:

Når det gjelder lovlighet ved å sende SMS via scripts, så tror jeg ikke det er noe vits i å overdramatisere dette. Som du selv poengterer, PiRANhA, i en tidligere post:

 

Vær forsiktig, Eurobate *selger* ut sin database over aktive brukere (les mer her) så dersom du er en Eurobate-bruker vil du garantert motta reklame.

 

Slik at det skulle bare mangle at vi får noe igjen for dette ;). Dersom et websted ikke er skalert til å håndtere at brukere sender den kvoten med sms som de har til rådighet, så bør de heller endre på egne betingelser for brukere.

 

Forøvrig så kunne også mye gjøres mhp å tette igjen for å sende sms via script DERSOM dette virkelig var et problem.

Lenke til kommentar
  • 1 år senere...

Beklager om dette anses som *BUMP*. Den lå bare på andre siden, søkte ikke etter tråden.

 

Det som gjør bruk av slike skript etisk uforsvarlig er at du snyter EuroBate eller de andre nettsidene for reklameinntekter. Når du bruker et skript som med LWP eller lignende emulerer en nettleser og autmatisk fyller ut HTML forms for å sende SMS så vil ikke hits bli registrert for reklamebannere på siden og du ser jo heller ikke denne reklamen som det egentlig er meningen at du skal se på mens du manuelt skriver inn meldingen din på nettsiden.

 

SÅ jeg skjønner godt at EuroBate ikke liker slike skripts.

 

Betal heller for en proff SMS gateway tjeneste så vil du slippe problemer med saksøking (hvis din tjeneste er offenlig). Dette er billig og mye lettere å bruke siden du får laste ned en API dokumentasjon som beskriver nøyaktig hvordan du skal koble til serverne deres og autentisere for å sende SMS. Du kan da også motta SMS ved såkalt SMS to Email tjeneste. Kjekt hvis du driver et nettsted og vil ta deg betalt for tjenester.

 

Sjekk http://www.infogate.no/ for mer info.

 

Det finnes flere andre leverandører (også utenlandske) hvis du f.eks tar et søk på "SMS Gateway provider".

Endret av saivert
Lenke til kommentar
uetisk, eh hallo?

Vi kan på eurobate sende 3 sms gratis om dagen, 5 på gule sider osv. så jeg tror nok at de kan håndtere den vesle trafikken.

6604584[/snapback]

 

Du forstod ikke så mye av det jeg skrev?

For omskrive det litt da. Det er uetisk å benytte en tjeneste på en måte som den ikke er tiltenkt fra tjenestetilbyder. For det første er EuroBate avhengig av reklameinntekter i tillegg til SMS tjenestene som de selger. Et visst antall gratis SMS hver dag er lokkemiddel bare. Telenor Mobil har 10 gratis SMS hver dag fra telenormobil.no siden. Det er da likegyldig om dette er gratis eller ikke så lenge du ikke bruker tjeneste slik den er tiltenkt.

 

 

Dessuten så krever nok disse som har slike boter mer enn 3 sms om dagen. HEr skal det sendes ut flere hundre SMS om dagen til mange folk og da rekker det ikke med så puslete gratis SMS-er.

 

Derfor tok jeg opp et mye bedre alternativ i min forrige post som jeg tror mange vil finne interessant hvis de skal drive litt profft.

Det var jo snakk om hvordan sende SMS automatisk ved hjelp av skript her? Håper dere ikke diskuterer hvordan snyte EuroBate f.eks noe som er ulovlig på forumet her forresten.

Lenke til kommentar

nei, tror ikke jeg skjønte så mye av det du sa. "bot"? eh, må man ikke registrere seg med telefon-nr og navn for å få sende sms, så skjønner ikke åssen dette skal gå til.

 

hvis en har registrert seg hos eurobate får en sms spam på mobilen. er det etisk? og skulle vel da bare mangle at man skal få noe tilbake, e.g. sms script saken til tobjørn.

 

har forresten en oppdatert, fungerende sms modul for gule sider (basert på Torbjørns kode) om noen er interessert. Gule sider er stabil og pålitelig, så vidt jeg kan bedømme, men er begrenset på 100 tegn og man trenger også Crypt::SSLeay.

Lenke til kommentar
  • 5 måneder senere...

Fått noen forespørsler angående oppdatert SMS modul for gule sider, så poster koden her nedenfor.

 

Gått over til å bruke WWW::Mechanize modul som forenkler form håndtering.

Mottar gjerne kommentarer/feedback på koden etc.

 

   use GuleSiderMech;
   my $Gul = GuleSiderMech->new(
       -user  => '[email protected]',
       -pass  => "123456",
   );
   $Gul->login() or die "Problems logging in.."; 
   $Gul->sendsms( -nr => 12345678, -msg => "test" ) or die "Problems sending SMS";
   print "\nDu har ", $Gul->smsleft(), " SMS igjen";

 

   package GuleSiderMech;
   use Carp;
   use WWW::Mechanize;
   use strict;
   use warnings;

   #- - - - - - - - - - - - - - - - - - - -
   sub new {
       local $_;
       my $self       = shift;
       my $class      = ref $self || $self;
       my %parameters = (
           -mech     => '',
           -nr       => '',
           -msg      => '',
           -pass     => '',
           -user     => '',
           -debug    => 0,
           -loginurl => 'https://login.gulesider.no/mypage/myInfo.c',
           -smsurl   => 'https://login.gulesider.no/mypage/sendSmsInline.c'
       );
       my %hash = @_;

       #Only allow specified parameters.
       for ( keys %hash ) {
           croak "Illegal Parameter ($_)" if ( not exists $parameters{$_} );
       }

       #Set default values, if not supplied
       for ( keys %parameters ) {
           $hash{$_} = $parameters{$_} if ( not $hash{$_} );
       }
       bless \%hash, $class;
   }

   #- - - - - - - - - - - - - - - - - - - -
   #Get and/or set value of parameters.
   #Input:parameter and value (optional)
   #Output:value of parameter.
   sub conf {
       my ( $self, $para, $value ) = @_;
       Carp::croak "Illegal parameter ($para)"
         if ( not exists $self->{$para} );
       if ( $para and ( defined $value ) ) {
           return $self->{$para} = $value;
       }
       elsif ($para) {
           return $self->{$para};
       }
   }

   #- - - - - - - - - - - - - - - - - - - -
   #Login to gulesider.no
   #Output:True (1) if logged in ok, false (0) if problems.
   sub login {
       my $self = shift;
       croak "Missing username. Can't login." if ( !$self->conf( -user ) );
       croak "Missing password. Can't login." if ( !$self->conf( -pass ) );
       my $loginurl = $self->conf( -loginurl ) or croak "Missing loginurl";
       my $mech =
         WWW::Mechanize->new(
           agent => 'compatible; MSIE 6.0; Windows NT 5.1' );
       $self->conf( -mech => $mech );
       $mech->get($loginurl);
       eval {

           #$mech->form_name('loginFormm');
           $mech->set_fields(
               'password' => $self->conf( -pass ),
               'username' => $self->conf( -user )
           );
           $mech->click_button( value => 'Logg inn' );
       };

    #If HTML breaks, mechanzie will raise exception. We then try first button..
       if ($@) {
           eval { $mech->click_button( number => 1 ); };

           #..if that also breaks all hope is lost..
           if ($@) {
               print "\nProblems. Can't log in. HTML changed. Adjust source.."
                 if ( $self->conf( -debug ) );
               return 0;
           }
       }
           #HTML "trigger" to see if we logged in correctly, ugh.
       if (($mech->content)=~m-sendSmsInline\.c-i) {
           return 1;
       }
       return 0;
   }

   #- - - - - - - - - - - - - - - - - - - -
   #Input: Array with values, e.g. (-nr=>123, -msg=>"msg");
   #Output:1 if success.
   sub sendsms {
       my $self = shift;

       #Use hash, so order of parameters don't matter.
       my %Para   = @_;
       my $nr     = $Para{-nr} or croak "Missing number.";
       my $msg    = $Para{-msg};
       my $smsurl = $self->conf( -smsurl ) or croak "Missing SMSURL";
       my $mech   = $self->conf( -mech );

       #Auto login, if not already logged in.
       if ( not ref $mech =~ /mech/i ) {
           $self->login();
           $mech = $self->conf( -mech );
       }
       $mech->get($smsurl);
       eval {
           $mech->set_fields( 'recipients' => $nr );
           $mech->set_fields( 'text'       => $msg );
           $mech->click_button( value => 'Send' );
       };

       #If it breaks, then we try first button..
       if ($@) {
           eval { $mech->click_button( number => 1 ); };

           #..if that also breaks all hope is lost..
           if ($@) {
               print "\nCan't send SMS. HTML changed. Adjust source.."
                 if ( $self->conf( -debug ) );
               return 0;
           }
       }
       if ( $mech->content() =~ m/Din melding er sendt/i ) {
           return 1;
       }
       return 0;
   }

   #- - - - - - - - - - - - - - - - - - - -
   #Some quick bullshit to get sms-messages left to send.
   sub smsleft {
       my $self = shift;
       my $mech = $self->conf( -mech );

       #Auto login, if not already logged in.
       if ( not ref $mech =~ /mech/i ) {
           $self->login();
           $mech = $self->conf( -mech );
       }
       my $smsurl = $self->conf( -smsurl ) or croak "Missing SMSurl.";
       my $resp = $mech->get($smsurl);

       #<p>Du har 5 SMS til gode </p>
       my ($left) = ( $resp->content() ) =~ m-<p>Du har.+?(\d+)-;
       return $left;
   }

   #- - - - - - - - - - - - - - - - - - - -
   1;

Lenke til kommentar
  • 3 uker senere...

Ja, nå blei jeg spent..hehe..

 

men må vel gå ut ifra at "no news is good news", i den forstand at modulen fungerer.

 

Btw, best å se på koden i "low fi" modus (link nederst på siden), slik at den fine perltidy formatering av koden kommer frem :)

 

og er det kommet noen flere gode SMS sites der ute som kan være interessante?

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...