c#如何向REST Api发送身份验证请求
我正在尝试制作一个(C#.net 4.5 winforms)应用程序,该应用程序需要从API获取Json。 我已经尝试和谷歌搜索了2天,现在没有运气 注意:我不想使用异步! 注意:它不必是WebClient 我所要做的就是这个有文档记录的卷曲请求:c#如何向REST Api发送身份验证请求,c#,api,rest,cookies,curl,C#,Api,Rest,Cookies,Curl,我正在尝试制作一个(C#.net 4.5 winforms)应用程序,该应用程序需要从API获取Json。 我已经尝试和谷歌搜索了2天,现在没有运气 注意:我不想使用异步! 注意:它不必是WebClient 我所要做的就是这个有文档记录的卷曲请求: curl -k -d "username=<USERNAME>@<AUTHTYPE>&password=<PASS>" https://<URL>:<PORT>/api/json/
curl -k -d "username=<USERNAME>@<AUTHTYPE>&password=<PASS>" https://<URL>:<PORT>/api/json/access/ticket
{ "data": {
"CSRFPreventionToken":"4EEC61E2:lwk7od06fa1+DcPUwBTXCcndyAY",
"ticket":"User:4EEC61E2::rsKoApxDTLYPn6H3NNT6iP2mv...",
"username":"<USERNAME>"}
}
这是我的初始代码:
string result = "";
var conn = "https://" + server.Hostname + ":" + server.Port + "/api2/json";
var query = conn + "/access/ticket";
var json = "";
try
{
// Accept Self-Signed SSL Certificate
ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true;
// Get Json
using (WebClient client = new WebClient())
{
json = client.DownloadString(query);
result = json;
}
}
catch (Exception e)
{
var BrPoint = e.ToString();
}
return result;
现在我需要用该请求发送身份验证(如curl请求),但是如何发送呢
当我有票时,我需要制作一个包含票的cookie来发送下一个请求
任何帮助都将不胜感激 它看起来很像,因为您使用DownloadString()方法调用执行Get请求,而不是使用UploadString()方法调用执行POST请求 尝试将其更改为UploadString(),并将以下内容作为数据参数传递:
username=<USERNAME>@<AUTHTYPE>&password=<PASS>
username=@&密码=
令人惊叹的作品!不过还是有一些问题!但这确实帮了大忙
username=<USERNAME>@<AUTHTYPE>&password=<PASS>