나는이 질문에 대한 유용한 대답을 찾기 위해 하루 종일 여기에 있었지만 사용 사례에 적합한 것을 찾지 못했습니다.cert 인증 된 리소스에서 파이썬 요청으로 목록 파일 다운로드
인증을 위해 클라이언트 인증서를 검사하는 서버에서 여러 파일을 다운로드하려고합니다. 자동화 된 방식으로 다운로드하려는 특정 파일의 목록 배열도 있습니다. 파이썬 2.7 사용하고 있습니다. FileTwo.zip을 다운로드하기 위해 다시 돌아 가기 전에 FileOne.zip이 다운로드 될 때까지 기다리는 것이 좋습니다. 코드는 다음과 같습니다.
import requests
import shutil
dlList = ["FileOne.zip", "FileTwo.zip", "FileThree.zip"]
cCert = r'C:\Temp\client_cert.pem'
cKey = r'C:\Temp\client_key.pem'
for i in dlList:
url = ("https://my.server.com/files/" + i)
r = requests.get(url, cert=(cCert, cKey), stream=True)
with open(i, "wb") as f:
r.raw.decode_content = True
shutil.copyfileobj(r.raw, f)
인증서가 제대로 작동합니다. 나는 200 응답을 얻고있다.
그러나 실행할 때 스크립트는 FileOne.zip, FileTwo.zip 등의 디렉토리에 3 개의 파일을 생성하지만 각각 2K이고 파일 자체는 각각 수 백 MB입니다.
내가하고 싶은 것은 하나의 파일을 완성한 다음 다음 파일로 이동하는 것입니다. 그것이 작동하면 어떻게 멀티 쓰레딩하는지 알아낼 수 있습니다. 내가 사용하여 청크
대신
r.raw.decode_content = True
shutil.copyfileobj(r.raw, f)
의 :하지만 지금 난 그냥
가, 여기에 내가 그것을 해결하기 위해 무엇을했는지 확인이다