Windows 고유의 Wget / CURL 대안?


60

Windows Vista 고유 의 Wget 또는 cURL 유형 명령 줄 유틸리티가 있습니까? 어떻게 작동합니까?


Microsoft조차도 wget.exeIIS 관리 팩에 배포 합니다.
paradroid 2016 년


1
curl을 사용하여 물건을 다운로드하는 것은 정규식 기능을 위해 vim을 사용하는 것과 vim에 대한 질문은 정규 표현식에 대한 질문과 중복됩니다. 예, 데이터 파일 다운로드는 HTTP의 큰 부분이지만 주요 목적은 아닙니다.
erikbwork

Windows 8.1의 2017 년 10 월 : wget 및 curl이 PowerShell에 포함되어 있습니다. stackoverflow.com/questions/33364752/…
SDsolar

아니, *의 괜찬아 버전 wget과는 curlPowerShell에서 포함되지 않습니다. PowerShell Invoke-WebRequestcmdlet은 wget및 로 모두 별칭이 지정됩니다 curl. 매우 기본적인 요청에서도 비슷하게 작동하지만 매개 변수가 상당히 다릅니다.
Mashmagar

답변:


32

기본 Windows (사전 설치되어 제공되며 BITS ( Background Intelligent Transfer Service ) Windows 서비스 에 따라 다름 ) :

BITSAdmin

Wget이 수행하는 작업과 더 많은 작업을 수행 할 수 있습니다 (예 : API와 같은 명령을 통해 진행중인 작업을 제어 할 수 있음). 예를 들어 상태 속도를 얻거나 너무 느리면 취소 할 수 있습니다.

내 경험의 사용 예 (같은 .bat에서 병렬 다운로드를 수행하거나 동일한 작업에서 순차적 다운로드를 수행 할 수 있음) :

bitsadmin /create thisissomejobname

bitsadmin /addfile thisissomejobname http://kakao.ro/Pictures.iso C:\john_pictures.iso

bitsadmin /SetCredentials thisissomejobname Server BASIC somehttpuser somehttppassword

bitsadmin /resume thisissomejobname

REM how to get status:
bitsadmin /info thisissomejobname

참고 : Windows XP, 7, 8 및 10 (Windows 10 Pro에서 테스트)에서 작동합니다. Windows XP의 경우 SP2 지원 도구 에서 수동으로 설치해야합니다 .

최신 Windows 10에서는 더 이상 사용되지 않는 경고가 사라 졌으므로이 유용한 도구가 계속있는 것처럼 보입니다.


2
이 명령을 .bat에서 순차적으로 사용해야하는 경우 / SetNotifyCmdLine 옵션을 확인하십시오.
Tiberiu-Ionuț Stan

5
Windows 7에서 bitsadmin을 실행하면 다음 경고가 표시됩니다. BITSAdmin is deprecated and is not guaranteed to be available in future versions of Windows. Administrative tools for the BITS service are now provided by BITS PowerShell cmdlets.사용자는주의하십시오.
yop83

"BITS 서비스 용 관리 도구는 이제 BITS PowerShell cmdlet에 의해 제공됩니다." 별로주의 할 것이 없습니다. BITS 클라이언트 만 더 이상 사용되지 않으며 BITS 서비스는 유지됩니다. 다른 기능과 유사한 클라이언트 인 클라이언트로 액세스 할 수 있습니다 (PowerShell은 향후 Windows 버전에 사전 설치되어 제공됨).
Tiberiu-Ionuț Stan

참고 : bitsadmin 클라이언트는 동일한 지원 중단 경고와 함께 Windows 8에 있습니다.
Tiberiu-Ionuț Stan 2013

2
이것은 HTTP 요청 제작자가 아닌 다운로드 관리자의 대안처럼 보이지 않습니까?
erikbwork

17

PowerShell v3 CTP1에는 wget / curl과 같은 명령이 제공됩니다. 이름은 Invoke-WebRequest 입니다. 자세한 내용 은 wget / curl과 같은 Windows Powershell V3 includes 명령 게시물을 참조 하십시오 .


2
superuser.com/a/25540/106977superuser.com/a/330754/106977 모두 Powershell 명령을 참조합니다. 두 가지 중 하나를 시도하지 않았지만 해당 링크는이 게시물과 관련이 있습니다.
bgoodr 2016 년

이것은 유용한 유틸리티이며 Windows Server 2012 R2와 함께 제공됩니다.
sfuqua


아시다시피 Invoke-WebRequest인증서 오류 (개발자에게 매우 유용한 기능)를 무시할 수 없습니다. 버전 3.0 이상
maxkoryukov

