Я использую приведенный ниже скрипт для загрузки всех файлов xml, присутствующих в каталоге артефакта (вложенное имя содержит различные файлы. xml)
from artifactory import ArtifactoryPath
import shutil,os,requests
url="https://artifactory.xxx.com/artifactory/foldername/subfoldername/"
logdirectory='C:\\subfoldername'
if not os.path.exists(logdirectory):
os.mkdir(logdirectory)
os.chdir(logdirectory)
xmlfiles = ArtifactoryPath(url,auth=(username, password))
for element in xmlfiles:
print (element )
xmlname=str(element).split("/")[-1]
print(xmlname)
with requests.get(element , auth=(username, password), stream=True) as r:
with open(xmlname, 'wb') as f:
shutil.copyfileobj(r.raw, f)
Загрузка файлов xml с правильными имя, но когда я пытаюсь открыть файлы, он показывает поврежденные данные.
PS: я также пробовал метод, представленный ниже (https://pypi.org/project/artifactory/), но он также приводит к тому же повреждению xml с использованием моего кода для путь и аутентификация. Приведенный ниже код для быстрого ознакомления
from artifactory import ArtifactoryPath
path = ArtifactoryPath(
"http://repo.jfrog.org/artifactory/distributions/org/apache/tomcat/apache-tomcat-7.0.11.tar.gz")
with path.open() as fd:
with open("tomcat.tar.gz", "wb") as out:
out.write(fd.read())
, пожалуйста, предложите, как я могу загрузить xml файлы без их повреждения