Versione HTTP in risposta Modulo BaseHTTP Python
-
21-12-2019 - |
Domanda
Sto usando un server con basehttp con Python.
Ricevo una richiesta da un client basato su http / 1.1
Tuttavia, quando risponderò al cliente indietro con la mia risposta, il cliente rifiuta di accettare la mia risposta. Su ulteriori analisi ho visto che la versione HTTP che sto inviando è http / 1.0. Tuttavia, non so come è impostato.
L'errore sul lato client è.
Original message: not well-formed (invalid token): line 2, column 4
Response
HTTP/1.0 200 OK
Server: BaseHTTP/0.3 Python/2.7.5
Date: Wed, 30 Jul 2014 15:11:42 GMT
Content-type: application/soap+xml; charset=utf-8
Content-length: 823
.
Sto impostando l'intestazione nel modo seguente:
self.send_response(200)
self.send_header("Content-type", "application/soap+xml; charset=utf-8")
self.send_header("Content-length", content_length)
self.end_headers()
. Soluzione
Imposta il Attributo protocol_version
sulla tua classe del gestore:
handler.protocol_version = 'HTTP/1.1'
.
Ciò richiede di impostare un'intestazione Content-Length
, che già fai.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow