abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 14:00 | Upozornění

    Cloudflare, tj. společnost poskytující "cloudové služby, které zajišťují bezpečnost, výkon a spolehlivost internetových aplikací", má výpadek.

    Ladislav Hagara | Komentářů: 4
    dnes 04:22 | Pozvánky

    Letos se uskuteční již 11. ročník soutěže v programování Kasiopea. Tato soutěž, (primárně) pro středoškoláky, nabízí skvělou příležitost procvičit logické myšlení a dozvědět se něco nového ze světa algoritmů – a to nejen pro zkušené programátory, ale i pro úplné začátečníky. Domácí kolo proběhne online od 22. 11. do 7. 12. 2025 a skládá se z 9 zajímavých úloh různé obtížnosti. Na výběru programovacího jazyka přitom nezáleží – úlohy jsou

    … více »
    SoutezKasiopea | Komentářů: 0
    dnes 04:11 | Nová verze

    Byla vydána nová verze 2.52.0 distribuovaného systému správy verzí Git. Přispělo 94 vývojářů, z toho 33 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 18:00 | Nová verze

    VKD3D-Proton byl vydán ve verzi 3.0. Jedná se fork knihovny vkd3d z projektu Wine pro Proton. Knihovna slouží pro překlad volání Direct3D 12 na Vulkan. V přehledu novinek je vypíchnuta podpora AMD FSR 4 (AMD FidelityFX Super Resolution 4).

    Ladislav Hagara | Komentářů: 0
    včera 03:11 | Nová verze

    Poštovní klient Thunderbird byl vydán v nové verzi 145.0. Podporuje DNS přes HTTPS nebo Microsoft Exchange skrze Exchange Web Services. Ukončena byla podpora 32bitového Thunderbirdu pro Linux.

    Ladislav Hagara | Komentářů: 2
    včera 02:33 | IT novinky

    U příležitosti státního svátku 17. listopadu probíhá na Steamu i GOG.com již šestý ročník Czech & Slovak Games Week aneb týdenní oslava a také slevová akce českých a slovenských počítačových her.

    Ladislav Hagara | Komentářů: 0
    16.11. 19:33 | Nová verze

    Byla vydána nová verze 9.19 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Vypíchnout lze například nový balíček BirdNET-Go, tj. AI řešení pro nepřetržité monitorování a identifikaci ptáků.

    Ladislav Hagara | Komentářů: 0
    16.11. 02:22 | Nová verze

    Byla vydána nová verze 3.38 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.10 souvisejícího programovacího jazyka Dart (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    16.11. 01:33 | Nová verze

    Organizace Apache Software Foundation (ASF) vydala verzi 28 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 0
    15.11. 16:11 | Nová verze

    Byl vydán Debian 13.2, tj. druhá opravná verze Debianu 13 s kódovým názvem Trixie. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (46%)
     (19%)
     (18%)
     (23%)
     (15%)
     (23%)
     (16%)
     (16%)
    Celkem 367 hlasů
     Komentářů: 16, poslední 12.11. 18:21
    Rozcestník

    Dotaz: Python a HTTP Error 302

    27.5.2009 09:58 Dunric | skóre: 21
    Python a HTTP Error 302
    Přečteno: 495×
    Nevím co dělám špatně, ale nedaří se mi z pythonu poslat úspěšně HTTP požadavek na justice.cz . Vrací mi to chybu č. 302, nekonečné přesměrování (viz níže). Stránky se občas přesměrovávají na sebe sama kvůli nastavení cookie, ale obsluhu jak pro cookies tak pro přesměrování v openeru mám.

    Stejný řetězec předhozený wgetu nebo firefoxu neskončí chybou 302, vrátí správnou výslednou stránku.

    dunric@darkstar:~/projects$ python insolv.py
    Traceback (most recent call last):
      File "insolv.py", line 22, in <module>
        result = myopener.open( myurl+'?', data=mydata )
      File "/usr/lib/python2.5/urllib2.py", line 381, in open
        response = self._open(req, data)
      File "/usr/lib/python2.5/urllib2.py", line 399, in _open
        '_open', req)
      File "/usr/lib/python2.5/urllib2.py", line 360, in _call_chain
        result = func(*args)
      File "/usr/lib/python2.5/urllib2.py", line 675, in <lambda>
        meth(r, proxy, type))
      File "/usr/lib/python2.5/urllib2.py", line 698, in proxy_open
        return self.parent.open(req)
      File "/usr/lib/python2.5/urllib2.py", line 387, in open
        response = meth(req, response)
      File "/usr/lib/python2.5/urllib2.py", line 498, in http_response
        'http', request, response, code, msg, hdrs)
      File "/usr/lib/python2.5/urllib2.py", line 419, in error
        result = self._call_chain(*args)
      File "/usr/lib/python2.5/urllib2.py", line 360, in _call_chain
        result = func(*args)
      File "/usr/lib/python2.5/urllib2.py", line 582, in http_error_302
        return self.parent.open(new)
      File "/usr/lib/python2.5/urllib2.py", line 381, in open
        response = self._open(req, data)
      File "/usr/lib/python2.5/urllib2.py", line 399, in _open
        '_open', req)
      File "/usr/lib/python2.5/urllib2.py", line 360, in _call_chain
        result = func(*args)
      File "/usr/lib/python2.5/urllib2.py", line 675, in <lambda>
        meth(r, proxy, type))
      File "/usr/lib/python2.5/urllib2.py", line 698, in proxy_open
        return self.parent.open(req)
      File "/usr/lib/python2.5/urllib2.py", line 387, in open
        response = meth(req, response)
      File "/usr/lib/python2.5/urllib2.py", line 498, in http_response
        'http', request, response, code, msg, hdrs)
      File "/usr/lib/python2.5/urllib2.py", line 419, in error
        result = self._call_chain(*args)
      File "/usr/lib/python2.5/urllib2.py", line 360, in _call_chain
        result = func(*args)
      File "/usr/lib/python2.5/urllib2.py", line 582, in http_error_302
        return self.parent.open(new)
      File "/usr/lib/python2.5/urllib2.py", line 381, in open
        response = self._open(req, data)
      File "/usr/lib/python2.5/urllib2.py", line 399, in _open
        '_open', req)
      File "/usr/lib/python2.5/urllib2.py", line 360, in _call_chain
        result = func(*args)
      File "/usr/lib/python2.5/urllib2.py", line 675, in <lambda>
        meth(r, proxy, type))
      File "/usr/lib/python2.5/urllib2.py", line 698, in proxy_open
        return self.parent.open(req)
      File "/usr/lib/python2.5/urllib2.py", line 387, in open
        response = meth(req, response)
      File "/usr/lib/python2.5/urllib2.py", line 498, in http_response
        'http', request, response, code, msg, hdrs)
      File "/usr/lib/python2.5/urllib2.py", line 419, in error
        result = self._call_chain(*args)
      File "/usr/lib/python2.5/urllib2.py", line 360, in _call_chain
        result = func(*args)
      File "/usr/lib/python2.5/urllib2.py", line 582, in http_error_302
        return self.parent.open(new)
      File "/usr/lib/python2.5/urllib2.py", line 381, in open
        response = self._open(req, data)
      File "/usr/lib/python2.5/urllib2.py", line 399, in _open
        '_open', req)
      File "/usr/lib/python2.5/urllib2.py", line 360, in _call_chain
        result = func(*args)
      File "/usr/lib/python2.5/urllib2.py", line 675, in <lambda>
        meth(r, proxy, type))
      File "/usr/lib/python2.5/urllib2.py", line 698, in proxy_open
        return self.parent.open(req)
      File "/usr/lib/python2.5/urllib2.py", line 387, in open
        response = meth(req, response)
      File "/usr/lib/python2.5/urllib2.py", line 498, in http_response
        'http', request, response, code, msg, hdrs)
      File "/usr/lib/python2.5/urllib2.py", line 419, in error
        result = self._call_chain(*args)
      File "/usr/lib/python2.5/urllib2.py", line 360, in _call_chain
        result = func(*args)
      File "/usr/lib/python2.5/urllib2.py", line 582, in http_error_302
        return self.parent.open(new)
      File "/usr/lib/python2.5/urllib2.py", line 381, in open
        response = self._open(req, data)
      File "/usr/lib/python2.5/urllib2.py", line 399, in _open
        '_open', req)
      File "/usr/lib/python2.5/urllib2.py", line 360, in _call_chain
        result = func(*args)
      File "/usr/lib/python2.5/urllib2.py", line 675, in <lambda>
        meth(r, proxy, type))
      File "/usr/lib/python2.5/urllib2.py", line 698, in proxy_open
        return self.parent.open(req)
      File "/usr/lib/python2.5/urllib2.py", line 387, in open
        response = meth(req, response)
      File "/usr/lib/python2.5/urllib2.py", line 498, in http_response
        'http', request, response, code, msg, hdrs)
      File "/usr/lib/python2.5/urllib2.py", line 419, in error
        result = self._call_chain(*args)
      File "/usr/lib/python2.5/urllib2.py", line 360, in _call_chain
        result = func(*args)
      File "/usr/lib/python2.5/urllib2.py", line 572, in http_error_302
        self.inf_msg + msg, headers, fp)
    urllib2.HTTPError: HTTP Error 302: The HTTP server returned a redirect error that would lead to an infinite loop.
    The last 30x error message was:
    Found
    

    a kód v Pythonu

    
    import urllib2
    
    http_post = "https://isir.justice.cz/isir/ueu/vysledek_lustrace.do?nazev_osoby= ..." # zkraceno
    con_redir = urllib2.HTTPRedirectHandler()
    con_cookie = urllib2.HTTPCookieProcessor()
    myopener = urllib2.build_opener( con_redir, con_cookie )
    
    result = myopener.open( http_post )
    
    print result.readlines()
    
    In the garden sleeps a messenger ·

    Odpovědi

    27.5.2009 11:02 cronin | skóre: 49
    Rozbalit Rozbalit vše Re: Python a HTTP Error 302
    HTTP status "302 Found" nie je chyba. Je to jednoducho oznam, ze stranka je docasne na inej adrese (Location), ale klient by mal aj v buducnosti pouzivat aktualnu adresu, ktora je platnou adresou pozadovaneho resourcu; docasne ma ale pouzit inu adresu. Chybu z toho urobi az aplikacia - ako vravis, ak stranka presmerovava na samu seba, aplikacia sa teda domnieva, ze pri dalsom requeste na danu stranku dostane opat "302 Found" s rovnakou hodnotou "Location", a teda sa zacykli.

    Mozne riesenia alebo workaroundy zavisia od toho, ktoru zo zucastnenych komunikujucich stran mozes zmenit.
    27.5.2009 15:51 Dunric | skóre: 21
    Rozbalit Rozbalit vše Re: Python a HTTP Error 302
    Asi máš pravdu. Byl by nějaký nástin kódu, jak tuhle chybu obejít/ignorovat ? Nejsem moc zběhlý co se týče znalostí knihoven Pythonu. Mám samozřejmě možnost dělat změny jen na straně klienta.

    In the garden sleeps a messenger ·

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.