많은 dxf 유형 파일이 있는 웹 서버가 있으며 한 번에 하나만 다운로드할 수 있습니다. 내 생각에는 wget을 사용하여 이 모든 파일을 동시에 다운로드하는 것이 좋은 생각이라고 생각합니다. 불행하게도 wget을 사용하여 이 작업을 성공적으로 수행할 수는 없습니다.
내 코드는 다음과 같습니다
wget -r -A.dxf www.site.com/example/download
이 코드는 다음과 같은 오류를 발생시킵니다:
HTTP request sent, awaiting response... 403 Forbidden
Remote file does not exist -- broken link!!!
정확한 파일 이름으로 URL을 지정하면
wget -O www.site.com/example/download/filename.dxf
파일 다운로드가 성공했습니다.
성공적인 재귀적 dxf 파일 형식 다운로드를 위한 코드는 어떤 모습이어야 합니까?
답변1
이는 웹 서버가 디렉토리의 디렉토리 목록을 금지하기 때문에 발생할 수 있습니다 403 forbidden
(따라서 파일 목록을 생성하지 않습니다). 다운로드하려는 파일 목록을 알고 있는 경우 간단한 텍스트 파일을 만들고 wget
다운로드 목록을 알려줄 수 있습니다.
예:
$ cat list.txt
file1.dxf
file2.dxf
fileA.dxf
$ wget --base http://www.site.com/example/download --input-file list.txt
다운로드할 URL:
답변2
*파일 이름을 알고 순서대로 되어 있으며 웹 서버를 사용하면 단일 세션으로 다운로드할 수 있으므로* 셸 확장을 통해 이를 달성할 수 있습니다.
예제의 파일 이름이 file1.dxf, file2.dxf...file5.dxf라고 가정합니다.
다음과 같이 파일을 다운로드할 수 있습니다.
wget -r -np -nd http://www.site.com/example/download/file{1..5}.dxf
다운로드된 파일은 다음과 같습니다.
- 파일 1.dxf
- 파일 2.dxf
- 파일 3.dxf
- 파일 4.dxf
- 파일 5.dxf
마찬가지로 파일이 filea.dxf라면 fileb.dxf .... filef.dxf
wget -r -np -nd http://www.site.com/example/download/file{a..f}.dxf
다운로드된 파일은 다음과 같습니다.
- 파일 a.dxf
- 파일 b.dxf
- 파일c.dxf
- 아카이브.dxf
- 파일 e.dxf
- 파일f.dxf
-r: 재귀적, -np: 상위 없음, -nd: 디렉터리 없음. 이는 파일이 다운로드되지만 디렉터리 계층 구조는 다운로드되지 않음을 의미합니다.