Written by massi
Avevo anticipato che prima o poi avrei fatto un post tecnico di qualche tipo. Ora, visto che una delle cose che più mi divertono del mio lavoro è lo sviluppo di script bash, vi posto quello che ho fatto ieri sera. Lo scopo di questo script, totalmente educativo, è quello di riuscire a effettuare una serie di votazioni online, ma su un sondaggio che permette una sola votazione al giorno. Per fare questo ho usato l'opzione del comando curl che permette di effettuare chiamate attraverso l'uso di proxy; e su internet ci sono molti proxy che vengono utilizzati per la navigazione anonima; tra questi ce ne era uno in particolare che ne forniva una corposa lista :)
Ora tralasciando la forma perché l'ho fatto ieri sera e di fretta, quindi di bello non c'è niente e soprattutto di elegante, però c'è qualche spunto interessante, che ovviamente dovete nel caso capire da soli e riusarli per le vostre cose, ovviamente sempre a scopi educativi...Con questo script non ho fatto altro che effettuare il download della lista dei proxy usabili:
#!/bin/bash for (( c=1; c<=27; c++ )) do wget http://www.hidemyass.com/proxy-list/search-225390/$c done
Quest'altro script non fa nient'altro che pulire la lista (sono file html) dei proxy in modo tale da avere solamente IP e PORTA del sito da chiamare e poi successivamente effettuare le chiamete con il comando curl.
#!/bin/bash set -x for (( c=1; c<=27; c++ )) do for f in `cat $c | grep -A 2 "<td><span>" | grep -v "-" | grep "</td>" ` do echo $f | sed -e 's/<td><span>//g' | sed -e 's/<\/span><\/td>//g' | sed -e 's/<\/td>//g' >> file$c.txt done done for (( c=10; c<=27; c++ )) do a=1 for f in `cat file$c.txt` do dispari=$[a%2] if [ $dispari -eq 1 ]; then IP=$f fi if [ $dispari -ne 1 ]; then IP=$IP:$f curl --proxy $IP -d optSecenek="150" http://www.ttttttttttt.it/sondaggi/vota2.asp?ID=9 fi let "a += 1" done done