尝试使用基本身份验证调用REST API时出现错误请求 - C#

时间:2016-09-19 11:38:13

标签: json c#-4.0 asp.net-web-api

您好我正在创建一个调用REST Web API的控制台应用程序。以下是我目前的代码

static void Main(string[] args)
    {
        string URL = "https://testweb/";
        string JSON_IN = "{'parameters':" +
                            "[" +
                            "{" +
                            "'value': {'string':{ 'value': 'barba2'}}," +
                            "'type': 'string'," +
                            "'name': 'vmName'" +
                            "}," +
                            "{" +
                            "'value':{'string':{'value': 'ctx-poc-null'}}," +
                            "'type': 'string'," +
                            "'name': 'securityTagName'" +
                            "}" +
                            "]}";
        string userName = "user";
        string password = "password";

        HttpClient client = new HttpClient();
        Uri requestUri = new Uri(URL);

        // Add an Accept header for JSON format.
        client.DefaultRequestHeaders.Accept.Add(
        new MediaTypeWithQualityHeaderValue("application/json"));
        client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(Encoding.ASCII.GetBytes(String.Format("{0}:{1}", userName, password))));

        // List data response.
        HttpResponseMessage response = client.PostAsync(requestUri,new StringContent(JSON_IN, System.Text.Encoding.UTF8, "application/json")).Result;  // Blocking call!
        if (response.IsSuccessStatusCode)
        {
            Console.WriteLine("Done");
            Console.ReadLine();
        }
        else
        {
            Console.WriteLine("Nop");
            Console.ReadLine();
        }

不幸的是,这给出了如下的平均连续错误。

{StatusCode: 400, ReasonPhrase: 'Bad Request', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:

{   连接:关闭   日期:星期一,2016年9月19日11:10:27 GMT   服务器:Apache-Coyote / 1.1   内容长度:1032   内容 - 语言:en   内容类型:text / html;字符集= utf-8的 }}

这里我使用POST方法进行基本身份验证。我在互联网上尝试过很多例子。但其中大部分对我来说并不清楚。请帮我解决这个问题。

0 个答案:

没有答案