访问运行在apache代理之后的jirarestapi

2024-09-29 19:31:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图连接到运行在apache代理后面的jirarestapi。当我试图绕过代理服务器jira时,我试图绕过这个模块。然而,随着apacheproxy的启动,我不断地收到“Err:401unauthorized”错误。在

问题是我需要提供两次授权凭证,一次是代理,一次是Jira。在

所有的测试都是在我的本地虚拟机上完成的。在

  • apache代理运行在标准端口80上,并将127.0.0.1/jira重定向到127.0.0.1:8080/jira
  • jira us在8080端口运行

以下是工作curl命令,其中:

  • jirauser-用于授权jirapass的jira用户
  • 用于授权的jirapassword
  • dgvzddp3c=-是base64编码的proxyuser:代理传递字符串在

它实际上正在运行并产生结果

curl -u 'jirauser:jirapass' -X GET -H "Authorization: Basic dGVzdDp3d3c=" -H "Content-Type: application/json" "http://127.0.0.1/jira/rest/api/2/search?jql=key=DEV4"

对于pythonjira模块,我认为我需要调整'options'参数,以将“Authorization:Basic dgvzddp3c=”添加到“headers”列表中,但不知何故它不起作用。在

^{pr2}$

我也试着直接打电话给图书馆

r=请求.get('http://127.0.0.1/jira/rest/api/2/search?jql=key=DEV4',auth=('jirauser','jirapass'),headers={'Content-Type':'application/json','Authorization':“Basic%s”%”dgvzddp3c3=“})

但结果又是:401错误

我真的很困惑,为什么curl命令可以工作,但是python代码失败了,这里出了什么问题?(由于curl是有效的,我假设这不是环境设置中的问题)


Tags: 模块端口命令代理basicapachetype错误
1条回答
网友
1楼 · 发布于 2024-09-29 19:31:41

这对我有用。在

from jira import JIRA

jira_options = {
   'server': '<your jira url>',
   'verify': True,
   'headers' : {
                    'X-Atlassian-Token': 'no-check',
                    'Cache-Control': 'no-cache',
                    'Content-Type': 'application/json',
               }
}

jira = JIRA(options=jira_options, basic_auth=('<username>', '<password>'), validate=True)

相关问题 更多 >

    热门问题