GNU Wget은 인터넷에서 파일을 손쉽게 가져오는 데 의존하는 많은 리눅스 사용자에게 필수적인 다목적 명령줄 유틸리티입니다. 기능이 풍부하고 사용하기 쉬우며 HTTP, HTTPS, FTP를 포함한 일반적인 네트워크 프로토콜을 지원합니다. 또한 Wget은 전체 웹사이트나 페이지 하위 집합을 다운로드하는 내장 기능을 갖추고 있어 웹 스크래핑, 미러링, 아카이빙에 이상적인 도구입니다.
Wget의 가장 인상적인 기능 중 하나는 프록시와 원활하게 작동하는 능력입니다. 리눅스 사용자는 신원 은닉, 성가신 지역 제한 우회, 부하 분산을 통한 성능 향상을 위해 프록시가 필요한 경우가 많습니다. Wget을 도구 상자에 추가하면 프록시 통합이 쉬워집니다.
Wget이란?
Wget은 “World Wide Web”과 “get”의 합성어로, 인터넷상의 파일과 상호작용하기 위한 무료 오픈소스 프로그램입니다. 이는 대규모 협업 프로젝트인 GNU 프로젝트의 일부입니다.
Wget은 온라인에서 파일을 다루는 기술 사용자를 위한 편리한 기능을 갖추고 있습니다. 일괄 다운로드, 중단된 다운로드 재개, 재귀적 다운로드, 프록시 지원, 다운로드 예약, 대역폭 제한, 사용자 정의 가능한 사용자 에이전트, SSL/TLS 지원 등이 포함됩니다. 또한 비대화형으로 백그라운드에서 실행되는 스크립트나 cron 작업에 완벽합니다.
Wget은 리눅스와 유닉스 사용자들 사이에서 널리 사용되며, 윈도우와 macOS용 버전도 제공됩니다. Wget의 인상적인 기능 범위와 크로스 플랫폼 호환성은 대용량 파일 다운로드, 다운로드 자동화, 웹사이트 미러 생성 등 다양한 웹 기반 작업에 필수 도구로 자리매김하게 합니다.
리눅스에서 Wget과 프록시 사용하기
데이터센터 IP와 주거용 IP를 포함한 다양한 프록시가 존재하며, 각각 고유한 장점과 사용 사례를 지닙니다. Wget과 함께 프록시를 사용하면 지역 및 네트워크/ISP 제한을 우회하는 등의 이점이 있습니다. 또한 웹 브라우징이나 파일 다운로드 시 익명성과 개인 정보를 보호할 수 있습니다.
적합한 프록시 제공업체를 선택하면 자주 접근하는 리소스를 캐싱하여 성능을 향상시킬 수도 있습니다. 또한 프록시 제공업체는 네트워크 속도에 영향을 미칠 수 있으며, 광범위한 IP 주소 풀을 제공하여 속도 제한을 우회하는 데 도움을 주고, 심지어 캡차 우회 솔루션을 제공하기도 합니다. 따라서 특히 Wget과 함께 사용할 때 프록시가 효과적으로 작동하도록 하려면적합한 프록시 제공업체를 선택하는것이 필수적입니다.
Wget에 프록시 설정하기
Wget을 프록시와 함께 사용하려면 환경 설정 또는 Wget 명령 자체 내에서 적절한 설정을 구성해야 합니다. 이를 수행하는 방법에는 여러 가지가 있으며, 이 튜토리얼에서는 네 가지 방법을 다룹니다: 환경 변수를 사용한 프록시 설정 구성, /etc/wgetrc 파일 업데이트를 통한 모든 사용자에 대한 프록시 설정, ~/.wgetrc 파일 업데이트를 통한 현재 사용자에 대한 프록시 설정, 그리고 -e 플래그를 사용한 현재 터미널 인스턴스에 대한 프록시 설정입니다. 또한 인증된 프록시와 인증되지 않은 프록시 모두에서 Wget을 사용하는 방법도 배울 수 있습니다.
이 글에서 다루는 모든 설정은 이 GitHub gist에서 확인할 수 있습니다.
프록시와 함께 Wget을 사용하기 전에 다음이 필요합니다:
- 데비안 기반 시스템
- 프록시 서버 정보: Wget을 프록시와 함께 사용하려면 프록시 서버의 세부 정보가 필요합니다. 여기에는 서버의 IP 주소 또는 호스트 이름, 포트 번호, 그리고 필요한 경우 인증 정보(예: 사용자 이름과 비밀번호)가 포함됩니다. 이 정보는 프록시 제공업체나 네트워크 관리자에게서 얻을 수 있습니다.
1. 환경 변수를 사용한 프록시 설정 구성
Wget용 프록시 설정을 가장 쉽게 구성하는 방법은 환경 변수를 사용하여 시스템 수준에서 정의하는 것입니다. 이렇게 하면 여러 프로그램이 해당 값을 읽고 사용할 수 있으므로 한 번만 변경하면 됩니다. 프록시를 환경 변수로 설정하면 Wget이 컴퓨터에서 수행하는 모든 요청에 이를 사용하도록 보장됩니다.
Wget용 프록시를 설정하려면 셸 구성 파일(예 : .bashrc 또는 .bash_profile)에 다음 줄을 추가하고 자리 표시자를 프록시 서버 주소 및 포트(예: http://proxy.example.com:8080)로 대체하십시오:
export http_proxy=http://proxy_address:proxy_port
export https_proxy=https://proxy_address:proxy_port
프록시가 인증을 요구하는 경우, http://proxy_address:proxy_port 대신 URL에 사용자 이름과 비밀번호를 추가하여 다음과 같이 작성해야 합니다:
export http_proxy=http://username:password@proxy_address:proxy_port
export https_proxy=username:password@proxy_address:proxy_port
export ftp_proxy=username:password@proxy_address:proxy_port
사용자 이름,비밀번호,proxy_address,proxy_port변수를 적절한 값으로 대체해야 합니다(예: http_proxy=http://username:[email protected]:8080).
이 줄들을 추가한 후, 변경 사항을 적용하기 위해 사용한 파일에 따라 셸을 재시작하거나 source .bashrc 또는 source .bash_profile을 실행하십시오.
2. /etc/wgetrc 파일 업데이트로 모든 사용자에 대한 프록시 설정
시스템 전체에 프록시를 설정해야 하는 경우입니다. 예를 들어, 신원 보호를 위해 Wget으로 파일을 다운로드할 때만 프록시를 사용하려는 경우, Wget은 이를 쉽게 설정할 수 있는 방법을 제공하며 개별 시스템 사용자 또는 모든 시스템 사용자에 대해 설정할 수 있습니다.
모든 시스템 사용자에게 프록시를 설정하는 것은 여러 사용자가 동일한 프록시를 사용하여 작업을 수행하는 공유 회사 컴퓨터가 있는 경우에 유용합니다. Wget을 사용하면 프록시를 한 번만 구성하여 모든 사용자가 액세스할 수 있도록 할 수 있습니다.
모든 사용자를 위한 프록시를 설정하려면 /etc/wgetrc에 위치한 구성 파일을 수정해야 합니다. wgetrc 파일은 Wget의 기본 설정과 옵션을 저장하는 초기화 파일입니다. 이 파일을 통해 매번 명령줄 인수를 지정하지 않고도 동작을 사용자 정의할 수 있습니다.
프록시를 설정하려면 선호하는 텍스트 편집기로 wgetrc 파일을 열고 다음 줄을 추가하십시오:
https_proxy = http://proxy.example.com:8080
http_proxy = http://proxy.example.com:8080
ftp_proxy = http://proxy.example.com:8080
인증이 필요한 프록시의 경우 다음 구문을 사용하십시오:
https_proxy = http://username:[email protected]:8080
http_proxy = http://username:[email protected]:8080
ftp_proxy = http://username:[email protected]:8080
proxy.example.com:8080 및 username:password를 사용 중인 프록시 서버의 주소, 포트, 인증 정보로 대체하십시오. 파일을 저장하고 편집기를 닫으십시오. 이제 시스템의 모든 사용자가 수행하는 Wget 요청은 지정된 프록시 서버를 사용합니다.
3. ~/.wgetrc 파일 업데이트로 현재 사용자용 프록시 설정
Wget은 현재 사용자만을 위한 프록시 설정을 변경할 수도 있습니다. 프록시 세부 정보에 사용자별 인증 정보가 필요한 상황에서 유용합니다.
프록시를 설정하려면 ~/.wgetrc 파일을 생성하거나 수정해야 합니다. 이 파일은 홈 디렉터리(~/)에 위치한 사용자별 wgetrc 파일로, 현재 사용자에게만 적용되는 설정을 저장합니다. ~/.wgetrc 파일은 기본적으로 존재하지 않을 수 있습니다. 특히 새로 설치한 Linux 시스템이나 사용자 계정에서는 해당 파일이 일반적으로 사용자 계정에 특화된 Wget 설정을 사용자 정의할 필요가 있을 때 생성되기 때문입니다. 파일이 존재하지 않으면 생성할 수 있습니다.
~/.wgetrc 파일을 생성한 후 선호하는 텍스트 편집기로 열고 다음 줄을 추가하십시오:
https_proxy = http://proxy.example.com:8080
http_proxy = http://proxy.example.com:8080
ftp_proxy = http://proxy.example.com:8080
다시 한번, proxy.example.com:8080을 본인의 실제 정보로 대체해야 합니다. 이 방법은 현재 사용자가 수행하는 Wget 요청에만 영향을 미칩니다. 동일한 컴퓨터에서 다른 사용자로 전환하면 이 설정은 적용되지 않습니다.
4. -e 플래그를 사용하여 현재 터미널 인스턴스에 프록시 설정
시스템 또는 Wget 수준에서 프록시를 설정하지 않으려면 Wget 명령 실행 시 직접 구성할 수 있습니다. 이 방법은 개별 Wget 명령에 대해 서로 다른 프록시 설정을 사용할 수 있어 유연성이 더 높습니다.
단일 Wget 요청에 대한 프록시 구성을 지정하려면 다음 구문을 사용하십시오:
# http 프록시
wget -e use_proxy=yes -e http_proxy=http://proxy_address:proxy_port URL
# https 프록시
wget -e use_proxy=yes -e https_proxy=http://proxy_address:proxy_port URL
이 코드에서 URL은 Wget이 가져올 URL입니다(예: www.google.com).
인증된 프록시의 경우, 이전 섹션에서 설명한 대로 프록시를 지정하기 위해 http://username:password@proxy_address:proxy_port 구문을 사용할 수 있습니다.
이 방법을 사용하면 다른 요청, 터미널 세션 또는 사용자에게 영향을 주지 않고 단일 요청에 대한 프록시를 설정할 수 있습니다.
Wget 사용하기
다행히 Wget 사용법은 간단합니다. Wget의 일반적인 구문은 wget [옵션] [URL]이며, 먼저 선택적 인수( 예: 앞서 배운 -e use_proxy=yes ) 를 지정한 다음 가져올 [URL] 을 입력합니다. 이는 문서나 웹 페이지와 같은 미디어 파일일 수 있습니다.
첫 부분이 선택 사항이므로 wget [url]만 지정하여 웹 리소스를 가져올 수 있습니다. 예를 들어 wget http://example.com/file.pdf을 호출하면 해당 파일을 가져와 로컬 머신에 다운로드합니다.
디스크에 저장할 때 사용할 이름을 지정하면서 파일을 다운로드할 수도 있습니다. 이를 위해 --output-document 인수를 사용하세요:
wget --output-document=image.jpg https://httpbin.org/image/jpeg
Wget은 다운로드 작업을 일괄 처리하여 여러 URL에서 한 번에 다운로드할 수도 있습니다. 이를 위해서는 파일을 생성하고 각 줄에 하나의 URL을 붙여넣어야 합니다. 그런 다음 다음 명령을 실행하면 됩니다:
wget ‐‐input list-of-file-urls.txt
참고: 프록시 설정에 방법 4를 사용하는 경우, 프록시와 함께 작동하도록 이전 명령어에
-e use_proxy=yes -e http_proxy=http://proxy_address:proxy_port를추가해야 합니다. 옵션 1, 2, 3은 프록시가 이미 설정되어 있으므로 그대로 작동합니다.
결론
본 문서에서는 Wget을 프록시와 함께 사용하는 네 가지 방법과 그 장점을 알아보았습니다. 시스템 전체, 모든 사용자, 특정 사용자 또는 단일 Wget 요청에 프록시를 적용하는 선호도에 따라 가장 적합한 방법을 선택할 수 있습니다.
Wget을 프록시와 함께 사용하면 다양한 이점이 있지만, 성능과 안정성을 극대화하려면 올바른 프록시 서비스를 선택하는 것이 필수적입니다. Bright Data는 기업이 웹에서 방대한 양의 구조화된 데이터를 수집할 수 있도록 지원하는 웹 데이터 플랫폼입니다. Bright Data의 프록시 솔루션을 사용하면 Wget 사용 경험을 개선하고 실패한 요청 수를 줄여 인터넷에서 더 나은 정보 검색을 보장할 수 있습니다.
스타트업이든 대기업이든, Bright Data는 웹 스크레이퍼 API 및 웹 언락커와 같은 프록시 솔루션과 맞춤형 도구를 활용하여 웹사이트 스크래핑 및 데이터 수집을 지원합니다. Bright Data의 데이터센터 프록시, 프록시 서버 옵션 및 가격 정책을 살펴보고 프록시 네트워크 요구 사항에 완벽하게 부합하는 솔루션을 찾아보세요.