gpt4 book ai didi

python - `CAPTCHA_CHALLENGE` 使用 Python JIRA 登录

转载 作者:行者123 更新时间:2023-12-04 04:05:03 26 4
gpt4 key购买 nike

测试脚本:

from jira import JIRA

user_name = "my username"
password = "my password"
jira_conn = JIRA(server='http://my.server.com',
basic_auth=(user_name, password))


错误:
jira.exceptions.JIRAError: JiraError HTTP 403 url: http://my.server.com/rest/api/2/serverInfo
text: CAPTCHA_CHALLENGE; login-url=http://my.server.com/login.jsp

response headers = {'X-AREQUESTID': '1036x605910x1', 'X-XSS-Protection': '1;mode=block',
'X-Content-Type-Options': 'nosniff',
'X-Frame-Options': 'SAMEORIGIN',
'Content-Security-Policy': "frame-ancestors 'self'",
'X-ASEN': 'SEN-2105411', 'Set-Cookie': 'JSESSIONID=3D489D7D7A533761610029A9FEBEDE83; Path=/; HttpOnly',
'X-Seraph-LoginReason': 'AUTHENTICATION_DENIED',
'WWW-Authenticate': 'OAuth realm="http%3A%2F2Fmy.server.com"',
'X-ASESSIONID': '161938n',
'X-Authentication-Denied-Reason': 'CAPTCHA_CHALLENGE; login-url=http://my.server.com/login.jsp',
'Content-Type': 'text/html;charset=UTF-8',
'Transfer-Encoding': 'chunked', 'Date': 'Mon, 29 Jun 2020 15:16:49 GMT'}
response text =
  • 我第一次遇到这个错误时,我去了浏览器,注销然后再次登录,除了 user + password ,还询问了验证码。
    1.1.登录页面多次询问这个验证码(这并不奇怪),最后成功了。
  • 现在我可以根据需要多次登录和退出我的 JIRA 服务器,并且它首先在浏览器中工作。
  • 无论我尝试什么条件,这个简单的代码都不再能够登录(并且直到一天前它都运行良好)。
    1.1.我尝试将 basic_auth 更改为 auth 。没有运气。

  • 问题:
  • 浏览器成功登录不应该清除验证码状态吗?
  • 我试着关注 Atlassian Cookie-based authentication :

  • curl -X POST http://my.server.com/jira/rest/auth/1/session -H jira/rest/auth/1/session -d '{ "username": "my username", "password": "my password" }'
    但回应是:
    <h1>Oops, you&#39;ve found a dead link.</h1>
    如何找到 my.server.com 的正确 URL?
  • 哪些附加信息与此处相关。
  • 我还能测试什么?

  • 环境
  • Python 3.8 和 Python 2.7。
  • Py-jira:jira>=2.0.0
  • 客户端是 Rwindows-10。
  • JIRA 服务器版本:Atlassian Jira Project Management Software (v8.3.1#803002-sha1:00bd3db)

  • 谢谢!

    编辑 *
    我设法让 curl 像这样工作:
    curl -X POST 'http://my.server.com' --data '{ "username": "my user", "password": "my password" }'

    最佳答案

    在我的 vim 插件 vira 中,我们确实发现使用 basic_auth 作为最快的方法以及添加额外的 async_ 选项。但是,我相信问题在于您需要通过浏览器或程序验证您的登录信息。
    换句话说,一旦您无法通过代码登录,您将需要确认您不仅仅是尝试 登录的代码 ,这与您连续多次未能通过浏览器登录是一样的。
    我们在开发时也遇到了这个问题,只需打开浏览器,登录,输入难以阅读的文本,然后再试一次。一旦你的代码稳定了,它就不是问题,直到下一个问题。
    根据服务器,您可能需要 API token 与密码。我在 Atlassian 云项目的 README 中有另一个例子。

     # verify: will set ssl verification requirements (should be True by default)

    if 'https://' not in server.lower():
    server = 'https://' + server
    try:
    self.jira = JIRA(
    options={
    'server': server,
    'verify': cert_verify,
    },
    basic_auth=(username, password),
    timeout=2,
    async_=True,
    max_retries=2)
    except JIRAError as e:
    if 'CAPTCHA' in str(e):
    print(e)
    JIRAError 对于捕获/打印错误的细节非常有用。if 'CAPTCHA' in str(e): 捕获验证码

    关于python - `CAPTCHA_CHALLENGE` 使用 Python JIRA 登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62642858/

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