ASP.NET对API端点的调用返回500 - 内部服务器错误

时间:2016-12-23 02:07:19

标签: c# asp.net rest api asp.net-web-api

我使用基本的http身份验证调用Rest API

  public string Get(string LabName)
    {
        string userName = ConfigurationManager.AppSettings["username"];
        string password = ConfigurationManager.AppSettings["password"];
        string BaseURL = ConfigurationManager.AppSettings["BaseURL"];

        using (var client = new HttpClient())
        {
            ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(  delegate { return true; });
            Uri uri = new Uri(BaseURL);
            client.BaseAddress = uri;
            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/xml"));
            var byteArray = Encoding.ASCII.GetBytes(userName+":"+password);
            client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray));


            string clarity_URL = BaseURL + "api/v2/labs?name=" + LabName;
            var response = client.GetAsync(clarity_URL).Result;

            string responseString = response.Content.ReadAsStringAsync().Result;
            return responseString;
        }

当我调试代码时,会在行响应上抛出错误,如

enter image description here

有人可以告诉我可能是什么问题。

1 个答案:

答案 0 :(得分:1)

500错误通常表示API服务器存在问题。

最好检查特定端点是否有任何错误,然后再使用此代码进行检查。

如果您正在检查正常工作的网络电话,请确保请求方法(GET / POST / PUT)正确对齐且参数匹配。