【问题标题】:C# WebHttpRequest how to add multiple headers? [closed]C# WebHttpRequest 如何添加多个标头? [关闭]
【发布时间】: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


    【解决方案1】:

    您可能需要检查“STW-Authoriztaion”的拼写。我猜它应该是“STW-Authorization。

    【讨论】:

    • 是的,你是对的,我的错,现在它可以正常工作了。非常感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-06
    • 2014-03-10
    • 2018-07-18
    • 2010-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多