C# .net core从控制器返回的响应中的某些内容已意外更改
我从http客户端sendasync方法返回了一些数据,如下所示:C# .net core从控制器返回的响应中的某些内容已意外更改,c#,.net-core,asp.net-core-webapi,soapui,C#,.net Core,Asp.net Core Webapi,Soapui,我从http客户端sendasync方法返回了一些数据,如下所示: using (var response = await Client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead)) { var stream = await response.Content.ReadAsStreamAsync(); using var streamReader = new StreamReader(stream, En
using (var response = await Client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead))
{
var stream = await response.Content.ReadAsStreamAsync();
using var streamReader = new StreamReader(stream, Encoding.UTF8);
var message = await streamReader.ReadToEndAsync();
return new ContentResult
{
Content = message,
ContentType = response.Content.Headers.ContentType?.ToString(),
StatusCode = (int)response.StatusCode
};
}
我要返回的消息中的内容包含以下字符
“xœ½�Y�·欧元5+0欧元
5月5日的维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维半杯半杯半杯半杯半杯半杯半杯半杯半杯半杯半杯
dï½ï½ï½试试这个
public async Task<HttpResponseMessage> Post(string requestBody, string action)
{
using (var request = new HttpRequestMessage(HttpMethod.Post, ""))
{
request.Headers.Add("SOAPAction", action);
request.Content = new StringContent(requestBody, Encoding.UTF8, "text/xml");
var response = await Client.SendAsync(request);
return response;
}
}
正在设置的内容类型是什么?是
text/plain;charset=UTF-8
?正在设置的内容类型是text/xmlContent-type:multipart/related;type=“text/xml”;start=“”;boundary=“-------=\u Part\u 20200731012614.895762”啊,那么是xml包含了这些字符吗?我添加了soapui标记,希望能获得更多的曝光。
public async Task<HttpResponseMessage> Post(string requestBody, string action)
{
using (var request = new HttpRequestMessage(HttpMethod.Post, ""))
{
request.Headers.Add("SOAPAction", action);
request.Content = new StringContent(requestBody, Encoding.UTF8, "text/xml");
var response = await Client.SendAsync(request);
return response;
}
}
var result = await _service.Post(requestBody, action);
var stream = await result.Content.ReadAsStreamAsync();
await stream.CopyToAsync(HttpContext.Response.Body);