2017-02-20 4 views
0

Ich habe einen Server, der für einige Anforderungen eine Antwort erhalten sollte. Anfragen enthalten "Content-Type" ist gleich "application/x-protobuf", also muss ich eine Menge von Bytes (serialisiertes Proto-Objekt) antworten. Als ich versucht habe, diese Bytes mit Content-Type "text/plain" zu senden - wurde jedes Byte erfolgreich an Benutzer ausgeliefert, aber als ich versuchte, diesen Wert in "application/x-protobuf" zu ändern - war jedes Byte mit Wert größer als 128 ersetzt durch \ uFFF8.Ändern einer Codierung bei Änderung Content-Type

Ich benutze cherrypy Rahmen für meinen Server.

Jeder hat ein paar Ideen, warum das passiert? Und wie man weiß, welche Kodierung im Fall "text/plain" verwendet wurde.

Vielen Dank für Ihre Antworten.

+0

Nun, wahrscheinlich ist dies nicht nginx Problem. Nur wenn Sie 'charset' und' charset_types application/x-protobuf' nicht in nginx config verwenden. –

+0

@DmitryMiksIr Sie hatten Recht, das Problem ist nicht in der Nginx. Ich habe kleine cherrypy Service, nur um zu überprüfen, ob das Problem in der Kirsche, und ja, Bytes sind geändert, und ich weiß nicht warum. –

Antwort

0

Google Protocol Buffers-Code-Generator für nginx Modulentwickler https://github.com/dbcode/protobuf-nginx

Verwandte Themen