No a máte ty data a hlavičku skutečně vpořádku? Což takhle si to pro kontrolu zobrazit?

----- Original Message ----- From: "Szkandera.Karel" <szkandera.ka...@seznam.cz>


Děkuji za odpověď, bohužel s tímto content-typem jsem to taky zkoušel, ale nefunguje to. Při tomto zadání mi to vrátí chybovou stránku serveru " v aplikaci nastali neočekávaná chyba [callback/viewstate/mac]. Tento typ chyby vzniká, pokud nesouhlasí kontrolní mechanizmy aplikace zajišťující konzistenci odeslaných a přijatých interních aplikačních dat na klienta a zpět (odeslaná data nesouhlasí s daty přijatými). "


Message: 2
Date: Sun, 07 Feb 2010 16:24:24 +0100
From: "azurIt" <azu...@pobox.sk>

len co som to zbezne pozrel, tak pri POST musi byt hlavicka Content-Type
nastavena na application/x-www-form-urlencoded

azur


>-----Pôvodná správa-----
>Od: Szkandera.Karel [mailto:szkandera.ka...@seznam.cz]
>Komu: python@py.cz
>Predmet: [python] python http
>
>
>Ahoj,
>
>chci posilat pomoci pythonu automaticky data do jednoho formulare na webu >a
nasledne odpoved zpracovat. Ikdyz bych rekl, ze by to melo jit, tak mi to
nevraci kyzeny vysledek. Chtel jsem, aby mi nasledujici skript vratil stranku s vyplnenym katastralnim uzemim a kam bych mohl nasledne zadat vyplnit parcelni
cislo, ale vypada to, jakoby se ten POST nepovedl. Nevite v cem je chyba?
Dekuji
>
>
>import httplib, urllib, urllib2, cookielib
>
>#definice pouzivanych promennych
>adresa = 'http://m.nahlizenidokn.cuzk.cz/VyberParcelu.aspx'
>cesta_k_vysledku='d:/python/cuzk/vysledek.html'
>cislouzemi = '635561'
>parcela = '1350'
>headers = {'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2','Content-type':
'application/xhtml+xml'}
>text = ''
>
>
>#poslani metodou get + ziskani vildacniho kodu
>conn = httplib.HTTPConnection("m.nahlizenidokn.cuzk.cz")
>odpoved = conn.request("GET", "/VyberParcelu.aspx", headers=headers)
>r1 = conn.getresponse()
>odpoved = r1.read()
>
>
>x = odpoved.find('__VIEWSTATE" value="')
>y = len('__VIEWSTATE" value="')
>z = odpoved.find('" />',x+y)
>state = odpoved[x+y:z]
>
>x = odpoved.find('__EVENTVALIDATION" value="')
>y = len('id="__EVENTVALIDATION" value="')
>z = odpoved.find('" />',x+y)
>valid = odpoved[x+y:z]
>
>
>#poslani metodou POST
>params = urllib.urlencode({'__VIEWSTATE' : state, '__EVENTVALIDATION' : >valid
,'ctl00$bodyPlaceHolder$vyberKU$btnKU' : 'Vyhledat' ,
'ctl00$bodyPlaceHolder$vyberKU$txtKU' : cislouzemi})
>headers = {'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2', 'Content-type':
'application/xhtml+xml'}
>
>conn.request("POST", "/VyberParcelu.aspx", params, headers)
>response = conn.getresponse()
>print response.status, response.reason
>
>#kontrolni vytisknuti odpovedi do souboru
>data = response.read()
>text=text + str(data)
>
>pridat = file(cesta_k_vysledku,'w')
>pridat.write(text)
>pridat.close()

_______________________________________________
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python
_______________________________________________
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Odpovedet emailem