使用Wireshark,使用 HttpWebRequest 发送 POST 数据,数据将在辅助数据包中发送,而不是应用于主数据包,然后在需要时发送辅助数据包是
HttpWebRequest 仅在第一个数据包中发送标头信息,然后在第二个数据包中发送 POST 数据。这导致HTTP Server在收到完整HTTP请求之前响应。服务器就像一个空的 POST 消息,即使在标头中设置了Content-Length,因为没有内容附加到初始HTTP请求数据包。
此问题仅可使用 .Net HttpWebRequest 进行复制。使用python,curl或其他形式的HTTP客户端请求不会导致此问题。
目前正在使用.Net framework 4.5。
是否可以强制 .Net HttpWebRequest 在初始请求数据包中发送POST数据?
P.S。我不是在讨论应用程序内容之前的TCP SYN和ACK数据包。