我在连接到远程服务器时遇到问题:
远程服务器返回错误:(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;
}
}
}
谢谢, 吉米·迪安(Jimmy Dean)
编辑:
myReq.UseDefaultCredentials = true;
myReq.PreAuthenticate = true;
myReq.Credentials = CredentialCache.DefaultCredentials;
对于已经提出的问题。我正在尝试使用此功能,还有其他一些我尝试过的功能。该代码很好,只是没有授权连接,这就是我遇到的问题。