Portál AbcLinuxu, 25. dubna 2024 12:35


Dotaz: automaticke vyplneni www formulare

3.9.2004 20:59 border
automaticke vyplneni www formulare
Přečteno: 990×
Odpovědět | Admin
zdravim,

snazim se vyrobit skript, ktery by za mne provadel kazdodenne se opakujici ukoly /zjisteni zpozdeni vlaku pres idos, ranni predpoved pocasi atd/ a dle vysledku [neco] zahlasil. potiz je v tom, ze netusim, jak "strojove" vyplnit prislusna okenka, ktera normalne vypisi v prohlizeci. ve sve podstate jde o totez, co NYNI v tomto dotazu pisi rucne. mozna je chyba v pokladani nevhodnych slov vyhledavacum, nicmene zatim jsem se jen nejasne dozvedel, ze existuji dve metody stavby formularu /get a post/, a zasekl se. puvodni predstava byla hurvinkovsky jednoducha, wgetem stranku stahnu, sedem upravim a necim /?/ odeslu. kdyz zkrachovalo toto, hledal jsem zase cosi jako neinteraktivni pouziti klasickych prohlizecu...

dik za pripadne nakopnuti aneb feel free to flame me with rtfm as long as you tell me where in tfm to r :)

borda
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

3.9.2004 21:12 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
Rozbalit Rozbalit vše Re: automaticke vyplneni www formulare
Odpovědět | | Sbalit | Link | Blokovat | Admin

RFC 2616

nebo malá ukázka

případně další

Pomoci by mohl i curl (man curl)

Copak toho není dost?
3.9.2004 21:13 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: automaticke vyplneni www formulare
Odpovědět | | Sbalit | Link | Blokovat | Admin
Většina formulářů bere parametry i v GETu, takže

http://example.org/sillyform.asp?parametr=hodnota&cosi=kdesi&foo=bar
3.9.2004 21:23 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
Rozbalit Rozbalit vše Re: automaticke vyplneni www formulare
Zrovna idos.cz se k tomu moc nemá. (ale zkoušel jsem jenom FromSt a ToSt, třeba toho chce víc, kdo to má hledat rozlezlé po celé stránce) Asi bude na POST trvat.
Copak toho není dost?
3.9.2004 22:38 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: automaticke vyplneni www formulare
Znám borce, co napsal na IDOS skript, který mu i posílá odpovědi na mobil ... zítra se s ním nejspíš uvidím.
4.9.2004 15:45 Jiří Unčovský
Rozbalit Rozbalit vše Re: automaticke vyplneni www formulare
Mam dojem ze IDOS kontroluje referer (ci jak so to jmenuje).
5.9.2004 09:55 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: automaticke vyplneni www formulare
Chm, tento skript je specializovaný pro MHD v Brně a funguje. Referer nikde nenastavuje. Můžeš se v něm pokusit vyznat ;-)
5.9.2004 20:52 border
Rozbalit Rozbalit vše Re: automaticke vyplneni www formulare
tak jeste jednou dik... v perlu dvakrat dobry nejsem, i kdyz ten navrh me laka... pro mou potrebu vsak bohate staci curl - ma vse od cookies az po prenadhernou dokumentaci na domovske strance...

tial borda
3.9.2004 21:46 border
Rozbalit Rozbalit vše Re: automaticke vyplneni www formulare
Odpovědět | | Sbalit | Link | Blokovat | Admin
mne asi ceka dlouha noc :D, ale vam patri me diky... ta reakce byla skutecne zatracene rychla...
4.9.2004 14:50 paja
Rozbalit Rozbalit vše Re: automaticke vyplneni www formulare
Taky muzes zkusit perlovy modul WWW::Mechanize. Umi automaticky stahnout formular, vyplnit, odeslat ho zpet a dat vysledek. Pokud pises trochu v Perlu, podivej se na nej, mohl by ti usetrit spoustu prace.
6.9.2004 08:27 Tomáš | skóre: 31 | blog: Tomik
Rozbalit Rozbalit vše Re: automaticke vyplneni www formulare
Odpovědět | | Sbalit | Link | Blokovat | Admin
man wget

přečtěte si něco o CGI skriptech. Neklepší je odchytit si požadavek, který se posílá na server a ten potom nacpat jako parametr wget.
25.1.2007 14:09 David Zirhut
Rozbalit Rozbalit vše Re: automaticke vyplneni www formulare
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tak jsem na to sednul a ten skript jsem napsal. Je dostupny normalne online nebo si ho stahnete a dejte k sobe na server. Funguje jak pro http://www.idos.cz tak pro http://www.dpp.cz/idos/

http://user.spiritualy.cz/lib/idos.php

David
23.2.2007 14:05 tlacenka | skóre: 2
Rozbalit Rozbalit vše Re: automaticke vyplneni www formulare
Odpovědět | | Sbalit | Link | Blokovat | Admin
Potrebuju stahnout stranku, na kterou se dostanu az po prihlaseni na serveru. Prihlasovaci formular vypada takhle:

 <FORM method=POST name='formular' action='./login.php'> 
	  <B>Přihlašovací jméno</b>
	  <INPUT type=text class=input name=loginname style='text-align:center'>
	  <B>Heslo</b>
	  <INPUT type=password class=input name='loginpass' style='text-align:center'>
	  <INPUT type=submit name=login value='Přihlaš' class=button>

	</FORM>
	<br />
	<a href='#' onClick='openPass()'>Zapomněl jsi heslo?</a>
;

podle vseho by to melo jit prikazem wget nasledovne:

nejdriv prihlaseni:
wget --save-cookies cookies.txt --post-data 'loginname=jmeno&loginpass=heslo' http://www.server.cz/login.php
--11:30:22-- http://www.server.cz/login.php
Resolving www.server.cz... 209.193.1
Connecting to www.server.cz|209.193.1|:80... connected.
HTTP požadavek odeslán, program čeká na odpověď ... 200 OK
Délka: 4854 (4,7K) [text/html]
Saving to: `login.php'
pak dotaz na stranku co me zajima:
wget --load-cookies cookies.txt -p http://www.server.cz/info.php?pocet=20
kterej me ovsem presmeruje na /login.php kterou stahne. a jeste stahne soubor robots.txt kterej obsahuje nasledujuici:

User-agent: *
Disallow: /cgi-bin/ 
a v cookies se nic neulozi. jeste jsem pri prihlasovani zkousel dat parametr --keep-session-cookies ,ale vysledek stejnej, stahne se /login.php a robots.txt.

Budu vdecnej kdyz mi nekdo osvetli kde delam chybu. predem dik
xkucf03 avatar 23.2.2007 16:41 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: automaticke vyplneni www formulare
Odpovědět | | Sbalit | Link | Blokovat | Admin
wget umí i post:

--post-file=file Use POST as the method for all HTTP requests and send the specified data in the request body. "--post-data" sends string as data, whereas "--post-file" sends the contents of file. Other than that, they work in exactly the same way. ... a taky viz RFC k HTTP

btw: nevíte někdo o seznamu veřejně dostupných webových služeb? Třeba na jízdní řády by to bylo lepší než matlat nějaké POSTy a tvářit se jako prohlížeč a pak parsovat HTML. Když jsem hledal "webová služba" "webservice" atd. tak jsem většinou našel jen stránky jak WS programovat.
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.