【发布时间】:2021-01-29 11:37:06
【问题描述】:
所以基本上我有这样的代码,我想使用这个函数发送请求,我必须添加额外的标题 Authorization 和 STW-Authorization:
public static string postXMLData(string destinationUrl, string requestXml)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(destinationUrl);
byte[] bytes;
bytes = System.Text.Encoding.ASCII.GetBytes(requestXml);
request.ContentType = "application/xml";
request.ContentLength = bytes.Length;
request.Headers.Add("Authorization", "Basic bXNlcnZlcjp0ZXN0");
request.Headers.Add("STW-Authoriztaion", "Basic bXNlcnZlcjp0ZXN0");
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).ReadToEnd();
return responseStr;
}
return null;
}
问题是我一直收到
$exception {"The remote server returned an error: (401) Unauthorized."} System.Net.WebException
我想,标头有问题,因为在 Visual Studio 中请求预览时它看起来像这样:
{Content-Type: application/xmlContent-Length: 728Authorization: Basic bXNlcnZlcjp0ZXN0STW-Authoriztaion: Basic bXNlcnZlcjp0ZXN0}
此 JSON 中没有“,”等分隔符,并且字符串值不在“”中。如何解决,或者如何发送成功?使用 Postman 进行操作。
【问题讨论】:
标签: c# .net authorization httpwebrequest