c#桌面应用程序错误401如何发送数据
在我开发的桌面应用程序中获取令牌没有问题。但是当我试图发送数据时,我得到了一个401错误c#桌面应用程序错误401如何发送数据,c#,.net,api,http-post,C#,.net,Api,Http Post,在我开发的桌面应用程序中获取令牌没有问题。但是当我试图发送数据时,我得到了一个401错误 HttpWebRequest webRequest; string requestParams = ""; webRequest = (HttpWebRequest)WebRequest.Create("url"); webRequest.Credentials = CredentialCache.DefaultCredentials; webRequest.Meth
HttpWebRequest webRequest;
string requestParams = "";
webRequest = (HttpWebRequest)WebRequest.Create("url");
webRequest.Credentials = CredentialCache.DefaultCredentials;
webRequest.Method = "POST";
webRequest.ContentType = "application/json";
webRequest.Headers.Add("x-api-key", "112233");
webRequest.Headers.Add("AccessToken", token);
byte[] byteArray = Encoding.UTF8.GetBytes(req);
webRequest.ContentLength = byteArray.Length;
using (Stream requestStream = webRequest.GetRequestStream())
{
requestStream.Write(byteArray, 0, byteArray.Length);
}
using (WebResponse response = webRequest.GetResponse())
{
using (Stream responseStream = response.GetResponseStream())
{
StreamReader rdr = new StreamReader(responseStream, Encoding.UTF8);
string Json = rdr.ReadToEnd();
}
}
问题在于设置令牌。首先,您需要确定服务器想要什么作为令牌。您可以对
承载
令牌尝试此操作
webRequest.Headers.Add("Authorization", "Bearer " + token);
问题在于设置令牌。首先,您需要确定服务器想要什么作为令牌。您可以对
承载
令牌尝试此操作
webRequest.Headers.Add("Authorization", "Bearer " + token);
要使程序正常工作,您必须在中提供实际的URL,而不仅仅是字符串
“URL”
webRequest=(HttpWebRequest)webRequest.Create(“url”)
要使程序正常工作,您必须在中提供实际的URL,而不仅仅是字符串
“URL”
webRequest=(HttpWebRequest)webRequest.Create(“url”)
使用c#windows窗体应用程序发布到api。oauth2.0
using (var client1 = new HttpClient ())
{
client1.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
client1.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Token());
client1.DefaultRequestHeaders.Add("x-api-key", "xxxx");
var builder = new UriBuilder(new Uri("you - url"));
HttpRequestMessage request1 = new HttpRequestMessage(HttpMethod.Post, builder.Uri);
request1.Content = new StringContent("{\"values\":" + JsonConvert.SerializeObject("you -data")+ "}", Encoding.UTF8, "application/json");
HttpResponseMessage response = await client1.SendAsync(request1);
};
使用c#windows窗体应用程序发布到api。oauth2.0
using (var client1 = new HttpClient ())
{
client1.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
client1.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Token());
client1.DefaultRequestHeaders.Add("x-api-key", "xxxx");
var builder = new UriBuilder(new Uri("you - url"));
HttpRequestMessage request1 = new HttpRequestMessage(HttpMethod.Post, builder.Uri);
request1.Content = new StringContent("{\"values\":" + JsonConvert.SerializeObject("you -data")+ "}", Encoding.UTF8, "application/json");
HttpResponseMessage response = await client1.SendAsync(request1);
};
你知道401密码是什么意思,不是吗?我不知道你希望从我们这里得到什么样的帮助。是的,我知道。只是有代码错误?401表示身份验证有问题。您可能使用了错误的令牌、错误的api密钥或未正确传递令牌。您需要了解服务需要什么。您确定它同时需要访问令牌和api密钥吗?你确定你需要
凭证缓存.默认凭证
?当我用邮递员测试它时没有问题。是的,它需要令牌和api密钥我不确定CredentialCache.DefaultCredentials尝试删除CredentialCache.DefaultCredentials
。它可能会干扰身份验证,因为它将凭据设置为应用程序运行时使用的凭据。您知道401代码的含义,不是吗?我不知道你希望从我们这里得到什么样的帮助。是的,我知道。只是有代码错误?401表示身份验证有问题。您可能使用了错误的令牌、错误的api密钥或未正确传递令牌。您需要了解服务需要什么。您确定它同时需要访问令牌和api密钥吗?你确定你需要凭证缓存.默认凭证
?当我用邮递员测试它时没有问题。是的,它需要令牌和api密钥我不确定CredentialCache.DefaultCredentials尝试删除CredentialCache.DefaultCredentials
。它可能会干扰身份验证,因为它会将凭据设置为应用程序运行时使用的凭据。我尝试了,但没有。我尝试了,但没有。我有一个实际的URL。我有一个实际的URL。请解释您试图回答的问题。解释与发布的代码同样重要。使用c#windows窗体应用程序发布到api。oauth2.0请解释您试图回答的问题。解释与发布的代码同样重要。使用c#windows窗体应用程序发布到api。oauth2.0