远程服务器返回错误:(401)未经授权。 [英] The remote server returned an error: (401) unauthorized.
本文介绍了远程服务器返回错误:(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屋!
查看全文