Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Internet a sítě => Téma založeno: KureIX 29 Srpna 2009, 20:21:48
-
Ahoj,
prosím o radu:
jak na RSS kanály v conky, které jsou přístupné pouze po zadání jména a hesla???
Popřípadě skript -> sobor -> vypis souboru pomocí conky
zkoušel jsem wget a http zabezpečení, samozřejmě jsem zjistil, že to není to pravé ořechové.
Díky za jakékoliv nápady.
-
Malinko zapeklita vec ale da se to.
Zakladni syntaxe pro rss pres Conky vypada takhle;
${rss http://forum.ubuntu.cz/index.php?type=rss;action=.xml 5 feed_title}
${rss http://forum.ubuntu.cz/index.php?type=rss;action=.xml 5 item_titles 5}
V danem pripade tahame rss z tohohle fora kazdych 5 minut a tahame 5 prispevku
Co vsak kdyby rss bylo podmineno HTTP autentifikaci ?
V pripade ze je podminka HTTP autentifikace, v tomhle pripade username a password jsou soucasti URL-ky .
Jak to tedy v praxi vypada ? Udelame si modelovou situaci za podminky ze nase username neobsahuje znak "@"
Rekneme ze tohle forum by bylo podmineno HTTP autentifikaci a potrebovali by sme nasledujici udaje:
username: ubuntucz
password: heslo
Syntaxe musi vypadat takhle:
http://[username]:[password]@[rss-url]
nase rss je
http://forum.ubuntu.cz/index.php?type=rss;action=.xml
Vyslednej string
http://ubuntucz:heslo@forum.ubuntu.cz/index.php?type=rss;action=.xml
Rss pro Conky v tomhle pripade
${rss http://ubuntucz:heslo@forum.ubuntu.cz/index.php?type=rss;action=.xml 5 feed_title}
${rss http://ubuntucz:heslo@forum.ubuntu.cz/index.php?type=rss;action=.xml 5 item_titles 5}
A ted situace za podminky ze nase username obsahuje znak "@"
Rekneme ze tohle forum by bylo podmineno HTTP autentifikaci a potrebovali by sme nasledujici udaje:
username: uzivatel@mail.com
password: heslo
Syntaxe musi vypadat takhle:
http://[username]:[password]@[rss-url]
nase rss je
http://forum.ubuntu.cz/index.php?type=rss;action=.xml
Vyslednej string
http://uzivatel%40mail.com:heslo@forum.ubuntu.cz/index.php?type=rss;action=.xml
Rss pro Conky v tomhle pripade
${rss http://uzivatel%40mail.com:heslo@forum.ubuntu.cz/index.php?type=rss;action=.xml 5 feed_title}
${rss http://uzivatel%40mail.com:heslo@forum.ubuntu.cz/index.php?type=rss;action=.xml 5 item_titles 5}
Nase username obsahovalo znak "@" ktery musi byt zapsanej zpusobem "%40" (bez tech uvozovek) z duvodu URL-encodingu @ znaku v poli username)
Pozn.
tenhle popis je zakladni syntaxe pro rss readery s HTTP autentifikaci, v pripade problemu se muzes pokusit zmenit take druhej @ znak na %40
-
Vyzkouseno,
bohuzel terminal hazi chybku:
:1: parser error : Space required after the Public Identifier
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
^
:1: parser error : SystemLiteral " or ' expected
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
^
:1: parser error : SYSTEM or PUBLIC, the URI is missing
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
^
:2: parser error : AttValue: " or ' expected
<HTML dir=ltr><HEAD><TITLE>The page cannot be displayed</TITLE>
^
:2: parser error : attributes construct error
<HTML dir=ltr><HEAD><TITLE>The page cannot be displayed</TITLE>
^
:2: parser error : Couldn't find end of Start Tag HTML line 2
<HTML dir=ltr><HEAD><TITLE>The page cannot be displayed</TITLE>
^
:2: parser error : Extra content at the end of the document
<HTML dir=ltr><HEAD><TITLE>The page cannot be displayed</TITLE>
muj pass ma nakonci @
vyzkousel jsem variantu hesl@@ i hesl%40@
jinak jsem se to pokousel resit takto:
1. download stranky pomoc wget
2. vystrihnuti jen tech potrebnych radku pomoci sed, grep apod. prikazu
3. vypis souboru v conky
takto to funguje, jen neumim moc pracovat s prikazem sed a proto to jeste neni ono.
Vas navod je ale elegantnejsi a pokud by fungoval, byl bych za nej radsi.
diky:)
-
Zadal jsem stranku ve firefoxu rovnou s tim jmenem a heslem a firefox vyhazuje toto:
Chcete se přihlásit na stránku "faf.cuni.cz" s uživatelským jménem "blabla,", ale tato stránka nevyžaduje autentizaci. Může se jednat o pokus vás oklamat.
Je stránka "faf.cuni.cz" skutečně tou stránkou, kterou chcete navštívit?
stranka jinak autentizaci samozrejme vyzaduje
-
zkus sem postnout kopletni url pro rss co chces tahat.
Zitra odsleduji jak to parsuje python. Mimochodem ty varianty jsou takhle:
http://uzivatel%40email.com:heslo@podstranka.web.com/rss.php
anebo
http://uzivatel%40email.com:heslo%40podstranka.web.com/rss.php
Jak sem vsak psal tohle je generalni syntaxe, bude treba kouknout co vlsatne dela python kdyz to parsuje.
-
ted asi chapu co si psal, zkus kazdej znak @ pokud je v username anebo v heslu zmenit na %40
pokud to nepujde tak zmen znak @ ktery spojuje autentifikaci (username:heslo) s webem taky na %40
muj pass ma nakonci @
vyzkousel jsem variantu hesl@@ i hesl%40@
asi takhle:
http://username:mojeheslo%40@podstranka.tvujweb.com/rss.php
a kdyz nepujde tak zkus takhle
http://username:mojeheslo%40%40podstranka.tvujweb.com/rss.php
-
vyzkouseno, nejde
-
zkousim se nekde zaregistrovat pro privatni rss abych to mohl odsledovat, hned jak to udelam dam vedet
-
Odkud to vlastne chces tahat ?
-
Mimochodem na ty strance co jsi zkousel : faf.cuni.cz nevidim zadne rss, anebo je to az po prihlaseni?
Jestli ano posli jenom URL pro to rss
-
No nevim co presne zkousis ale pokud si na strance dam vyhledavat slovo "zentiva" a nasledne jsi kliknu na rss-ko tak mi to nadherne vyplivne vsechno bez autentifikace, a prohledava to cely RSS kanal
dej si do firefoxu tohle a uvidis
http://www.faf.cuni.cz/Search/_layouts/srchrss.aspx?k=zentiva&s=V%C5%A1echny%20weby&u=&start=1&source=http%3A%2F%2Fwww.faf.cuni.cz%2FSearch%2Fresults.aspx%3Fk%3Dzentiva (http://www.faf.cuni.cz/Search/_layouts/srchrss.aspx?k=zentiva&s=V%C5%A1echny%20weby&u=&start=1&source=http%3A%2F%2Fwww.faf.cuni.cz%2FSearch%2Fresults.aspx%3Fk%3Dzentiva)
takze stale jsem nepochopil o co jse pokousis. Pokud se chces dostat do nektery sekce ktera je chranena heslem (.htaccess/.htpasswd), tak zpusob co jsem ti psal je 1000% ucinnej, samozrejme za predpokladu ze znas spravne username a password.
Rss pro vsechny weby jenom po zadani pismena "e"
http://www.faf.cuni.cz/Search/_layouts/srchrss.aspx?k=e&s=V%C5%A1echny%20weby&u=&start=1&source=http%3A%2F%2Fwww.faf.cuni.cz%2FSearch%2Fresults.aspx%3Fk%3De (http://www.faf.cuni.cz/Search/_layouts/srchrss.aspx?k=e&s=V%C5%A1echny%20weby&u=&start=1&source=http%3A%2F%2Fwww.faf.cuni.cz%2FSearch%2Fresults.aspx%3Fk%3De)
-
Zadal jsem stranku ve firefoxu rovnou s tim jmenem a heslem a firefox vyhazuje toto:
Chcete se přihlásit na stránku "faf.cuni.cz" s uživatelským jménem "blabla,", ale tato stránka nevyžaduje autentizaci. Může se jednat o pokus vás oklamat.
Je stránka "faf.cuni.cz" skutečně tou stránkou, kterou chcete navštívit?
stranka jinak autentizaci samozrejme vyzaduje
A jako dalsi tohle se nezadava do firefoxu, nechtel si nahodou string pro Conky? Take to necpi ani pres terminal ale dej to do Conky, vzdyt jsem ti to v prvni odpovedi podrobne popsal.
-
jde o rss studijnich materialu, ktere je pristupne az po prihlaseni
rss kanal:
http://www.faf.cuni.cz/studium/_layouts/listfeed.aspx?List=b278c60a%2Df500%2D40c1%2D8585%2D36505cad4a79
Rss pro vsechny weby jenom po zadani pismena "e"
tohle jsem nejak nepobral
A jako dalsi tohle se nezadava do firefoxu, nechtel si nahodou string pro Conky? Take to necpi ani pres terminal ale dej to do Conky, vzdyt jsem ti to v prvni odpovedi podrobne popsal.
jasne. v conky to mam takto:
${color orange}${rss http://username:heslo@faf.cuni.cz/studium/_layouts/listfeed.aspx?List=b278c60a%2Df500%2D40c1%2D8585%2D36505cad4a79 10 feed_title}${hr 1}$color
${rss http://username:heslo@faf.cuni.cz/studium/_layouts/listfeed.aspx?List=b278c60a%2Df500%2D40c1%2D8585%2D36505cad4a79 10 item_titles 10}
tim vypisem jsem myslel vypis po spusteni conky v treminalu
do firefoxu jsem to cpal abych vyzkousel jestli se na to dostanu aniz by na me vyzkocilo popup okno na prihlaseni a nedostal.
hazel jsem to tam v teto podobe:
http://username:heslo@faf.cuni.cz/studium/_layouts/listfeed.aspx?List=b278c60a%2Df500%2D40c1%2D8585%2D36505cad4a79
a to pak vyhodilo tu chybovou hlasku
-
Tak ted chapu.
Sledujic tu tvoji URL tak v tomhle pripade
http://username:heslo@faf.cuni.cz/studium/_layouts/listfeed.aspx?List=b278c60a%2Df500%2D40c1%2D8585%2D36505cad4a79
to opravdu hodi chybovou hlasku, protoze ten server je ISS a vyzaduje v ty URL-ce www
takze zkus tohle:
http://username:heslo@www.faf.cuni.cz/studium/_layouts/listfeed.aspx?List=b278c60a%2Df500%2D40c1%2D8585%2D36505cad4a79
To username a heslo si tam dej samozrejme. Jako dalsi vec , s ISS sererama je to jinak nez s Apachem, vyzkousej vsechny varianty se znakem @ take bez prepisovani znaku na %40 , urcite vsak davej www.
Dej vedet co z toho vyslo, tohle co tam maji neni (htaccess/htpasswd) autentifikace ale Microsoftacke Web Services.Jednou jsem potreboval pres Curl z meho serveru (Apache + php) tahat data ze serveru na (ISS + .NET) a mel jsem username , password ale ten druhej server to nechtel akceptovat za nic na svete.
-
vyzkouseno s www a nefunguje
vyresil jsem to skriptem, urcite by se dal napsat elegantneji, nemam na to bohuzel znalosti:
#stahnuti stranky
wget --http-user=jmeno --http-password=heslo http://www.faf.cuni.cz/studium/_layouts/listfeed.aspx?List=b278c60a-f500-40c1-8585-36505cad4a79 --output-document=/home/kure/rssmat1
#zobrazeni radku, ktere obsahuji "title"
mawk '/title/ {print}' /home/kure/rssmat1 > /home/kure/rssmat2
#smaze <title\> na zacatku i na konci radku
cat /home/kure/rssmat2 | sed s/\<title\>// | sed s/\<\\/title\>// > /home/kure/rssmat3
#zobrazi poslednich 15 radku(prvni dva nepotrebuji)
tail -n 15 /home/kure/rssmat3 > /home/kure/rssfinal
a v conky:
${execpi 5 /bin/cat /home/kure/rssfinal}
+ spousteni skriptu v crontabu
mam jen problem, ze v conky se vypisuje jen prvnich x znaku a ne vsech 15 radku
musim jeste pohledat
jakekoliv pripominky jsou vitany:)