Python: HTTP-pyynnöt

Voit pyytää apua ohjelmointiongelmiin täältä.
Post Reply
Toni
Newcomer
Posts: 19
Joined: Tue May 20, 2008 8:49 pm

Python: HTTP-pyynnöt

Post by Toni »

Tämä kysymys liittyy siis python-ohjelmointiin. Miten ja mitä luokkaa käyttäen kannattaa toteuttaa HTTP-pyynnöt. Jos joltakin löytyisi jotain pientä esimerkkikoodia kommenttien kera, niin olisi tosi mukavaa. Kyllähän tietenkin googlettamallakin löytyy aiheesta vaikka kuinka paljon, mutta niissä lähinnä kerrotaan eri luokkien metodeista eikä kunnolla niiden käytöstä yhdessä. Sen lisäksi en ole löytänyt kuin englanninkielistä materiaalia, joka on paikkapaikoin hieman vaikeaa ymmärtää...
mikeful
Moderator
Moderator
Posts: 523
Joined: Mon Aug 27, 2007 8:36 pm
Location: Vaasa, Finalnd
Contact:

Re: Python: HTTP-pyynnöt

Post by mikeful »

Mitä yrität saada aikaan?

Muutamakin tapa löytyy, mutta olisi helpompaa antaa suosituksia, jos tietäisi mihin aiot käyttää tätä.
Pelejä: Pelasta puhe, Grinder
Muuta: Blogi, Twitter
otto90x
Advanced Member
Posts: 349
Joined: Mon Aug 27, 2007 9:00 pm
Location: Lapinjärvi, Finland
Contact:

Re: Python: HTTP-pyynnöt

Post by otto90x »

Socket-luokan avulla lienee helpointa.
Otto Martikainen a.k.a. MetalRain, otto90x, kAATOSade.
Runoblogi, vuodatusta ja sekoiluja.
mikeful
Moderator
Moderator
Posts: 523
Joined: Mon Aug 27, 2007 8:36 pm
Location: Vaasa, Finalnd
Contact:

Re: Python: HTTP-pyynnöt

Post by mikeful »

Socketit on aika matalan tason juttuja. Niillä saa kontrollia kaikkeen, mutta urllib2 taitaa olla tässä tapauksessa helpompi ratkaisu. http://docs.python.org/dev/howto/urllib2.html
Pelejä: Pelasta puhe, Grinder
Muuta: Blogi, Twitter
Toni
Newcomer
Posts: 19
Joined: Tue May 20, 2008 8:49 pm

Re: Python: HTTP-pyynnöt

Post by Toni »

Tuo urllib oli erittäin hyvä mun käyttöön! Kiitos siitä!
Toni
Newcomer
Posts: 19
Joined: Tue May 20, 2008 8:49 pm

Re: Python: HTTP-pyynnöt

Post by Toni »

Onkos muuten tässä urllib-kirjastossa työkaluja, millä voisi kirjautua esim. jonkin nettisivun "kirjautumisjärjestelmään" suoraan ilman, että ensin täytyisi lähettää esim. POST-metodin kautta tiedot sivuille ja sitten lähdekoodia parsimalla selvittää onnistuiko kirjautuminen... Tuo on niin hidasta. Toki muutkin kirjastot käy, jos jossain vain tälläiset ominaisuudet löytyisivät...
mikeful
Moderator
Moderator
Posts: 523
Joined: Mon Aug 27, 2007 8:36 pm
Location: Vaasa, Finalnd
Contact:

Re: Python: HTTP-pyynnöt

Post by mikeful »

Riippuu täysin web-sivun rakenteesta. Yleensä POST:illa mennään sisään ja tuloksen joutuu parsia.
Pelejä: Pelasta puhe, Grinder
Muuta: Blogi, Twitter
Toni
Newcomer
Posts: 19
Joined: Tue May 20, 2008 8:49 pm

Re: Python: HTTP-pyynnöt

Post by Toni »

Mistäköhän tälläinen virheilmoitus mahtaa johtua? Dokumentaatiossa sanottiin, että palvelin pisti itsensä pulaan. Mitenköhän tämän voi ehkäistä, kun tuo pysäyttää ohjelman suorituksen.

Code: Select all

Traceback (most recent call last):
  File "C:\Documents and Settings\HP_Omistaja\Omat tiedostot\Ohjelmointi\Python\Web.py", line 65, in <module>
    if WebLogin(user,string) == 1:
  File "C:\Documents and Settings\HP_Omistaja\Omat tiedostot\Ohjelmointi\Python\Web.py", line 25, in WebLogin
    response = urllib2.urlopen(req)
  File "C:\Python25\lib\urllib2.py", line 121, in urlopen
    return _opener.open(url, data)
  File "C:\Python25\lib\urllib2.py", line 380, in open
    response = meth(req, response)
  File "C:\Python25\lib\urllib2.py", line 491, in http_response
    'http', request, response, code, msg, hdrs)
  File "C:\Python25\lib\urllib2.py", line 418, in error
    return self._call_chain(*args)
  File "C:\Python25\lib\urllib2.py", line 353, in _call_chain
    result = func(*args)
  File "C:\Python25\lib\urllib2.py", line 499, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 500: Internal Server Error
tuhoojabotti
Advanced Member
Posts: 485
Joined: Tue Aug 28, 2007 3:53 pm
Location: Suomi, Finland
Contact:

Re: Python: HTTP-pyynnöt

Post by tuhoojabotti »

Toni wrote:Mistäköhän tälläinen virheilmoitus mahtaa johtua? Dokumentaatiossa sanottiin, että palvelin pisti itsensä pulaan. Mitenköhän tämän voi ehkäistä, kun tuo pysäyttää ohjelman suorituksen.

Code: Select all

koodia

Code: Select all

try:
    yhdistä
except:
    print "connection failed!"
Imagedev.tuhoojabotti.com — “Programmer (noun): An organism that turns caffeine into code.”
ollipolli

Re: Python: HTTP-pyynnöt

Post by ollipolli »

Mikäli meinaat nettisivuja tehdä Pythonilla, kannattaa ottaa Django avuksi.
http://www.djangoproject.com/

Mikäli yhtään jaksaa lukea tutoriaaleja (niitä on neljä sivua) saa tehtyä hyvinkin nopeasti kunnolla toimivia nettisivuja.
Post Reply