c# - Restsharp 对此资源的访问受到保护 Windows 窗体上的错误
问题描述
我在 C# Windows 窗体应用程序中有此代码
string data = "";
var client = new RestClient("http://server:port/ords/xx_portal_dev/oauth/token");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("Connection", "keep-alive");
request.AddHeader("Cookie", "BCSI-CS-8eb7fa809579930b=1");
request.AddHeader("Content-Length", "29");
request.AddHeader("Accept-Encoding", "gzip, deflate");
request.AddHeader("Host", "server:port");
request.AddHeader("Cache-Control", "no-cache");
request.AddHeader("Accept", "*/*");
request.AddHeader("Authorization", "Basic 3244234wfsdf2342234...");
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddParameter("undefined", "grant_type=client_credentials", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
data = response.Content.ToString();
它在 WCF 服务方法中运行良好,但我正在使用 Windows 窗体应用程序,并且在按钮上运行此代码时出现错误,我不知道发生了什么......
我总是收到错误未经授权的“对此资源的访问受到保护”,但在我的 WCF 服务中它工作正常!!!
解决方案
取自这里。 https://stackoverflow.com/a/14628308/1390548
你试过这个来验证编码是否正确吗?
request.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue(
"Basic", Convert.ToBase64String(
System.Text.ASCIIEncoding.ASCII.GetBytes(
$"{yourusername}:{yourpwd}")));
推荐阅读
- azure-log-analytics - Kusto:如何取消透视 - 将列变成行?
- python - 删除重复项但保留对删除行的引用
- liferay - 在 Liferay DXP 7.2 上实施两因素身份验证
- weblogic - weblogic管理服务器的关闭脚本优雅地
- c# - 如何在 C# 中将匿名类型替换为显式类型
- php - Nginx 别名/根问题
- react-native - React Native 应用程序数据存储到 Google 驱动器和 iCloud
- laravel - BelongsTo 关系在本地工作但不在生产上
- python - 没有webdriver的Python自动浏览器
- mule - 如何动态指定配置引用?