远程服务器返回错误:(401)未经授权。 [英] The remote server returned an error: (401) unauthorized.

查看:1973
本文介绍了远程服务器返回错误:(401)未经授权。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将数据传递到Web API并通过json检索结果。我一直得到f.f.错误:远程服务器返回错误:(401)未经授权。



这是代码。



我尝试过的事情:



  string  authInfo =   XXXXXXX +   +   XXXXXXX; 
authInfo = Convert.ToBase64String(Encoding.Default.GetBytes(authInfo));

HttpWebRequest request =(HttpWebRequest)WebRequest.Create( @ https:// elig。 nhia.gov.gh:5007/api/hp/authenticate/app);

request.Method = POST;
request.Accept = application / json; charset = utf-8; request.Headers [ 授权] = 基本 + authInfo;

使用 var streamWriter = new StreamWriter(request.GetRequestStream()))
{
string json = new JavaScriptSerializer()。Serialize( new
{
GhanaCardNo =
UMN = membershipNoTextBox.Text
});

streamWriter.Write(json);
streamWriter.Flush();
streamWriter.Close();
}

var response =(HttpWebResponse)request.GetResponse();

string strResponse = ;
使用 var sr = new StreamReader(response.GetResponseStream()))
{
strResponse = sr.ReadToEnd();
}

解决方案

1)请永远不要发布您的登录凭据。

2)当使用Postman测试API,您将在响应正文中看到错误消息:

必须通过x-nhia-apikey请求头参数提供有效的API密钥。



因此,您还必须提供此处无人知晓的有效API密钥。

您应该联系网站所有者以获取所需信息。


I'm trying to pass data to a web API and retrieve results via json. I keep getting the f.f. error: The remote server returned an error: (401) Unauthorized.

Here is the code.

What I have tried:

string authInfo = "XXXXXXX" + ":" + "XXXXXXX";
authInfo = Convert.ToBase64String(Encoding.Default.GetBytes(authInfo));

HttpWebRequest request =(HttpWebRequest)WebRequest.Create(@"https://elig.nhia.gov.gh:5007/api/hp/authenticate/app");
               
request.Method = "POST";
request.Accept = "application/json; charset=utf-8";                request.Headers["Authorization"] = "Basic " + authInfo;

using (var streamWriter = new StreamWriter(request.GetRequestStream()))
{
     string json = new JavaScriptSerializer().Serialize(new
     {
          GhanaCardNo = "",
          UMN = membershipNoTextBox.Text
     });
                    
     streamWriter.Write(json);
     streamWriter.Flush();
     streamWriter.Close();
}

var response = (HttpWebResponse)request.GetResponse();

string strResponse = "";
using (var sr = new StreamReader(response.GetResponseStream()))
{
     strResponse = sr.ReadToEnd();
}

解决方案

1) Please never ever publish your logon credentials.
2) When testing the API with Postman you will see an error message in the response body:

A valid API Key must be provided via x-nhia-apikey request header parameter.


You therefore also must supply a valid API key which nobody here knows.
You should contact the web site owner in order to get the needed information.


这篇关于远程服务器返回错误:(401)未经授权。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