错误如图所示
代码:
string EndResult = "";
HttpWebRequest request = null;
request = WebRequest.Create(url) as HttpWebRequest;
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.AllowAutoRedirect = true;
request.Timeout = 20 * 1000;
StringBuilder buffer = new StringBuilder();
foreach (string key in parameters.Keys)
{
buffer.AppendFormat("&{0}={1}", key, parameters[key]);
}
byte[] data = Encoding.Default.GetBytes(buffer.ToString().TrimStart('&'));
request.ContentLength = data.Length;
using (Stream newStream = request.GetRequestStream())
{
newStream.Write(data, 0, data.Length);//写入参数
newStream.Close();
}
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream rspStream = response.GetResponseStream();
using (StreamReader reader = new StreamReader(rspStream, Encoding.UTF8))
{
EndResult = reader.ReadToEnd();
rspStream.Close();
}
response.Close();
return EndResult;
修改之后的代码
string param = HttpUtility.UrlEncode("grant_type") + "=" + HttpUtility.UrlEncode("client_credentials") + "&" + HttpUtility.UrlEncode("client_id") + "=" + HttpUtility.UrlEncode(clientid) + "&" + HttpUtility.UrlEncode("client_secret") + "=" + HttpUtility.UrlEncode(secretid);
string result = string.Empty;
//创建一个HTTP请求
byte[] byt = Encoding.UTF8.GetBytes(param);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = byt.Length;
request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";
System.IO.Stream outputStream = request.GetRequestStream();
outputStream.Write(byt, 0, byt.Length);
outputStream.Close();
HttpWebResponse response;
Stream responseStream;
StreamReader reader;
string srcString;
try
{
response = (HttpWebResponse)request.GetResponse();//获取http请求的响应对象
}
catch (WebException ex)
{
return ex.Message;
}
responseStream = response.GetResponseStream();
reader = new System.IO.StreamReader(responseStream, Encoding.GetEncoding("UTF-8"));
srcString = reader.ReadToEnd();
result = srcString; //返回值赋值
reader.Close();
return result;
参考https://www.cnblogs.com/Connaughtyu/p/10444141.html