2016-09-16 3 views
0

У меня есть этот HTTP POST службы:HTTP POST Content-Type

POST /test/test.asmx/getValues HTTP/1.1 
Host: localhost 
Content-Type: application/x-www-form-urlencoded 
Content-Length: length 

xmlstr=string 

Я хочу иметь эту услугу:

POST /test/test.asmx/getValues HTTP/1.1 
Host: localhost 
Content-Type: application/xml 
Content-Length: length 

xmlstr=string 

Как я могу изменить Content-Type значение сервера приложений/xml? Я использую IIS и VB .NET.

Спасибо.

ответ

0

Заголовок запроса Content-Type описывает формат данных в теле запроса.

xmlstr=string кодируется с использованием формата application/x-www-form-urlencoded.

Если вы сказали Content-Type: application/xml, тогда я ожидал бы, что тело для меня отформатировано как XML (например, <xmlstr>string</xmlstr>).

Контент-тип, который вы отправляете на сервер, не имеет стандартного влияния на то, какой тип данных отвечает сервер.

The Accept header может запросить конкретные типы контента:

POST /test/test.asmx/getValues HTTP/1.1 
Host: localhost 
Accept: application/xml 
Content-Type: application/x-www-form-urlencoded 
Content-Length: length 

xmlstr=string 

... но код на стороне сервера должен обратить на это внимание и уважать его.

Серверы могут также запрашивать конкретные форматы с нестандартными заголовками запросов, данными, хранящимися в строке запроса URL-адреса, или данными в теле.

Он всегда будет зависеть от того, что поддерживает серверный код.