Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

fin de fichier en python (?)

1 réponse
Avatar
Kevin Denis
Bonjour,

je regarde mitmproxy, écrit en python, et j'essaye de le modifier un peu.
Pour faire bref, il s'agit d'un proxy. mimtproxy charge une page web du
serveur, la conserve en mémoire et la renvoie au client. Simple.

Dans le code, j'ai ça:
def send_response(self, response):
self.wfile.write(response.assemble())
self.wfile.flush()

Si j'ajoute ça:
def send_response(self, response):
trace = open('/tmp/fichier.txt','w')
trace.write(response.assemble())
trace.close()
self.wfile.write(response.assemble())
self.wfile.flush()

Alors j'ai dans fichier.txt le contenu de ma page web (en-tête + data).
Normal.
Je veux modifier alors la réponse envoyée au client. Mon premier
essai est de faire:

def send_response(self, response):
self.wfile.write("HTTP/1.0 200 OK\r\nContent-type: text/html\r\n\r\n<html>Yes It works!</html>")
self.wfile.flush()

Mais curieusement, ça ne fonctionne pas. Le navigateur tourne dans le
vide.

Et encore plus curieux, si j'arrête le programme mitmproxy, alors
le 'Yes it works' s'affiche dans le navigateur.

Ce qui m'amène à penser qu'il doit manquer quelque chose à self.wfile.write
mais quoi? Une fin de fichier? Un caractère spécial? Comment le trouver?

Merci
--
Kevin

1 réponse

Avatar
Kevin Denis
Le 23-06-2011, Kevin Denis a écrit :
def send_response(self, response):
self.wfile.write("HTTP/1.0 200 OKrnContent-type: text/htmlrnrn<html>Yes It works!</html>")
self.wfile.flush()

Mais curieusement, ça ne fonctionne pas. Le navigateur tourne dans le
vide.



Bon avec un
self.wfile.close()
juste après, ça fonctionne.
--
Kevin