Archief - Skynetmeter perlscript

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

DaWizard

Legacy Member
Ik heb mij eens bezig gehouden met het schrijven van een perlscript dat het gebruikte volume bij Skynet kan tonen. Login en password invullen in het script en dan het script runnen. De output toont het gebruikte volume en eventueel gebruikte volume packs.

Je kan het scriptje hier downloaden.

Bugs, suggesties,... mag je altijd melden :)

G|N|

Legacy Member
sorry ik kan niet echt commentaar geven ofzo (want ik heb scarlet en geen skynet), maar het is eerder een vraagje.
kheb ook al wat geprobeerd iets gelijkaardig te schrijven, maar ik zit vast bij het inlezen van de webpagina.

dit is de url: http://customercare.scarlet.be/logon.do?username=login&password=paswoord
en dan kom ik direct op de juiste pagina waar alles opstaat. maar
curl -s $url > test.txt, laat alleen een leeg bestand achter.
moet je echt met cookies werken of kan gewoon direct ophalen ook?

DaWizard

Legacy Member
G|N| zei:
sorry ik kan niet echt commentaar geven ofzo (want ik heb scarlet en geen skynet), maar het is eerder een vraagje.
kheb ook al wat geprobeerd iets gelijkaardig te schrijven, maar ik zit vast bij het inlezen van de webpagina.

dit is de url: http://customercare.scarlet.be/logon.do?username=login&password=paswoord
en dan kom ik direct op de juiste pagina waar alles opstaat. maar
curl -s $url > test.txt, laat alleen een leeg bestand achter.
moet je echt met cookies werken of kan gewoon direct ophalen ook?

Direct ophalen is volgens mij niet mogelijk. Dergelijke websites gebruiken meestal sessioncookies om te zien of je bent ingelogd of niet. Ik wil je daarbij wel helpen. Check pm voor mijn contactinfo.

AcIdR3IgN

Legacy Member
Khebbet es bekeken, en ik vindt het een leuk idee.. ik was zelf ook van plan om een gelijk aardige script te schrijven. Ik ben wel 'nieuw' bij perl, maar heb een aantal opemerkingen.
Ik zie dat je veel system calls doe.. en van wat ik heb gelezen (Llama boek).. is dit best af te raden (allee, 'af te raden').. system calls maken het programma aanzienlijk trager.. mja.. enzijn er geen andere methodes dan enkel curl te gebruiken..allee denk het wel.. is gewoon een kwestie om het portable te maken he, en niet egoistisch te zijn ;).

Btw, correct me if I'm wrong.
Kzal er deze week wat meer enne kijken. Nice job though

DaWizard

Legacy Member
AcIdR3IgN zei:
Khebbet es bekeken, en ik vindt het een leuk idee.. ik was zelf ook van plan om een gelijk aardige script te schrijven. Ik ben wel 'nieuw' bij perl, maar heb een aantal opemerkingen.
Ik zie dat je veel system calls doe.. en van wat ik heb gelezen (Llama boek).. is dit best af te raden (allee, 'af te raden').. system calls maken het programma aanzienlijk trager.. mja.. enzijn er geen andere methodes dan enkel curl te gebruiken..allee denk het wel.. is gewoon een kwestie om het portable te maken he, en niet egoistisch te zijn ;).

Btw, correct me if I'm wrong.
Kzal er deze week wat meer enne kijken. Nice job though

Volkomen gelijk! Die systemcalls vertragen de uitvoering enorm. Als ik nog eens tijd en goesting heb dan zal ik het herschrijven en gebruik maken van LWP. Het scriptje was echter bedoeld voor eigen gebruik en het kon mij niet schelen of de uitvoertijd iets langer was. Maar nu ik het online heb gezet is er geen weg terug :D Dus er komt een update ;)

Oja portable: ik heb ondertussen een klein programma in .NET geschreven met dezelfde functionaliteit als dit perlscriptje. We mogen onze Windowsgebruikers niet uitsluiten :p

EDIT: voor de geïnteresseerden, de .NET versie staat nu ook op mijn website

AcIdR3IgN

Legacy Member
hmm kzal me eens bezig houden met da scriptjes eens wa te hacken... kan misschien een leuk project zijn :)

GuntherDW

Legacy Member
ik heb me beziggehouden me PHPtelemeter te updaten, maar dit past eigenlij niet hier :p

dJeez

Legacy Member
GuntherDW zei:
ik heb me beziggehouden me PHPtelemeter te updaten, maar dit past eigenlij niet hier :p
Je had beter ff gewacht want TN gaat binnenkort de backend van z'n Telemeter aanpassen (cfr. http://pub.pandora.be/) :p. 'k Heb PUB maar ff gemaild om te vragen of de specs gaan vrijgegeven worden of niet, omdat 'k zinnens was van zelf een crossplatform appje te maken (dat dan zou werken op Windows, Linux en Mac OS X - uiteraard liefst met 1 gemeenschappelijke codebase).

GuntherDW

Legacy Member
dJeez zei:
Je had beter ff gewacht want TN gaat binnenkort de backend van z'n Telemeter aanpassen (cfr. http://pub.pandora.be/) :p. 'k Heb PUB maar ff gemaild om te vragen of de specs gaan vrijgegeven worden of niet, omdat 'k zinnens was van zelf een crossplatform appje te maken (dat dan zou werken op Windows, Linux en Mac OS X - uiteraard liefst met 1 gemeenschappelijke codebase).

i know, maar ondertusen kunt ge toch al stuff schrijven voor de huidige?
en khad gewoon een bugfix+wa handige addons ervoor geschreven :)

dJeez

