urllib2 PUT mit Content-Encoding: gzip

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
tomte577
User
Beiträge: 2
Registriert: Montag 13. Januar 2014, 17:01

Hallo zusammen,

ich habe einen REST-Service, den ich per Python anspreche und ihm Daten im JSON-Format schicke. Das ganze mache ich mit Hilfe der urllib2. Das funktioniert
soweit auch. Da es sich zum Teil um viele Daten (Telemetrie) handelt, möchte ich dieses Dokument gerne packen und an die Schnittstelle schicken. Ich habe
schon rumprobiert, aber irgendwie bekomme ich es nicht zum Laufen.

Und bei Dr. Google findet man viele Hinweise darauf, wie man mit einer geGZIPpten Antwort umgehen kann, aber wie ich Daten geGZIPped sende, habe ich bisher
nicht gefunden. Habt Ihr eine Idee?

Im Netz findet man dann auch Hinweise wie "Nutz nicht urllib2, sondern requests...". Aber da das Skript auf einem buildroot laufen soll und hier die urllib2 schon
drin ist, die requests aber nicht, würde ich das gerne mit der urllib2 realisieren. Das müsste doch möglich sein.

Vielen Dank für Eure Tipps...
Sirius3
User
Beiträge: 17747
Registriert: Sonntag 21. Oktober 2012, 17:20

@tomte577: Kompression von Requests ist im HTTP-Protokoll nicht vorgesehen. Es steht Dir natürlich frei, einen eigenen "Content-Type" für komprimierte Daten "application/json+gzip" zu erfinden und Client und Server entsprechend zu erweitern.
tomte577
User
Beiträge: 2
Registriert: Montag 13. Januar 2014, 17:01

Vielen Dank für Deine Antwort. Hmmm, da im JBOSS Resteasy eine Annotation @GZIP auch an den im Request enthaltenen Daten angehängt werden kann, war ich davon ausgegangen, dass der Client das auch irgendwie komprimiert senden können müsste.
Antworten