frage zu CGI

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Costi
User
Beiträge: 545
Registriert: Donnerstag 17. August 2006, 14:21

wenn ich zb unter apache cgi benutze gebe ich einfach:

Code: Alles auswählen

form = cgi.FieldStorage()
und wie ein wunder habe ich alle parameter

aber wie benutze ich CGI in einen script um den "rohen" http-request so zu bearbeiten?


danke
cp != mv
BlackJack

Schau Dir die `cgi.parse_*` Funktionen an. Da ist sicher was passendes dabei.
Costi
User
Beiträge: 545
Registriert: Donnerstag 17. August 2006, 14:21

puhh, hab garnichts gefunden und mich doch lieber fürs selber machen entschieden ich poste es hier rein, falls es nhemanden genau so geht wie mir
allerdings weis ich nicht so richtig wie post geht, was evtl hier zu fehler führen kann

Code: Alles auswählen

	def _parseReq(req):
		params = {}
		method = req[:req.find(" ")]
		req1 = req[len(method) + 2:req.find(" ", 4)]
		if method == "GET":
			reqFile, args = req1.split("?")
		if method == "POST":
			args = req.split("\n\n")[-1] #???????????????
		for i in args.split("&"):
			z = i.split("=")
			params[z[0]] = z[1]
		params["requestedFile"] = reqFile
		print params
cp != mv
BlackJack

Nichts gefunden!? Dann hattest Du beim Suchen die Augen aber fest geschlossen.

Warum willst Du überhaupt etwas nochmal neu erfinden, was es in der Standardbibliothek schon fertig gibt? Irgendwie sieht das aus als wenn Du `SimpleHTTPServer` nochmal schreiben möchtest.
Costi
User
Beiträge: 545
Registriert: Donnerstag 17. August 2006, 14:21

Irgendwie sieht das aus als wenn Du `SimpleHTTPServer` nochmal schreiben möchtest.
:lol: :lol: :lol: genau das habe ich jetzt gerade gemacht!

Warum willst Du überhaupt etwas nochmal neu erfinden, was es in der Standardbibliothek schon fertig gibt?
weil alles nachzublaetern oder selber zu schreiben eigentlich fast gleich lange dauert. ausserdem programmiere ich nicht zur effizienz oder produktivität sondern eigentlich einfach so zum spass und parsen und mit sockets rumspielen finde ich am interesantesten (auch wenn ich nur den rad neu erfinde)


mfg
costi
cp != mv
Antworten