C# WebRequest:内容类型=文本/普通;charset=iso-8859-1:&x27;基础连接已关闭:连接意外关闭;
我需要发布的服务器只接受“iso-8859-1”。我不知道我是否做得对,因为每当我收到web请求的响应时,它都会给我一个错误“底层连接已关闭:连接意外关闭” 请参阅下面的代码C# WebRequest:内容类型=文本/普通;charset=iso-8859-1:&x27;基础连接已关闭:连接意外关闭;,c#,webrequest,iso-8859-1,C#,Webrequest,Iso 8859 1,我需要发布的服务器只接受“iso-8859-1”。我不知道我是否做得对,因为每当我收到web请求的响应时,它都会给我一个错误“底层连接已关闭:连接意外关闭” 请参阅下面的代码 var someGeneratedString = "This_is a generated string!" WebRequest request = WebRequest.Create("https://******"); // This is private, sorry. request.Method = "POS
var someGeneratedString = "This_is a generated string!"
WebRequest request = WebRequest.Create("https://******"); // This is private, sorry.
request.Method = "POST";
byte[] byteArray = Encoding.Default.GetBytes(someGeneratedString);
string xx = Encoding.UTF8.GetString(byteArray);
Encoding iso = Encoding.GetEncoding("ISO-8859-1");
Encoding utf8 = Encoding.UTF8;
byte[] utfBytes = utf8.GetBytes(rawRequest);
byte[] isoBytes = Encoding.Convert(utf8, iso, utfBytes);
request.ContentType = "text/plain;charset=iso-8859-1";
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream();
dataStream.Write(isoBytes, 0, isoBytes.Length);
dataStream.Close();
WebResponse response = request.GetResponse();
当我删除“dataStream.Write(isoBytes,0,isoBytes.Length);”
它没有给我一个错误。
我不知道我做错了什么。
如果你有更多的问题,请问我。提前谢谢
只是另外一个问题,在同一个问题中的一些答案是把安全协议
ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = (SecurityProtocolType)768
| SecurityProtocolType.Ssl3 | (SecurityProtocolType)3072;
如果发生此事件,它仍然会给出错误。请尝试
ServicePointManager.SecurityProtocol=SecurityProtocolType.Tls12已经试过了,先生。但是仍然不起作用。您是在调用WebRequest.Create
之前还是之后设置的?顺便说一下,您的代码有点奇怪,您没有使用xx
变量。这也意味着您没有使用byteArray
或someGeneratedString
执行任何操作。请将其设置在webrequest.createTryServicePointManager.SecurityProtocol=SecurityProtocolType.Tls12之前已经试过了,先生。但是仍然不起作用。您是在调用WebRequest.Create
之前还是之后设置的?顺便说一下,您的代码有点奇怪,您没有使用xx
变量。这也意味着您没有使用byteArray
或someGeneratedString
执行任何操作。请在webrequest.create之前设置它