리눅스 wget 웹 get post 요청 사용 방법
- IT/리눅스(Linux)
- 2022. 7. 10.
Wget은 웹 서버로부터 콘텐츠를 가져오는 컴퓨터 프로그램으로, GNU 프로젝트의 일부입니다.
이 프로그램의 이름은 월드 와이드 웹(www 또는 web)과 get에서 가져온 이름입니다.
HTTP, HTTPS, FTP 프로토콜을 통해 콘텐츠들내려받기를 지원합니다.
wget 패키지 설치 확인하기
wget : command not found
wget 명령어가 실행되지 않는다면 먼저 wget 패키지를 설치해 줘야 합니다.
# yum -y install wget
리눅스의 패키지 파일을 wget을 통해 가져오는 것을 해보겠습니다.
wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.17.2.tar.xz
wget ftp://ftp.gnu.org/pub/gnu/wget/wget-latest.tar.gz
wget 다른이름으로 저장하기
wget - O Change_name.tar.gz ftp://ftp.gnu.org/pub/gnu/wget/wget-latest.tar.gz // 다른 이름으로 저장할 수 있습니다.
wget ftp 아이디 패스워드 입력하여 가져오기
wget --ftp-user=guest --ftp-password=ftpuser ftp://ftp.site.net/sample.tar.gz
해외 사이트를 이용할 경우 인터넷, 네트워크가 불안정해서 중간에 끊길 수 있습니다. tries 옵션으로 응답이 없는 사이트에 재시도 하도록 옵션을 부여할 수 있습니다.
wget --tries=10
wget 사용 방법
사용법: wget [OPTION] [URL]
긴 옵션에 대한 필수 인수는 짧은 옵션에도 필수입니다.
startup:
-V, --version Wget의 버전을 표시하고 종료합니다.
-h, --help 이 도움말을 인쇄합니다.
-b, --background 시작 후 배경으로 이동합니다.
-e, --execute=COMMAND는 `.wgetrc' 스타일의 명령을 실행합니다.
로깅 및 입력 파일:
-o, --output-file=FILE 로그 메시지를 FILE에 기록합니다.
-a, --append-output=FILE FILE에 메시지를 추가합니다.
-d, --debug 많은 디버깅 정보를 인쇄합니다.
-q, --quiet 조용한(출력 없음).
-v, --verbose 자세한 정보 표시(기본값).
-nv, --no-verbose 조용하지 않고 장황함을 끕니다.
--report-speed=TYPE 출력 대역폭을 TYPE으로 표시합니다. TYPE은 비트일 수 있습니다.
-i, --input-file=FILE 로컬 또는 외부 FILE에서 찾은 다운로드 URL.
-F, --force-html은 입력 파일을 HTML로 취급합니다.
-B, --base=URL은 HTML 입력 파일 링크를 확인합니다(-i -F).
URL을 기준으로 합니다.
--config=FILE 사용할 구성 파일을 지정합니다.
다운로드:
-t, --tries=NUMBER 재시도 횟수를 NUMBER로 설정합니다(무제한 0).
--retry-connrefused 연결이 거부된 경우에도 재시도합니다.
-O, --output-document=FILE 문서를 FILE에 씁니다.
-nc, --no-clobber 다운로드할 다운로드 건너뛰기
기존 파일(덮어쓰기).
-c, --continue 부분적으로 다운로드된 파일을 계속 가져옵니다.
--progress=TYPE 진행률 게이지 유형을 선택합니다.
-N, --timestamping은 다음보다 최신 버전이 아니면 파일을 다시 검색하지 않습니다.
현지의.
--no-use-server-timestamps는 로컬 파일의 타임스탬프를 다음과 같이 설정하지 않습니다.
서버에 있는 것.
-S, --server-response 인쇄 서버 응답.
--spider는 아무것도 다운로드하지 않습니다.
-T, --timeout=SECONDS 모든 시간 초과 값을 SECONDS로 설정합니다.
--dns-timeout=SECS는 DNS 조회 시간 초과를 SECS로 설정합니다.
--connect-timeout=SECS 연결 시간 초과를 SECS로 설정합니다.
--read-timeout=SECS는 읽기 제한 시간을 SECS로 설정합니다.
-w, --wait=SECONDS 검색 사이에 SECONDS를 기다립니다.
--waitretry=SECONDS 대기 1..검색 재시도 사이의 SECONDS.
--random-wait from 0.5*WAIT...1.5*WAIT 검색 사이의 초.
--no-proxy는 명시적으로 프록시를 끕니다.
-Q, --quota=NUMBER 검색 할당량을 NUMBER로 설정합니다.
--bind-address=ADDRESS는 로컬 호스트의 ADDRESS(호스트 이름 또는 IP)에 바인드합니다.
--limit-rate=RATE 다운로드 속도를 RATE로 제한합니다.
--no-dns-cache 캐싱 DNS 조회를 비활성화합니다.
--restrict-file-names=OS 파일 이름의 문자를 OS가 허용하는 문자로 제한합니다.
--ignore-case 파일/디렉토리를 일치시킬 때 대소문자를 무시합니다.
-4, --inet4-only IPv4 주소에만 연결합니다.
-6, --inet6-only IPv6 주소에만 연결합니다.
--prefer-family=FAMILY는 지정된 가족의 주소에 먼저 연결하고,
IPv6, IPv4 또는 없음 중 하나입니다.
--user=USER는 ftp와 http 사용자를 모두 USER로 설정합니다.
--password=PASS ftp 및 http 암호를 모두 PASS로 설정합니다.
--ask-password 암호를 묻습니다.
--no-iri IRI 지원을 끕니다.
--local-encoding=ENC IRI에 대한 로컬 인코딩으로 ENC를 사용합니다.
--remote-encoding=ENC 기본 원격 인코딩으로 ENC를 사용합니다.
--unlink 클로버 전에 파일을 제거합니다.
디렉토리:
-nd, --no-directories는 디렉토리를 생성하지 않습니다.
-x, --force-directories는 디렉터리를 강제로 생성합니다.
-nH, --no-host-directories는 호스트 디렉토리를 생성하지 않습니다.
--protocol-directories는 디렉토리에서 프로토콜 이름을 사용합니다.
-P, --directory-prefix=PREFIX 파일을 PREFIX/...에 저장합니다.
--cut-dirs=NUMBER는 NUMBER개의 원격 디렉터리 구성 요소를 무시합니다.
HTTP 옵션:
--http-user=USER http 사용자를 USER로 설정합니다.
--http-password=PASS http 비밀번호를 PASS로 설정합니다.
--no-cache는 서버 캐시 데이터를 허용하지 않습니다.
--default-page=NAME 기본 페이지 이름을 변경합니다(일반적으로
이것은 `index.html'입니다.).
-E, --adjust-extension HTML/CSS 문서를 적절한 확장자로 저장합니다.
--ignore-length 'Content-Length' 헤더 필드를 무시합니다.
--header=STRING 헤더 사이에 STRING을 삽입합니다.
--max-redirect 페이지당 허용되는 최대 리디렉션.
--proxy-user=USER는 USER를 프록시 사용자 이름으로 설정합니다.
--proxy-password=PASS PASS를 프록시 비밀번호로 설정합니다.
--referer=URL은 HTTP 요청에 `Referer: URL' 헤더를 포함합니다.
--save-headers HTTP 헤더를 파일에 저장합니다.
-U, --user-agent=AGENT는 Wget/VERSION 대신 AGENT로 식별합니다.
--no-http-keep-alive HTTP 연결 유지(영구 연결)를 비활성화합니다.
--no-cookies는 쿠키를 사용하지 않습니다.
--load-cookies=FILE 세션 전에 FILE에서 쿠키를 로드합니다.
--save-cookies=FILE 세션 후 쿠키를 FILE에 저장합니다.
--keep-session-cookies 세션(비영구) 쿠키를 로드하고 저장합니다.
--post-data=STRING POST 방식을 사용합니다. STRING을 데이터로 보냅니다.
--post-file=FILE은 POST 방식을 사용합니다. FILE의 내용을 보냅니다.
--content-disposition은 다음과 같은 경우 Content-Disposition 헤더를 존중합니다.
로컬 파일 이름 선택(실험).
--content-on-error는 서버 오류에 대해 수신된 내용을 출력합니다.
--auth-no-challenge 기본 HTTP 인증 정보 보내기
먼저 서버를 기다리지 않고
도전.
HTTPS(SSL/TLS) 옵션:
--secure-protocol=PR 보안 프로토콜 선택, auto, SSLv2,
SSLv3, TLSv1, TLSv1_1 및 TLSv1_2.
--no-check-certificate는 서버의 인증서를 확인하지 않습니다.
--certificate=FILE 클라이언트 인증서 파일.
--certificate-type=TYPE 클라이언트 인증서 유형, PEM 또는 DER.
--private-key=FILE 개인 키 파일.
--private-key-type=TYPE 개인 키 유형, PEM 또는 DER.
--ca-certificate=CA 번들을 포함하는 FILE 파일.
--ca-directory=CA의 해시 목록이 저장되는 DIR 디렉토리.
--random-file=SSL PRNG를 시드하기 위한 임의 데이터가 있는 FILE 파일.
--egd-file=임의의 데이터로 EGD 소켓의 이름을 지정하는 FILE 파일.
FTP 옵션:
--ftp-user=USER ftp 사용자를 USER로 설정합니다.
--ftp-password=PASS ftp 암호를 PASS로 설정합니다.
--no-remove-listing은 `.listing' 파일을 제거하지 않습니다.
--no-glob FTP 파일 이름 글로빙을 끕니다.
--no-passive-ftp "수동" 전송 모드를 비활성화합니다.
--preserve-permissions는 원격 파일 권한을 유지합니다.
--retr-symlinks 재귀할 때 연결된 파일(dir이 아님)을 가져옵니다.
WARC 옵션:
--warc-file=FILENAME 요청/응답 데이터를 .warc.gz 파일에 저장합니다.
--warc-header=STRING warcinfo 레코드에 STRING을 삽입합니다.
--warc-max-size=NUMBER WARC 파일의 최대 크기를 NUMBER로 설정합니다.
--warc-cdx CDX 인덱스 파일을 씁니다.
--warc-dedup=FILENAME은 이 CDX 파일에 나열된 레코드를 저장하지 않습니다.
--no-warc-compression은 WARC 파일을 GZIP으로 압축하지 않습니다.
--no-warc-digests는 SHA1 다이제스트를 계산하지 않습니다.
--no-warc-keep-log는 WARC 레코드에 로그 파일을 저장하지 않습니다.
--warc-tempdir=에 의해 생성된 임시 파일의 DIRECTORY 위치
WARC 작가.
Recursive 다운로드:
-r, --recursive 재귀 다운로드를 지정합니다.
-l, --level=NUMBER 최대 재귀 깊이(inf 또는 무한의 경우 0).
--delete-after 파일을 다운로드한 후 로컬에서 삭제합니다.
-k, --convert-links 다운로드한 HTML 또는 CSS의 링크가 다음을 가리키도록 합니다.
로컬 파일.
--backups=N 파일 X를 쓰기 전에 최대 N개의 백업 파일을 회전합니다.
-K, --backup-converted 파일 X를 변환하기 전에 X.orig로 백업합니다.
-m, --mirror -N -r -l inf --no-remove-listing의 단축키입니다.
-p, --page-requisites는 HTML 페이지를 표시하는 데 필요한 모든 이미지 등을 가져옵니다.
--strict-comments는 HTML 주석의 엄격한(SGML) 처리를 켭니다.
Recursive 수락/거부:
-A, --accept=LIST 허용되는 확장의 쉼표로 구분된 목록입니다.
-R, --reject=LIST 거부된 확장의 쉼표로 구분된 목록입니다.
--accept-regex=허용된 URL과 일치하는 REGEX 정규식.
--reject-regex=거부된 URL과 일치하는 REGEX 정규식.
--regex-type=TYPE 정규식 유형(posix|pcre).
-D, --domains=LIST 허용 도메인의 쉼표로 구분된 목록입니다.
--exclude-domains=LIST 거부된 도메인의 쉼표로 구분된 목록입니다.
--follow-ftp HTML 문서에서 FTP 링크를 따릅니다.
--follow-tags=LIST 추적하는 HTML 태그의 쉼표로 구분된 목록입니다.
--ignore-tags=LIST 무시된 HTML 태그의 쉼표로 구분된 목록입니다.
-H, --span-hosts 재귀적일 때 외부 호스트로 이동합니다.
-L, --relative는 상대 링크만 따릅니다.
-I, --include-directories=허용 디렉토리 목록.
--trust-server-names는 리디렉션에 의해 지정된 이름을 사용합니다.
url 마지막 구성 요소.
-X, --exclude-directories=제외된 디렉토리 목록.
-np, --no-parent는 상위 디렉토리로 올라가지 않습니다.