<div dir="ltr"><div>Mozna bych se netrapil s httplib a pouzil requests (<a href="http://docs.python-requests.org/en/latest/" target="_blank">http://docs.python-requests.org/en/latest/</a>) - odpadne ti spusta skadleni (enkodovani, par hlavicek, apod). </div>


<div>Co se tyce jednoduchyho posilani formu, driv sem docela loviskoval mechanize (<a href="https://pypi.python.org/pypi/mechanize/" target="_blank">https://pypi.python.org/pypi/mechanize/</a>). Jendoduchej priklad, jak primo zneuzit form ze stranky treba tady <a href="https://gist.github.com/starenka/750404" target="_blank">https://gist.github.com/starenka/750404</a> Vyhoda je takova, ze si to najde form a posle to se vsim vsudy, takze nemusis resit skryty inputy, csrf tokeny apod. I kdyz mi teda mnohem pohodlnejsi prijde si proste zjistit, co mas poslat (proste si to rucne vypln v browseru a pak se ve firebugu - nebo podobnym nastroji - podivej, co za post a hlavicky browser poslal) a zreplikuj to pomoci requests.</div>


<div><br></div><div>1. ano action ve <form> je kam se posila formular. je zadany bud relativne ke strance kde si nebo celou adresou, podle toho se zarid. ty samozrejme potrebujes celou adresu</div><div><br></div><div>


2. jo name=value</div><div><br></div><div>ps. nevim jesli uplne rozumim tem dotazum, tak me kdyztak nekamenuj ;)</div><div><br></div><div>s.</div><div><br></div><div class="gmail_extra"><br clear="all"><div>---<br><font color="#c0c0c0"><font size="1">In Perl you shoot yourself in the foot, but nobody can understand how you did it. Six months later, neither can you.</font></font> | print 'aknerats'[::-1]</div>



<br><br><div class="gmail_quote">2013/4/3 Roman Beno <span dir="ltr"><<a href="mailto:romanbeno273@gmail.com" target="_blank">romanbeno273@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div dir="ltr"><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div>Dobrý deň,<br></div><br></div>mal by som jednu otázku, a to ako konrétne poslať "správne dáta" z určitého formulára na server za pomoci httplib2.<br>



<br></div>Môj postup bol takýto:<br><br><br>==================================================<br></div>import httplib2<br></div>from urllib.parse import urlencode<br><br></div>inst = httplib2.Http(cache = ".cache", timeout = 5.0)<br>



</div># inst.add_credentials("meno", "heslo", "doména") , ak ide o fórum<br></div>data = {"parameter" : "data")<br></div>resp, cont = inst.request("URL", method = "POST", headers = {"Content-Type" : "<span><code>application/x-www-form-urlencoded</code>; charset = \"utf-8\""}, body = urlencode(data))<br>



=======================================================<br><br></span></div><span>Server vo väčšine prípadov vráti kód 200, ale kedže neviem či to funguje korektne (*1),<br>
</span></div><span>mal by som k tomu niekoľko otázok:<br><br></span></div><span>1) samotný formulár, prostredníctvom ktorého chcem poslať dáta. Je v poriadku že namiesto argumentu "URL" v metode Http.request uvádzam parameter formuláru "action" (v source formuláru)  ?<br>



<br></span></div><span>2) premenná data; existuje nejaká overená metóda, podľa ktorej dávať mená kľúčov v posielanom slovník, ktorý sa neskôr vhodí do urlencode() ? Ja tam zvyknem dávať atribút name konkrétnej značky input vo formulári, z ktorého chcem odoslať dáta.<br>



<br>_____________________________________________________<br><br></span></div><span>* 1 = Korektne, tým myslím výsledok rovnaký tomu, ako keby som ten formulár vyplnil ručne a klikol na submit. Trebárs postol nejaký príspevok na <a href="http://programujte.com" target="_blank">programujte.com</a> fore (len príklad). Mne to pri vyššie zmienovanom riešení (kóde) potrebný výsledok nedosahuje<br>



<br>_____________________________________________________<br><br></span></div><span>Neviem, či body 1 a 2 sú koreňmi problému, ale bol by som vďačný za akékoľvek funkčné riešenie (nemusí ísť o riešenie v httplib2, kľudne môže byť aj v urllib).<br>



<br>Ďakujem za prípadné odpovede<br></span><div><div><div><div><div><div><div><div><div><div><br></div></div></div></div></div></div></div></div></div></div></div>
<br>_______________________________________________<br>
Python mailing list<br>
<a href="mailto:Python@py.cz" target="_blank">Python@py.cz</a><br>
<a href="http://www.py.cz/mailman/listinfo/python" target="_blank">http://www.py.cz/mailman/listinfo/python</a><br></blockquote></div><br></div></div>