【发布时间】:2018-10-24 03:21:04
【问题描述】:
我正在使用 HTTPWebRequest 向 URL 发送 HTTP 发布请求。我正在使用 multipart/form-data 内容类型以及正文的内容长度发送帖子数据。但是,在服务器端,我无法检索身体。我只能看到发送的标题。我发送的正文的内容长度也匹配。
为什么我无法取回尸体。
请求方法如下所示:
public void Reset(string originalFileData, string uploadLocation)
{
TcpClient client = new TcpClient();
IPEndPoint serverEndPoint = new IPEndPoint(IPAddress.Parse(Server), portNo);
client.Connect(serverEndPoint);
string responseContent;
string serverUrl = "http://" + Server + ":" + portNo + "/abc.aspx" + "?uplvar=" + uploadLocation;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(serverUrl);
request.ContentType = "multipart/form-data";
request.Method = "POST";
request.ServicePoint.Expect100Continue = false;
string postData = originalFileData;
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
response.Close();
}
编辑:我忘了提及,我可以在第一次发送请求时检索正文,但是在我发送的任何后续请求中,我无法检索它。每次发送请求时,我都会创建一个新连接。因此,某些事情可能会阻止请求正文被检索。我不知道为什么。
【问题讨论】:
-
注意:你开头的 TcpClient 代码与其余部分无关。
标签: c# httpwebrequest