HTTPServer in Python

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Zilchinger
User
Beiträge: 10
Registriert: Dienstag 18. April 2006, 00:01

Hi,
ich habe in Python einen WebServer gebastelt, der mir eigene Requests abarbeitet.

Hier ein Beispiel:
http://ip:port/getMySong -> ist der Request vom Browser

Mein eigener BaseHTTPRequestHandler nimmt diesen Request entgegen und sendet ein bestimmtes File zurück.

Das ganze klappt auch, jedoch steht im Downloaddialog des Browsers immer "getMySong" als Dateiname.

Weiß jemand wie ich das ändern kann? Z.B. in song.mp3!

Danke schonmal :)
Zilchinger
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Zilchinger hat geschrieben:Das ganze klappt auch, jedoch steht im Downloaddialog des Browsers immer "getMySong" als Dateiname.
Hi Zilchinger!

Du musst den Dateinamen im Header deines Responses zurück geben.
Siehe: http://www.python-forum.de/post-24838.html#24838

In einem CGI-Skript würde das wahrscheinlich so aussehen:

Code: Alles auswählen

f = file("irgendeineDatei.pdf", "rb")
pdf = r.read()
f.close()

print "Content-Type: application/pdf"
print "content-length: %s" % len(pdf)
print "content-disposition: attachment; filename=seavas.pdf"
print
print pdf
mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Zilchinger
User
Beiträge: 10
Registriert: Dienstag 18. April 2006, 00:01

Hallo Gerold,
nach kleinen Anpassungen hab ich es hinbekommen.

Ist schon Klasse, wenn man sich mit dem HTML-Protokoll nicht auskennt, ich glaub ich sollte mir das mal etwas genauer anschauen, :lol:

Danke nochmal,
Zilchinger
Antworten