У меня проблема с подключением к удаленному серверу:
Удаленный сервер возвратил ошибку: (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;
За вопросы, которые были заданы.Я пытался использовать это и некоторые другие, которые я пытался.Код в порядке, он просто не авторизует соединение, вот проблема, с которой я столкнулся.