[python] sockety - problem s HTTP spojenim
Tomy novella
tomasnovella na gmail.com
Úterý Listopad 20 19:47:11 CET 2007
ahooj :),
noo pozeral som jeden example a doplnil som ho 2 riadkami kodu na konci:
----------------------------------------
#! /usr/bin/python
import asyncore
class http_client(asyncore.dispatcher):
def __init__(self, host,path):
asyncore.dispatcher.__init__(self)
self.path = path
self.create_socket(socket.AF_INET, socket.SOCK_STREAM)
self.connect( (host, 80) )
self.buffer = 'GET %s HTTP/1.0\r\n\r\n' % self.path
def handle_connect(self):
pass
def handle_read(self):
data = self.recv(8192)
print data
def writable(self):
return (len(self.buffer) > 0)
def handle_write(self):
sent = self.send(self.buffer)
self.buffer = self.buffer[sent:]
# to su tie moje 2 riadky kodu :), nevrati funkcnu stranku, ale len
error 404 :)
client = http_client("www.google.sk", "/index.php")
client.handle_read()
----------------------------------
problemom vsakje, ze hadze mi error:
Traceback (most recent call last):
File "./asyncore.py", line 2, in <module>
import asyncore
File "/home/tomi/tomi/develop/python/asyncore.py", line 3, in <module>
class http_client(asyncore.dispatcher):
AttributeError: 'module' object has no attribute 'dispatcher'
comu absolutne nechapem, pretoze som predsa naimportoval asynchat,
takze neviem preco mi to nechce najst triedu dispatcher ;(
v com je problem?
Dňa 17.11.2007, Tomy novella <tomasnovella na gmail.com> napísal(a):
> ahoj,
>
> ondrej: viem, ze je na 7000, ale funguje aj na porte 23 - skusal som
> uz tak frcat cez program telnet aj cez "nc atlantis.talker.sk 23".
> takze v tom asi chyba nebude :-)
>
> veros: noo uznavam, ze som nic nenapisal o tom, PRECO to nejde, ale
> nenapisal som to z dovodu, ze je to par riadkovy skript a myslel som
> si, ze profici v diskusii mi hned najdu tu chybu v tom mojom skripte
> ;)
> ale pre ujasnenie, nacita mi to prvu stranku, ako keby som sa pripojil
> do atlantis talkra cez telnet, alebo netcat, ale potom mi uz nereaguje
> na zadany vstup, presnejsie prvykrat mi dovoli nieco napisat(zobrazi
> sa mi "prompt": 'napis text:'), ale potom uz je len prazdny riadok bez
> promptu a nejde to tak, ako som si predstavoval :(
>
> no a nakoniec najdlhsia odpoved ;)
> filip: funkciu exit som napisal, lebo ked som ju napisal, tak mi ju
> idle zvyraznilo, ako keby ju poznalo, tak som ju tam nechal : )
> funkcia recv (imho) funguje v tomto pripade, nakolko mi to este tu
> uvodnu obrazovku atlantisu zobrazi zobrazi :( idem sa pozriet na tie
> moduly asyncore a asynchat, ktore si mi napisal. mimochodom to oni
> riesia to cez neblokovane spojenie?
>
>
>
> 2007/11/16, Věroslav Kaplan <veros.kaplan na gmail.com>:
> > On Nov 16, 2007 7:37 PM, Tomy novella wrote:
> >
> > > - skusam si spravit klienta na telnet, resp. chcem, aby ma to
> > > pripojilo na atlantis.talker.sk problemom vsak je, ze
> > > nefunguje(nedokaze komunikovat) ;( what`s wrong?
> >
> > Jesti můžu poradit, tak místo "nefunguje" je vhodné popsat příznaky detailněji:
> > - co čekám že můj výtvor bude dělat
> > - co opravdu dělá a kdy se začne moje očekávání lišit od skutečného stavu.
> >
> > Pokud se vyskytnou nějaké neočekávané výstupy (třeba chybové
> > exceptions), tak je přiložit taky. Chybové výstupy však přikládat s
> > mírou, moje zkušenost praví, že pokud musím číst víc než 20-30 řádků,
> > tak mne to přestane bavit (a stejně jako většina lidí tady odpovídám
> > ve volném čase a mám ho málo).
> >
> > Z toho, co jsi poslal "nefunguje (nedokaze komunikovat)" nevím, co si
> > mám představit. To je jako bych zavolal do servisu: "nejede mi auto"
> > :-)
> >
> > Čím líp se budeš ptát, tím lepší odpovědi dostaneš. Probatum est.
> >
> > --V
> > PS: Omlouvám se čtenářům za off-topic, ale třeba se takhle dobereme
> > výsledku rychleji a s menším úsilím..
> > _______________________________________________
> > Python mailing list
> > Python na py.cz
> > http://www.py.cz/mailman/listinfo/python
> >
>
>
> --
> PS: prosim v mailoch tykat! nie vykat ;)
>
> Tom na sQo
> tomasnovella na gmail.com
>
--
PS: prosim v mailoch tykat! nie vykat ;)
Tom na sQo
tomasnovella na gmail.com
Další informace o konferenci Python