Aide, ne sais pas quel est le problème avec mon HTTP POST multipart
-
22-09-2019 - |
Question
POST /upload HTTP/1.1
Host: assets.drop.io
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.10) Gecko/2
009042316 Firefox/3.0.10
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Content-Length: 5728
Content-Type: multipart/form-data; boundary=--------MalolHCBdarysNYMHZbIvjbD
--------MalolHCBdarysNYMHZbIvjbD
Content-Disposition: form-data; name="api_key"
0b8a12109c3a1bfc4ba94aec926e1f9cfd8bb6f0
--------MalolHCBdarysNYMHZbIvjbD
Content-Disposition: form-data; name="drop_name"
4pgvoxc
--------MalolHCBdarysNYMHZbIvjbD
Content-Disposition: form-data; name="version"
2.0
--------MalolHCBdarysNYMHZbIvjbD
Content-Disposition: form-data; name="rachel"; filename="rachel"
Content-Type: application/octet-stream
BMv¶
--------MalolHCBdarysNYMHZbIvjbD--
La réponse que je reçois est: Bad Request. Et dans le code HTML de la réponse il y a ceci:
:MultiPartParseError: bad content body:
'
----------MalolHCBdarysNYMHZbIvjbD' should == '----------MalolHCBdarysNYMHZbIvjbD
'></td></tr>
La solution
La réponse est dans votre question. La réponse indique que le diviseur doit être '----------MalolHCBdarysNYMHZbIvjbD '
au lieu de ' ----------MalolHCBdarysNYMHZbIvjbD'
Regardez les plus grands et les espaces de fin.
Autres conseils
La syntaxe schématique d'un message multipart/form-data
est comme suit:
Content-Type: multipart/form-data; boundary=boundary
--boundary
Content-Disposition: form-data; name="field 1"
data 1
--boundary
Content-Disposition: form-data; name="field 2"
data 2
⋮
--boundary
Content-Disposition: form-data; name="field N"
data N
--boundary--
Ainsi, les limites des pièces intérieures sont --boundary
(--
suivi de la valeur limite) et le dernier est --boundary--
(--
suivi de la valeur limite suivie --
).
Dans votre cas, vous manquez juste le premier --
.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow