gpt4 book ai didi

c# - 使用 C# 登录 JIRA Rest API

转载 作者:可可西里 更新时间:2023-11-01 07:49:57 25 4
gpt4 key购买 nike

我在下面编写了 C# 代码来登录 JIRA Rest API:

var url = new Uri("http://localhost:8090/rest/auth/latest/session?os_username=tempusername&os_password=temppwd");
var request = WebRequest.Create(url) as HttpWebRequest;
if (null == request)
{
return "";
}
request.Method = "POST";
request.ContentType = "application/json";
request.ContentLength = 200;
request.KeepAlive = false;
using (var response = request.GetResponse() as HttpWebResponse)
{
}

当我执行它时,应用程序继续运行而没有返回任何响应。请建议这是否是使用 REST API 调用 JIRA 登录的正确方法

最佳答案

对于基本身份验证,您需要以 base64 编码发送用户名和密码。指南可以在 atlassians 开发者页面的 API 示例中找到: https://developer.atlassian.com/display/JIRADEV/JIRA+REST+API+Example+-+Basic+Authentication,如果您在 C# 中执行此操作,则需要按以下格式在 header 中发送编码数据:

“授权:基本 [ENCODED CREDENTIALS]”

这是一个简单的例子:

public enum JiraResource
{
project
}

protected string RunQuery(
JiraResource resource,
string argument = null,
string data = null,
string method = "GET")
{
string url = string.Format("{0}{1}/", m_BaseUrl, resource.ToString());

if (argument != null)
{
url = string.Format("{0}{1}/", url, argument);
}

HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
request.ContentType = "application/json";
request.Method = method;

if (data != null)
{
using (StreamWriter writer = new StreamWriter(request.GetRequestStream()))
{
writer.Write(data);
}
}

string base64Credentials = GetEncodedCredentials();
request.Headers.Add("Authorization", "Basic " + base64Credentials);

HttpWebResponse response = request.GetResponse() as HttpWebResponse;

string result = string.Empty;
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
{
result = reader.ReadToEnd();
}

return result;
}

private string GetEncodedCredentials()
{
string mergedCredentials = string.Format("{0}:{1}", m_Username, m_Password);
byte[] byteCredentials = UTF8Encoding.UTF8.GetBytes(mergedCredentials);
return Convert.ToBase64String(byteCredentials);
}

(JiraResource 只是我用来决定使用 API 的哪一部分的枚举)

希望对您有所帮助!

关于c# - 使用 C# 登录 JIRA Rest API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11869780/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com