-1
이 XML을 C#으로 보낼 때 - XML 문서 선언과에서 "UTF-8"을 모두 지정 했더라도 UTF-8이 아닌 형식으로 전송됩니다. HttpWebRequest.ContentType. UTF-8로 데이터를 보내려면 어떻게해야합니까?HttpWebRequest를 사용하여 XmlDocument를 인코딩 할 수 없습니다.
XmlDocument xmlDoc = new XmlDocument();
XmlDeclaration xmlDeclaration = xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", null);
XmlElement root = xmlDoc.DocumentElement;
xmlDoc.InsertBefore(xmlDeclaration, root);
XmlElement element1 = xmlDoc.CreateElement(string.Empty, "pacsoft", string.Empty);
xmlDoc.AppendChild(element1);
string destinationUrl = "";
Uri uri = new Uri(destinationUrl);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
byte[] bytes;
bytes = System.Text.Encoding.ASCII.GetBytes(requestXml);
request.ContentType = "text/xml; encoding='utf-8'";
request.ContentLength = bytes.Length;
request.Method = "POST";
Stream requestStream = request.GetRequestStream();
requestStream.Write(bytes, 0, bytes.Length);
requestStream.Close();
HttpWebResponse response;
response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.OK)
{
Stream responseStream = response.GetResponseStream();
string responseStr = new StreamReader(responseStream, System.Text.Encoding.UTF8).ReadToEnd();
return responseStr;
}
ContentType 헤더에는'encoding' 매개 변수가 없으므로'charset'으로 이름을 바꾸어야합니다. https://www.w3.org/Protocols/rfc1341/4_Content-Type.html – kiziu