, mert itt nem igazán akar menni :S
Ezt a sort át kell írni:
curl --cookie SESS...=.... http://hup.hu/user/$SAJATID/track 2>/dev/null |
A süti kiszedhető pl. a mozilla (firefox) cookies.txt fájljából
A $SAJATID pedig értelemszerűen a megfelelő azonosító itt a hupon :)
function callperl()
{
perl -e \
'
my $len = 0;
my $str = "";
while (<>) {
if ($len == 0 && /^([[:space:]]*)'"$1"'/) {
$len = length($1);
for ($i = 0; $i != $len; ++$i) {
$str .= " ";
}
} elsif ($len > 0) {
if ($_ !~ /^$str'"$2"'/) {
print;
} else {
$len = -1;
}
}
}'
}
curl --cookie SESS...=.... http://hup.hu/user/$SAJATID/track 2>/dev/null |
sed 's/.*DOCTYPE.*/<!DOCTYPE SYSTEM XHTML transitional>/;s#.*ttp://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd.*##' |
perl -e '$last = ""; while (<>) { if ($last =~ /^<\/tr>$/ && /^<\/form>$/) {} else{ print;} $last = $_; }' |
tidy -utf8 -q -i -w 0 2>/dev/null |
callperl '<div id="tracker">' '<\/div>' |
callperl '<tbody>' '<\/tbody>' | sed 's/<tr class=.*/<tr>/;s/^ *//' | egrep -v '^[[:space:]]*$' |
(
FIRST=0
LAST=0
LINEINDEX=0
HASNEW=0
DELIM='`'
D=$DELIM
while read; do
[ "X$REPLY" = "X<tr>" ] && FIRST=1 || FIRST=0
[ "X$REPLY" = "X</tr>" ] && LAST=1 || LAST=0
[ $FIRST = 1 ] && LINEINDEX=0
if [ $FIRST = 0 -a $LAST = 0 ]; then
# intermediat lines
LINEINDEX=$[ $LINEINDEX + 1 ]
REPLY=$(echo "$REPLY" | sed -r 's#</?td>##g';)
case $LINEINDEX in
1)
TYPE=$REPLY
HASNEW=0
;;
2)
URL=$(echo "$REPLY" | sed -r 's#<a href="([^"]+)".*#\1#');
TEXT=$(echo "$REPLY" | sed -r 's#<a href="[^"]+">(.*)</a>#\1#')
;;
3)
;;
4)
echo "$REPLY" | grep -q '<br' && HASNEW=1 || HASNEW=0
;;
5)
if [ $HASNEW = 1 ]; then
NEWURL=$(echo "$REPLY" | sed -r 's#<a href="([^"]+)".*#\1#');
NEWTEXT=$(echo "$REPLY" | sed -r 's#<a href="[^"]+">([^ ]+) [^<]+</a>#\1#')
fi
;;
esac
fi
if [ $LAST = 1 -a $HASNEW = 1 ]; then
echo $TYPE$D$URL$D$TEXT$D$NEWURL$D$NEWTEXT
fi
done
)
A lényeg itt van:
if [ $LAST = 1 -a $HASNEW = 1 ]; then echo $TYPE$D$URL$D$TEXT$D$NEWURL$D$NEWTEXT fi
Ezt lehet tetszőlegesen felhasználni:
- TYPE
- A bejegyzés típusa, pl. blogbejegyzés, vagy szavazás
- URL
- A bejegyzés url-je, pl. /node/6544 vagy /cikkek/akarmi
- TEXT
- A bejegyzés címe, pl. "Friss hozzászólások (saját adatok közt)"
- NEWURL
- Ennek sok értelme nincsen, lényegében a $URL#new lesz
- NEWTEXT
- Az új hozzászólások száma
A fentiek alapján kis hegesztéssel (adatbázis backend, akár sqlite, vagy sima szöveges fájl, xml, vagy ami jólesik) megoldható, hogy a régi, phpBB-s új hozzászólás értesítés is működjön (levél érkezett). Vagy sajátgépen feljöhet egy ablak (dialog, kdialog, és így tovább).
- Panther blogja
- A hozzászóláshoz be kell jelentkezni
- 1089 megtekintés
Hozzászólások
A tracker a http://hup.hu/tracker/$USERID cimen is elerheto.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Köszi. Ez lényegében ugyanaz, szóval ízlések és pofonok. Nekem a szkript-ben lévő változat van a könyvjelzők között...
- A hozzászóláshoz be kell jelentkezni
curl --cookie SESS...=.... http://hup.hu/user/18091/track 2>/dev/null | Nekem így néz ki konkrétan a sorom, de nem kapok semmit kimenetre..
Ezt meg nem értem egészen
"A süti kiszedhető pl. a mozilla (firefox) cookies.txt fájljából"
Miért kell ezt nekem kiszednem? btw sudo find / -name cookies.txt nem talált semmit... :(
Leírnád neked, hogy néz ez ki konkrétan? Bocsi az értetlenkedésemért és előre is köszi, amúgy hozzá szeretnék csapni egy pynotify alkalmazást és úgy már egész pofás dolog jön ki belőle.. :)
- A hozzászóláshoz be kell jelentkezni
No most megnéztem, eléggé egyszerű, a live http header firefox extension-nel kiszedtem a HTTP kérés fejlécéből azt a sort, hogy
Cookie: SESSvalamilyen_hexa_szam=masik_hexadecimalis_szam;
Ebből lett a curl paraméter:
--cookie SESSvalamilyen_hexa_szam=masik_hexadecimalis_szam
végezetül a teljes sor:
SAJATID=2809
curl --cookie SESSvalamilyen_hexa_szam=masik_hexadecimalis_szam http://hup.hu/user/$SAJATID/track 2>/dev/null |
Egykoron a firefox nem tárolta sqlite-ban a sütiket, hanem normál fájlban, cookies.txt néven. Ezt könnyű volt szerkeszteni, így nálam volt egy olyan sor, ami ugyanezeket tartalmazta és a távoli jövőben járt le:
.hup.hu TRUE / FALSE 2147369458 SESSvalamilyen_hexa_szam masik_hexadecimalis_szam
Láthatod, hogy ez a sor ugyanaz, mint amit a curl-nak megadtam, ráadásul megspóroltam a rendszeres időközönkénti bejelentkezést is a weboldalon, hiszen a süti lényegében sosem járt le.
- A hozzászóláshoz be kell jelentkezni
Az én általam ki operált cookies melyet az sqlite al szedtem ki, a hup.hu kulcsszóra keresve ez látható (többek között):
.hup.hu\tFALSE\t/\tFALSE\t1264710504\tSESSszámsor1\tszámsor2
SAJATID=18091
curl --cookie SESSszámsor=számsor2 http://hup.hu/user/$SAJATID/track 2>/dev/null |
A scriptet futtatva nem kapok semmit a kimenetre, most épp nem is volt új hozzászólás, elnézést a tudatlanságomért de nem ismerem a nyelvet nem nagyon tudom mit kéne visszakapnom, illetve csak akkor lesz valami a kimeneten ha lesz új olvasatlan post a tartalmaimnál?
- A hozzászóláshoz be kell jelentkezni