0

I am trying to call rally server simply using below:

rally = Rally(server, user, password, workspace=workspace, project=project)

But it is giving below error:

    Traceback (most recent call last):
  File "testprint.py", line 20, in <module>
    rally = Rally(server, user=user, password=password, workspace=workspace,  project=project)
  File "C:\RallyRestToolkitForPython-master\pyral\restapi.py", line 259, in __init__
    self.contextHelper.check(self.server, wksp, proj, self.isolated_workspace)
  File "C:\RallyRestToolkitForPython-master\pyral\context.py", line 171, in check
    user_response = self._getUserInfo()
  File "C:\RallyRestToolkitForPython-master\pyral\context.py", line 276, in _getUserInfo
    raise RallyRESTAPIError(problem)
pyral.context.RallyRESTAPIError: Target Rally host: 'rally1.rallydev.com  ' non-existent or unreachable

Since i am behind proxies, i put HTTP and HTTPS proxies in python code:

os.environ['HTTPS_PROXY'] = "PROXY:PORT"
os.environ['https_proxy'] = "PROXY:PORT"
os.environ['HTTP_PROXY'] = "PROXY:PORT"

It is now failing with below error:

Traceback (most recent call last):
  File "testprint.py", line 20, in <module>
    rally = Rally(server, user=user, password=password, workspace=workspace,  project=project)
  File "C:\RallyRestToolkitForPython-master\pyral\restapi.py", line 259, in __init__
    self.contextHelper.check(self.server, wksp, proj, self.isolated_workspace)
  File "C:\RallyRestToolkitForPython-master\pyral\context.py", line 171, in check
    user_response = self._getUserInfo()
  File "C:\RallyRestToolkitForPython-master\pyral\context.py", line 276, in _getUserInfo
    raise RallyRESTAPIError(problem)
pyral.context.RallyRESTAPIError: 'Cannot connect to proxy.', error('Tunnel connection failed: 504 Unknown Host

My proxies are working, as i have run other code to verify.

4

3 回答 3

0

除了 Michale 的回答之外,您还可以检查这个(我有同样的错误,下面的步骤解决了我的问题)。我没有使用命令“os.environ ['HTTPS_PROXY'] ...”。经过以下步骤后问题得到解决 -

  • 去 pyral 位置
  • 编辑 config.py 文件以包含字段 USER_NAME 和 PASSWORD 的集会日志凭据
  • 在管理员模式下打开命令提示符并运行命令集 HTTPS_PROXY== http://user:password@proxy.domain.com:port
  • 对于用户 id/psw,使用您的 SSO 凭据而不是 Rally 凭据(如果它们不同)。
  • 然后运行文件 sample.py 就可以了
于 2018-08-22T23:14:36.770 回答
0

将“requests”包更新到“2.12.5”版本后,此问题已得到解决,谢谢大家的帮助。

于 2018-09-04T07:41:57.063 回答
0

我只需要解决这个问题,它是由于我的 Python 安装没有使用 TLS 1.2 引起的。您需要确保 Python 使用的 OpenSSL 版本支持 TLS 1.2。

要查看正在使用的 TLS 版本,您可以执行以下检查:

python -c "import requests; print(requests.get('https://www.howsmyssl.com/a/check', verify=False).json()['tls_version'])"

要查看正在使用的 OpenSSL:

python -c "import ssl; print(ssl.OPENSSL_VERSION)"

我没有将 OpenSSL 更新到正确版本的解决方案。我相信您将能够找到适合自己环境的东西。

于 2018-08-22T12:40:05.227 回答