Ошибка аутентификации, потому что удаленная сторона закрыла транспортный поток.C # HTTP Post Request - PullRequest
0 голосов
/ 24 октября 2018

Я пытаюсь простой запрос REST, чтобы получить ответ.код ошибки в webRequest.GetRequestStream () со следующей ошибкой

System.Net.WebException HResult = 0x80131509 Сообщение = Основное соединение было закрыто: при отправке произошла непредвиденная ошибка.Source = System StackTrace: в System.Net.HttpWebRequest.GetRequestStream (TransportContext & context) в System.Net.HttpWebRequest.GetRequestStream () в Com.VMware.Api.ApiClient.HttpPost (Uri uri, Словарь `2 в теле строки)E: \ MyWork \ CSPClientProject \ Com.VMware \ Com.VMware \ ApiClient.cs: строка 48 в Com.VMware.CSP.CSPAPIService.GetAccessTokenByAPIRefreshToken (String refreshToken) в E: \ MyWork \ CSPClientProject \ Com.V.\ CSP \ CSPAPIService.cs: строка 39 в RefreshAndAccessTokenSample.TestRefreshAndAccessTokenSample.Main (строковые аргументы []) в E: \ MyWork \ CSPClientProject \ Com.VMware \ RefreshAndAccessTokenSample * * * Test * 100. 100AВнутреннее исключение 1: IOException: аутентификация не удалась, потому что удаленная сторона закрыла транспортный поток.

это полный код

public Dictionary<int, string> HttpPost(Uri uri, Dictionary<String, String> headers, String body)
    {
        Dictionary<int, string> responseMap = new Dictionary<int, string>();
        HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(uri);
        webRequest.Method = "POST";
        foreach (KeyValuePair<string, string> kvp in headers)
        {
            if (kvp.Key.Equals("Content-Type"))
                webRequest.ContentType = kvp.Value;
            else if (kvp.Key.Equals("Accept"))
                webRequest.Accept = kvp.Value;
        }
        byte[] bytes = Encoding.UTF8.GetBytes(body);
        int contentLength = bytes.Length;
        webRequest.ContentLength = contentLength;
        Stream outputStream = webRequest.GetRequestStream();
        outputStream.Write(bytes, 0, bytes.Length);
        outputStream.Close();
        WebResponse response = (HttpWebResponse)webRequest.GetResponse();
        //create responseMap based upon response
        response.Close();
        return responseMap;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...