框架: .net framework4.5.2
要向第三方服务器进行post请求(https), 用VS studio2019 启动测试, 提示: {"远端服务器传回一个错误:(400)不正确的要求。"} , 可以确定的是URL拼写对的, 请问是什么原因? 会是因为本地是 http 的缘故吗?
代码如下 :
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
HttpWebRequest request = WebRequest.Create(URL) as HttpWebRequest;
request.ProtocolVersion = HttpVersion.Version10;
request.UserAgent = DefaultUserAgent;
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.Timeout = 120000;
Encoding encoding = Encoding.UTF8;
var postData = "userName=" + Uri.EscapeDataString("myuser") ;
byte[] data = Encoding.UTF8.GetBytes(postData);
request.ContentLength = data.Length;
using (Stream stream = request.GetRequestStream())
{
stream.Write(data, 0, data.Length);
stream.Close();
}
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream myResponseStream = response.GetResponseStream();
StreamReader myStreamReader = new StreamReader(myResponseStream, encoding);
string res = myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close();