我正在研究一个脚本,以通过GitLab CI将GitLab问题(在我的情况下为)永久保存为带有标签的存储库中的Markdown文件和PDF格式的已编译需求文档。此外,该脚本需要下载所有附加的源代码(图像,图表,PDF文件等),因此也可以对其进行版本控制。
该脚本是用Python 3.6编写的,并使用python-gitlab来使用GitLab API v4。
请求问题描述文本后,将对其进行扫描以查找以下格式的图像URL:![...](/uploads/<hash>/<filename>.<ext>)
。每个相对路径都由GitLab的主机URL开头,并移交给urllib.urlretrieve
。
运行请求时,由于未通过身份验证,因此出现HTTP 401错误。
for image in images:
downloadURL = URL + image
imagePath = "" + image
print(" downloading '{fromURL}' to '{toPath}'".format(fromURL=downloadURL, toPath=imagePath))
try:
urlretrieve(downloadURL, imagePath)
except HTTPError as ex:
print(ex)
except FileNotFoundError as ex:
print(ex)
GitLab通过令牌使用身份验证。如何在urllib
中使用这种身份验证方法?
例如当我使用Insomnia直接执行对GitLabs API的JSON请求时,我使用Private-Token
HTTP标头进行身份验证。我可以将此标头添加到urllib
通话中吗?