作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
测试脚本:
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
,还询问了验证码。basic_auth
更改为 auth
。没有运气。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've found a dead link.</h1>
如何找到
my.server.com
的正确 URL?
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/
测试脚本: from jira import JIRA user_name = "my username" password = "my password" jira_conn = JIRA(serv
我是一名优秀的程序员,十分优秀!