Legacy Member
GuntherDW zei:
i know, maar ondertusen kunt ge toch al stuff schrijven voor de huidige?
'k Heb geen zin om nu al iets te schrijven als ik dat dan binnen 2 weken al terug naar de prullenmand mag verwijzen (zoveel vrije tijd heb 'k niet hoor, 'k ben een werkmens :p).

DaWizard

Legacy Member
ondertussen is de .NET versie van Skynetmeter al toe aan versie 0.2

Paar bugfixes en mooie balkskes ipv zuiver tekst :)

Maar eigelijk hoort deze info hier niet :p

dJeez

Legacy Member
DaWizard zei:
ondertussen is de .NET versie van Skynetmeter al toe aan versie 0.2

Paar bugfixes en mooie balkskes ipv zuiver tekst :)

Maar eigelijk hoort deze info hier niet :p
Toch wel, als je zorgt dat die .NET versie ook in Mono werkt (met GTK# vb.) :p.

DaWizard

Legacy Member
Sorry voor deze oude thread terug naar boven te halen maar toch even melden dat er een nieuwe update is.

Ik heb nu ook een versie in Java gemaakt. Dus nu ook in Linux een mooie GUI :woohoo:

Download: hier


G|N| van hier op het forum is bezig met een script voor Scarlet. Als het af is zal hij dit ook wel laten weten vermoed ik :)

G|N|

Legacy Member
mijn programma is ook zo goed als af (nog een paar kleine foutjes)
maar mensen die het al eens willen proberen, je kan het afhalen via cvs (alhoewel ik het nog nooit vanuit buiten mijn netwerk heb geprobeerd)
Code:
cvs -d :pserver:[email protected]:/home/cvs login
als er een paswoord wordt gevraagd, gewoon op enter drukken.
Code:
cvs -d :pserver:[email protected]:/home/cvs co scarletMeter-gui

het is geschreven in perl/tk dus zie dat je dat hebt geinstalleerd.

hopelijk kan iemand er gebruik van maken en er zitten nog fouten in maar na de examens zal het wel verbeterd worden!

Bubbling Zombie

Legacy Member
dJeez zei:
Je had beter ff gewacht want TN gaat binnenkort de backend van z'n Telemeter aanpassen (cfr. http://pub.pandora.be/) :p. 'k Heb PUB maar ff gemaild om te vragen of de specs gaan vrijgegeven worden of niet, omdat 'k zinnens was van zelf een crossplatform appje te maken (dat dan zou werken op Windows, Linux en Mac OS X - uiteraard liefst met 1 gemeenschappelijke codebase).

bump voor intresse & zware nood aan een telemeter :)

al meer info?

DieterDHoker

Legacy Member
Rap een pure perl implementatie gemaakt voor de scarlet meter,met LWP ipv. system call naar curl zodat deze ook zonder problemen op windows werkt.
Als je wat perl kan kun je deze gemakkelijk aanpassen naar skynet of iets anders denk ik. Wel gewoon commandline, vind ik handiger dan op knoppen gaan klikken in een GUI, dan kan ik evengoed rap inloggen op de site :)

Code:
#!/usr/bin/perl
# This is scarlet.pl, by Dieter D'Hoker
# prints how much data you've used up on your scarlet account on the command line
# scarlet.pl <username> <password>

use strict;
use LWP::UserAgent;
use HTTP::Request;
use HTTP::Cookies;
#use HTML::Entities;

# you can give username and password directly: "perl scarlet.pl <username> <password>"
my $username = $ARGV[0];
my $password = $ARGV[1];

# if username or password is not given, ask for it
if (not $username){
	print "Username:\n";
	$username = <STDIN>;
	chomp $username;
}
if (not $password){
	print "Password:\n";
	$password = <STDIN>;
	chomp $password;
}

# initialize UserAgent, Request, Result vars for LWP
my ($ua,$req,$res);


#start the user agent
$ua = LWP::UserAgent->new;
$ua->agent("Mozilla/4.0");
$ua->cookie_jar( HTTP::Cookies->new(
    'file' => '\cookies',
        # where to read/write cookies
    'autosave' => 1,
        # save it to disk when done
  ));


# The sequence of urls that has to be visited  
my @urls = ('http://customercare.scarlet.be/index.jsp?language=nl',
            "http://customercare.scarlet.be/logon.do?language=nl&username=$username&password=$password",
            'http://customercare.scarlet.be/usage/dispatch.do');
 
#get all the above urls           
foreach my $url(@urls){
    $req = HTTP::Request->new(GET => $url);
    $res = $ua->request($req);
    if (not $res->is_success){
    	print(' Something went wrong at: ',$url,' : ',$res->status_line, "\n");die;
    } 
  }
    

#put the HTML-source of the last URL fetched in $source
my $source= $res->content;


#parse the source and print everything
print "\nUsage for $username:\n";  
print "-" x length("Usage for $username:") . "\n\n"; 
if ($source =~ /<p>U hebt <b>(\d\d) \%<\/b>/i){
	my $percent = $1;
	my $used = '#' x ($percent/2);
	my $rest = '.' x ((100-$percent)/2);
	

	my @data = ($source =~ /\<th class=\"digit\"\>(.+)\<\/th\>/ig);
	print "DL:\t$data[0] \nUL:\t$data[1] \n+\t---------\nTOT:\t$data[2]\n";
	print "\n[$used$rest] ($percent\%)\n";
	
	}
else{ print "Could not parse website\n";die;}

GuntherDW

Legacy Member
Bubbling Zombie zei:
bump voor intresse & zware nood aan een telemeter :)

al meer info?

kwil dan wel meewerken aan dat appje alsek mag :)
(zeg me dan wel eerst in welke taal het geprogrammeerd word :)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan