페이지에서 다운로드를 기다리게 만드는 wget으로 파일을 다운로드하는 방법은 무엇입니까?

페이지에서 다운로드를 기다리게 만드는 wget으로 파일을 다운로드하는 방법은 무엇입니까?

wget을 사용하여 sourceforge에서 파일을 다운로드하려고 합니다. 하지만 우리 모두 알고 있듯이 다운로드 버튼을 클릭한 다음 자동 다운로드를 기다려야 합니다. wget을 사용하여 이러한 유형의 파일을 어떻게 다운로드합니까?

나는 이것을 다운로드하려고 합니다:http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.1/bitcoin-0.8.1-linux.tar.gz/download

그러나 해당 URL 링크에서 wget을 수행하면 파일이 브라우저를 통해 자동으로 로드되므로 파일을 얻을 수 없습니다.

답변1

curl를 사용하는 대신 이 작업을 수행 하는 것이 좋습니다 wget. -L, -J및 스위치를 사용하여 리디렉션을 따를 수 있습니다 -O.

curl -O -J -L http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.1/bitcoin-0.8.1-linux.tar.gz/download

스위치 정의

-O/--remote-name
  Write output to a local file named like the remote file we get. 
  (Only the file part of the remote  file  is  used, the path is cut off.)

-L/--location
  (HTTP/HTTPS)  If  the  server  reports that the requested page has moved 
  to a different location (indicated with a Location: header and a 3XX 
  response code), this option will make curl redo the request on the new 
  place.  If  used together  with  -i/--include  or -I/--head, headers from 
  all requested pages will be shown. When authentication is used, curl only 
  sends its credentials to the initial host. If a redirect takes curl to a 
  different host, it  won't be  able  to  intercept  the  user+password. 
  See also --location-trusted on how to change this. You can limit the
  amount of redirects to follow by using the --max-redirs option.

-J/--remote-header-name
  (HTTP) This option tells the -O/--remote-name option to  use  the  
  server-specified  Content-Disposition  filename instead of extracting a 
  filename from the URL.

참조컬 맨 페이지상세 사항은.

답변2

다운로드한 파일의 이름을 설명하기 위해 "Content-Disposition" 헤더를 사용하는 일부 파일 다운로드 CGI 프로그램에 유용한 옵션을 wget사용할 수 있습니다 .--content-disposition

예를 들어:

wget --user-agent=Mozilla --content-disposition -E -c http://example.com/

보다 복잡한 솔루션(예: 인증 필요)의 경우 쿠키 파일( --load-cookies file)을 사용하여 세션을 시뮬레이션하세요.

답변3

wget귀하와 sourceforge 사이에 어떤 버전의 OS 및 프록시가 있는지 잘 모르겠지만 wget"/download"를 제거하고 파일 확장자를 그대로 두었을 때 파일을 다운로드했습니다.

전체 세션에서 게시물이나 페이스트빈이 넘쳐나는 것을 원하지 않지만 전송이 시작되기 전에 302, 200 상태 코드를 받았습니다. 시도하면 어떻게 되나요 wget?

Resolving downloads.sourceforge.net... 216.34.181.59
Connecting to downloads.sourceforge.net|216.34.181.59|:80... connected.
HTTP request sent, awaiting response... 302 Found

[snipped for brevity]

HTTP request sent, awaiting response... 200 OK
Length: 13432789 (13M) [application/x-gzip]
Saving to: `download'

관련 정보