Delphi 10 TRESTClient MIME пограничный вопрос - PullRequest
2 голосов
/ 01 апреля 2020

Я пытаюсь использовать службу REST, используя TRestClient, но я считаю, что существует проблема со строкой boundary для многокомпонентного контента.

Я фиксирую тело отправляемого запроса, и это заголовок типа контента:

Content-Type: multipart/form-data; boundary=-------Embt-Boundary--07CC944C29DA577E

Затем, это первый раздел многочастной формы:

-----------Embt-Boundary--07CC944C29DA577E
Content-Disposition: form-data; name="file"; filename="ce.csv"
Content-Type: text/csv

И вот как это заканчивается:

---------Embt-Boundary--07CC944C29DA577E--

Не думаю, что это проблема на сервере, так как даже мой прокси не может проанализировать тело:

image

Когда я сравниваю этот же запрос с почтальоном, я замечаю, что начальная и конечная границы не совпадают!

Starting: -----------Embt-Boundary--07CC944C29DA577E
Ending:   ---------Embt-Boundary--07CC944C29DA577E-- 

Я обнаружил, что генерация boundary выполняется в TMultipartFormData.GenerateBoundary() из System.Net.Mime:

image

Когда проверяя начальную и конечную границы почтальона, они совпадают, так что я почти уверен, что это проблема. Я не думаю, что это связано с моим кодом, но дайте мне знать, если вам это нужно.

...