0

我正在尝试完成对 IIS 媒体服务 API 的 PUT 请求 - 尝试将发布点设置为“停止”状态。

我已经阅读了以下链接,这对我没有太大帮助! https://msdn.microsoft.com/en-us/library/hh206014%28VS.90%29.aspx

我当前的代码在 httpWebRequest1.GetResponse() 上抛出异常,这表明 Web 服务器正在返回 401 未经授权的错误代码:

string url = "http://localhost/LiveStream.isml/State";

        var httpWebRequest1 = (HttpWebRequest)WebRequest.Create(url);
        httpWebRequest1.ContentType = "application/atom+xml";
        httpWebRequest1.Method = "PUT";
        httpWebRequest1.Headers.Add("Authorization", "USERNAME:PASSWORD");


        using (var streamWriter = new StreamWriter(httpWebRequest1.GetRequestStream()))
        {
            XmlDocument document = new XmlDocument();
            document.Load("Resources/XMLFile1.xml");
            string test = GetXMLAsString(document);

            streamWriter.Write(test);
        }
        var httpResponse = (HttpWebResponse)httpWebRequest1.GetResponse();
        using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
        {
            var responseText = streamReader.ReadToEnd();

        }

我的用户名/密码被注释掉了,但是在浏览器中访问页面并在打开的用户名/密码表单中输入它们时它们可以正常工作。

My Script 本质上“PUT”是一个 XML 文档,它是在浏览器中访问状态页面时返回的 XML 文档的副本。

任何帮助,将不胜感激。

4

0 回答 0