Невозможно отправить тело содержимого с этим типом глагола, используя streamWriter & json - PullRequest
0 голосов
/ 02 октября 2019

Я тестирую отправку некоторых данных в API. Демонстрационный код на их сайте скопирован ниже (адрес и данные, которые я изменил как данные клиента).

В строке, используя (var streamWritier ...), я получаю ошибку ниже,

Не удается отправить тело содержимого с этим типом глагола

Я не видел данных, отправленных таким образом раньше. Что-то мне не хватает?

using System;
using System.IO;
using System.Net;

namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            var authStr = System.Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(@"username:password"));

        var httpRequest = (HttpWebRequest)HttpWebRequest.Create("https://some-api");

        httpRequest.Headers.Add("Authorization", "Basic " + authStr);
        WebResponse response = null;

        try
        {
            httpRequest.ContentType = "application/json";
            httpRequest.Accept = "application/json";
            string data = "{  \"RequestType\": \"ClientAdhoc\",  \"IdentifierType\": \"KDF\",  \"ReqDate\": 20190101"}";
            using (var streamWriter = new StreamWriter(httpRequest.GetRequestStream()))
            { streamWriter.Write(data); streamWriter.Flush(); streamWriter.Close(); }

            response = httpRequest.GetResponse();
            var responseStream = response.GetResponseStream();
            var reader = new StreamReader(responseStream);
            Console.WriteLine("Response received: [{0}].", reader.ReadToEnd());
        }
        catch (Exception exception)
        {
            Console.WriteLine("Exception occurred: [{0}].", exception.Message);
            Console.WriteLine(exception.StackTrace);
        }
       }
     }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...