NET - 在TOP上的HttpWebRequest主机头顺序

时间:2017-12-05 17:00:05

标签: c header httpwebrequest host

几天来,我一直在尝试使用HttpWebRequest与服务器建立通信。我注意到服务器不符合RFC中http的协议规范。因此,我在App.config中设置了tru:

<httpWebRequest useUnsafeHeaderParsing = "true" />

完成此操作后,我收到了 400 的答案。 我注意到我可以使用curl软件进行通信。 我在代码中设置了相同的标题 - 没有结果。

最后,我注意到主机头的顺序是个问题。如果主机标头位于 POST / HTTP / 1.1 之后,则服务器响应正常,但如果它位于所有标头的末尾,那么我将获得代码 400

没有工作:

POST / HTTP / 1.1
User-Agent: curl / 7.52.1
Accept: * / *
Content-Type: text / xml; charset = ISO-8859-1
SOAPAction: ...
Host: 10.10.10.147

有效:

POST / HTTP / 1.1
Host: 10.10.10.147
User-Agent: curl / 7.52.1
Accept: * / *
Content-Type: text / xml; charset = ISO-8859-1
SOAPAction: ...

是否有可能使用HttpWebRequest更改标题的顺序?

0 个答案:

没有答案