Powershell - Invoke-WebRequest 사용이 브라우저 다운로드보다 느린 이유는 무엇입니까?
Powershell's를 사용합니다.Invoke-WebRequest
Amazon S3에서 Windows EC2 인스턴스로 파일을 다운로드하는 방법입니다.
Chrome을 사용하여 파일을 다운로드하면 200MB 파일을 5초 안에 다운로드할 수 있습니다.PowerShell에서 를 사용하여 동일한 다운로드Invoke-WebRequest
최대 5분 소요됩니다.
를 사용하는 이유Invoke-WebRequest
PowerShell 스크립트에서 최대 속도로 다운로드할 수 있는 방법이 있습니까?
Invoke-WebRequest에서 전환하지 않고 진행 표시줄을 끄면 됩니다.이 스레드에서 답을 찾았습니다.https://github.com/PowerShell/PowerShell/issues/2138 (2016년 10월 3일 자송인 코멘트)
$ProgressPreference = 'SilentlyContinue'
Invoke-WebRequest <params>
localhost에 있는 5MB 파일의 경우 다운로드 시간이 30초에서 250ms로 단축되었습니다.
진행 표시줄을 액티브셸로 되돌리려면$ProgressPreference = 'Continue'
.
사용하고 있었습니다.
Invoke-WebRequest $video_url -OutFile $local_video_url
상기의 내용을 로 변경했습니다.
$wc = New-Object net.webclient
$wc.Downloadfile($video_url, $local_video_url)
이것으로 다운로드 속도가 브라우저에 표시되는 속도로 복원되었습니다.
$ProgressPreference = 'SilentlyContinue'
이걸 52분에서 14초로 줄였어요 450M 파일에 대해서요장관이다.
임시 디렉토리에 파일을 다운로드하는 한 줄:
(New-Object Net.WebClient).DownloadFile("https://www.google.com", "$env:temp\index.html")
오늘 이 이슈에 접속했습니다만, 내용을 변경해 주세요.application/octet-stream에 argument를 입력합니다(webclient를 사용하는 경우와 마찬가지로 매우 빠릅니다.그 이유는 Invoke-Request 명령어는 응답을 JSON 또는 XML로 해석하려고 하지 않기 때문입니다.
Invoke-RestMethod -ContentType "application/octet-stream" -Uri $video_url -OutFile $local_video_url
언급URL : https://stackoverflow.com/questions/28682642/powershell-why-is-using-invoke-webrequest-much-slower-than-a-browser-download
'prosource' 카테고리의 다른 글
SQL의 여러 열 업데이트 (0) | 2023.04.08 |
---|---|
SQL WHERE...IN 절 다중 열 (0) | 2023.04.08 |
명령줄 인수를 PowerShell ps1 파일에 전달하는 방법 (0) | 2023.04.08 |
Maven 클린 설치: 목표 org.apache.maven을 실행하지 못했습니다.플러그인: maven-displicate-displicate: 3.2.0: 개요 (0) | 2023.04.03 |
Wordpress 메타 상자에 wysiwyg 편집기를 추가하는 방법 (0) | 2023.04.03 |