Seite 1 von 1

Problem mit POST-Request auf eine 302-Seite

Verfasst: Freitag 16. Dezember 2011, 14:56
von p3sch3
Hallo Zusammen

Ich bin ein neuer in diesem Forum und auch in Python :-)

Und hier schon mein ersten Problem:
Ich versuche in Python 3 einen POST-Request auf eine Seite zu machen, welche einen 302 Redirect im Header hat. Dabei erhalte ich immer einen Fehler.

Mein Code:

Code: Alles auswählen

import urllib.request
import urllib.parse

value1 = 1
value2 = 2
params = urllib.parse.urlencode({"value1" : value1, "value2" : value2})
params = params.encode('utf-8')
f = urllib.request.urlopen("http://localhost/login.php", params)
Dabei erhalte ich folgenden Fehler:

Code: Alles auswählen

Traceback (most recent call last):
  File "postreq2.py", line 13, in <module>
    f = urllib.request.urlopen("http://localhost/login.php", param
s)
  File "C:\Python32\lib\urllib\request.py", line 138, in urlopen
    return opener.open(url, data, timeout)
  File "C:\Python32\lib\urllib\request.py", line 375, in open
    response = meth(req, response)
  File "C:\Python32\lib\urllib\request.py", line 487, in http_response
    'http', request, response, code, msg, hdrs)
  File "C:\Python32\lib\urllib\request.py", line 407, in error
    result = self._call_chain(*args)
  File "C:\Python32\lib\urllib\request.py", line 347, in _call_chain
    result = func(*args)
  File "C:\Python32\lib\urllib\request.py", line 560, in http_error_302
    headers, fp)
urllib.error.HTTPError: HTTP Error 302: Found - Redirection to url 'eingang.php' i
s not allowed
Der Request wird zwar abgesetzt, aber ich kann nicht mehr weitermachen aufgrund des HTTPError.

Weis jemand woran das liegen könnte?

Gruss
P3sch3

Re: Problem mit POST-Request auf eine 302-Seite

Verfasst: Freitag 16. Dezember 2011, 15:43
von sparrow
Das hier dürfte für dich interessant sein.

http://docs.python.org/py3k/library/url ... er-objects

Fand übrigens Google als ich nach "urllib 302" gesucht habe...

Re: Problem mit POST-Request auf eine 302-Seite

Verfasst: Freitag 16. Dezember 2011, 15:50
von p3sch3
Hallo sparrow

Danke, den Link habe ich auch entdeckt.

Leider bin ich ziemlich neu in Python.

Wie mus ich den "HTTPRedirectHandler.http_error_302(req, fp, code, msg, hdrs)" in mein Script einbauen?

Gruss
p3sch3

Re: Problem mit POST-Request auf eine 302-Seite

Verfasst: Freitag 16. Dezember 2011, 16:36
von BlackJack
@p3sch3: Der Satz „Redirection to url 'eingang.php' is not allowed“ kommt vom Webserver. Kann es sein, dass Du da versuchst ein eigenes Login vor eine Eingangsseite von einer andere Site zu setzen und die das nicht mag, dass Benutzer nicht das originale Login zu sehen bekommen?