【发布时间】:2019-09-03 16:30:34
【问题描述】:
我的网络凭据没有从 RestSharp 应用程序传递到我的 Web 应用程序。
这是一个将从具有网络服务凭据的计划任务中调用的应用程序。
如果我使用 CredentialCache.DefaultNetworkCredential,我会收到 401 错误。 如果我使用我的明确用户名/密码创建一个新的 NetworkCredential 对象,则一切正常。 所以我相当有信心,一旦我解决了这个凭据问题,应用程序应该工作。
是否有在 RestSharp 中设置凭据的特殊过程?
RestSharp.RestClient c = new RestClient(args[0]); // url from command line.
var req = new RestRequest(Method.POST);
req.RequestFormat = DataFormat.Json;
//NetworkCredential cred = new NetworkCredential("myUserName", "myPassword"); // Works
NetworkCredential cred = CredentialCache.DefaultNetworkCredentials; // not working
req.UseDefaultCredentials = true; // used with DefaultNetworkCredentials
req.Credentials = cred; // set credentials
req.AddJsonBody(args[1]); // append the JSON body to the POST
var response = c.Execute(req); // get the response
var content = response.Content; // put in a var for some debugging
System.Console.WriteLine(content); // write out the response for logging
我需要使用其他方法在 RestSharp 中设置凭据吗?
【问题讨论】:
标签: restsharp networkcredentials