Программа C #, отображающая «Удаленный сервер возвратил ошибку: (401) Несанкционированный». - PullRequest
0 голосов
/ 17 октября 2018

У меня проблема с подключением к удаленному серверу:

Удаленный сервер возвратил ошибку: (401) Не авторизован.

Ниже приведено почтиполный код, который я использую для своей программы.Я хочу получить данные из API, но сервер не будет аутентифицироваться должным образом.Я знаю, что есть способ добавить учетные данные, которые вам нравятся, но я пытался всеми возможными способами добавить его. Не уверен, где мне нужно это подключить, чтобы я мог установить соединение.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Net;

namespace RestClient
{
    public enum httpVerb
    {
        GET,
        POST,
        PUT,
        DELETE,
    }

    class RestClient
    {
        public string endPoint { get; set; }
        public httpVerb httpMethod { get; set; }

        public RestClient()
        {
            endPoint = string.Empty;
            httpMethod = httpVerb.GET;
        }

        public string makeRequest()
        {
            string strResponseVlaue = string.Empty;
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(endPoint);
            request.Method = httpMethod.ToString();

            using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
            {
                if (response.StatusCode != HttpStatusCode.OK)
                {
                    throw new ApplicationException("Error Code: "+ response.StatusCode.ToString());
                }
                //Process the response stream

            using (Stream responseStream = response.GetResponseStream())
                {
                    if(responseStream != null)
                    {
                        using(StreamReader reader = new StreamReader(responseStream))
                        {
                            strResponseVlaue = reader.ReadToEnd();
                        }
                    }
                } //End of Response Stream
            }// End Of Using Reponse

                return strResponseVlaue;
        }
    }
}

Спасибо, Джимми Дин

Редактировать:

myReq.UseDefaultCredentials = true;
myReq.PreAuthenticate = true;
myReq.Credentials = CredentialCache.DefaultCredentials;

За вопросы, которые были заданы.Я пытался использовать это и некоторые другие, которые я пытался.Код в порядке, он просто не авторизует соединение, вот проблема, с которой я столкнулся.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...