我有一大堆代码:
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", Convert.ToBase64String(Encoding.ASCII.GetBytes(String.Format("{0}:{1}", "Username", "password"))));
var method = new HttpMethod("PATCH");
var reqmsg = new HttpRequestMessage(method, uri)
{
Content = new StringContent(request, Encoding.UTF8, "application/json")
};
HttpResponseMessage response = await client.SendAsync(reqmsg);
使用基本身份验证可以正常工作。我想使用令牌,如果我更改授权使用webtoken:
client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Token", WebToken);
我现在收到403 Forbidden错误。如果我正在做Post或Get,则令牌有效,但不适用于Patch或Put。我猜这个令牌在某种程度上被剥夺了。有办法解决这个问题吗?
答案 0 :(得分:-2)
您收到403错误,因为编码不正确。 -facepalm- 您使用的是UTF8,而默认值是ANCI ......没有意义。