Re: [python] python http
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 To: python@py.cz Subject: Re: [python] python http Message-ID: 67ca4e1343274a448d7268ea31d52...@pobox.sk Content-Type: text/plain; charset=utf-8 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
Re: [python] python http
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
[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
Re: [python] python http
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