Invoke-WebRequestPowerShell 5.1에서는 인증서 오류를 무시할 수 없지만 PowerShell 6의 설명서에는 다음과 같은 SkipCertificateCheck플래그가 포함되어 있습니다 . docs.microsoft.com/en-us/powershell/module/…
Mashmagar

11

나는 종종 WebClient의 DownloadString 과 같은 간단한 일에 PowerShell을 사용합니다 .

$wc = New-Object Net.WebClient
$wc.DownloadString('...')

또는 DownloadFile다운로드와 같은 것을 다운로드 wget하고 기능으로 패키지화하십시오. 물론 이것은 매우 거칠고 재개 가능한 다운로드와 같은 멋진 기능은 없습니다.


사용 DownloadFile. 그것을 시도했을 때 효과가있었습니다 (PowerShell 2.0) $wc.DownloadFile('http://traffic.libsyn.com/makingembeddedsystems/embedded-ep149.mp3', 'EmbeddedFm_149.mp3'). 그러나 다운로드 중에는 진행 정보가 없습니다.
Peter Mortensen

@PeterMortensen : 물론 아닙니다. 단지 .NET 객체입니다. DownloadProgressChanged그래도 이벤트 핸들러를 첨부 할 수 있습니다 . 그러나 그때 당신은 또한 메소드의 비동기 변형을 사용해야한다고 생각합니다.
Joey

6

대체 브라우저 만 다운로드하면됩니다. 이 명령을 사용하여 명령 프롬프트에서 Mozilla Firefox를 다운로드 할 수 있습니다.

explorer.exe http://releases.mozilla.org/pub/mozilla.org/firefox/releases/6.0.2/win32/en-US/Firefox%20Setup%206.0.2.exe

또한 Internet Explorer가 시작되지만 기본 기능 세트 만 있습니다. Internet Explorer가 손상된 경우에도 작동합니다 (대부분의 경우).

FTP 명령을 사용할 수도 있습니다. 명령 프롬프트 명령에 다음을 입력하십시오.

  1. 유형 FTP-FTP 클라이언트가 열립니다
  2. 유형 open ftp.mozilla.org-Mozilla-FTP에 연결
  3. 익명으로 로그인 하고 빈 비밀번호를 사용하십시오.
  4. cd /pub/mozilla.org/firefox/releases/4.0.1/win32/en-US/디렉토리를 변경하려면-를 입력 하십시오.
  5. Type recv "Firefox Setup 4.0.1.exe"-Firefox 설치 프로그램을 다운로드합니다. 파일은 명령 프롬프트의 현재 폴더에 있습니다. (보통 Profile폴더)
  6. byeFTP 클라이언트를 닫으려면 입력 하십시오
  7. exit명령 프롬프트를 닫으려면 입력 하십시오.

3
좋은 답변이지만 질문과 완전히 관련이 없습니다.
안티몬

4
음 주제와 explorer.exe를 대안으로 사용하는 예를 보여줍니다.
Michael Cole

6

실제로 Wget 대안은 없습니다. WindowsWget을 사용 하고 환경 변수에 경로를 지정하여 원하는 방식으로 작동하도록 할 수 있습니다.


1
문제는 내가 함께 일하는 사람이 브라우저를 시작할 때 멈추고 다른 컴퓨터에 액세스 할 수 없다는 것입니다.
Jordan

2
이더넷을 통해 실행중인 경우 네트워킹을 통해 안전 모드로 부팅 할 수 있습니까?
Sandeep Bansal 2018 년


1

그냥 Cygwin 을 사용하고 원하는 라이브러리를 설치하고 싶습니다 ... 항상 그렇게했습니다 ...

과거에는 대안을 찾았습니다. 그러나 Cygwin은 작업에 가장 적합한 도구입니다.


2
Wget을 얻기 위해 일반적인 Cygwin 설치를 위해 파일의 gazillions를 설치하는 것은 과도합니다.
Peter Mortensen

당신은 wget, curl, ... 그리고 훨씬 더 얻을. 당신은 아마 앞으로 몇 가지 추가 리눅스 도구를 사용은 wget 필요하면 내가 :) 가정 - definatly 아니라 매일 screnario하지만
NicoJuicy

1

나는 내 자신을 만들었습니다. 그것을 확인 https://github.com/acarrilho/global (페이지 하단).

소스를 다운로드하고 cmd.exe를 사용하여 요청자 폴더로 이동하십시오. 거기에서 http사용 가능한 모든 설정을 보려면 입력 하십시오. 예로서:

http -u "http://www.example.com" -oc
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.