wget을 사용하여 실제 HTML 대신 gzipped 버전을 얻는 올바른 명령은 무엇입니까 가져 와서 전체

나는 이것 에 대해 이야기 하는 이 웹 사이트 를 우연히 발견 했습니다.

따라서 gzipped 버전을 가져 와서 전체 웹 사이트를 다운로드 할 때 올바른 명령은 무엇입니까?

이 명령을 테스트했지만 wget이 실제로 gzipped 버전을 얻는 지 모르겠습니다.

wget --header="accept-encoding: gzip" -m -Dlinux.about.com -r -q -R gif,png,jpg,jpeg,GIF,PNG,JPG,JPEG,js,rss,xml,feed,.tar.gz,.zip,rar,.rar,.php,.txt -t 1 http://linux.about.com/



답변

gzip의 컨텐츠를 요청하면 (accept-encoding : gzip 헤더 사용) 올바른 wget이 컨텐츠를 읽을 수 없다는 것을 이해합니다. 따라서 첫 번째 방문한 페이지에 대해 디스크에 하나의 gzip으로 압축 된 파일이 만들어 지지만 다른 내용은 없습니다.

즉, wget을 사용하여 gzip으로 압축 된 컨텐츠를 요청하고 전체 사이트를 동시에 재귀 할 수는 없습니다.

wget 이이 기능을 지원할 수있는 패치가 있다고 생각하지만 기본 배포 버전에는 없습니다.

-S 플래그를 포함하면 웹 서버가 올바른 유형의 컨텐츠로 응답하는지 알 수 있습니다. 예를 들어

wget -S --header="accept-encoding: gzip" wordpress.com
--2011-06-17 16:06:46--  http://wordpress.com/
Resolving wordpress.com (wordpress.com)... 72.233.104.124, 74.200.247.60, 76.74.254.126
Connecting to wordpress.com (wordpress.com)|72.233.104.124|:80... connected.
HTTP request sent, awaiting response...
  HTTP/1.1 200 OK
  Server: nginx
  Date: Fri, 17 Jun 2011 15:06:47 GMT
  Content-Type: text/html; charset=UTF-8
  Connection: close
  Vary: Accept-Encoding
  Last-Modified: Fri, 17 Jun 2011 15:04:57 +0000
  Cache-Control: max-age=190, must-revalidate
  Vary: Cookie
  X-hacker: If you're reading this, you should visit automattic.com/jobs and apply to join the fun, mention this header.
  X-Pingback: http://wordpress.com/xmlrpc.php
  Link: <http://wp.me/1>; rel=shortlink
  X-nananana: Batcache
  Content-Encoding: gzip
Length: unspecified [text/html]

콘텐츠 인코딩에는 gzip이 명시되어 있지만 linux.about.com (현재),

wget -S --header="accept-encoding: gzip" linux.about.com
--2011-06-17 16:12:55--  http://linux.about.com/
Resolving linux.about.com (linux.about.com)... 207.241.148.80
Connecting to linux.about.com (linux.about.com)|207.241.148.80|:80... connected.
HTTP request sent, awaiting response...
  HTTP/1.1 200 OK
  Date: Fri, 17 Jun 2011 15:12:56 GMT
  Server: Apache
  Set-Cookie: TMog=B6HFCs2H20kA1I4N; domain=.about.com; path=/; expires=Sat, 22-Sep-12 14:19:35 GMT
  Set-Cookie: Mint=B6HFCs2H20kA1I4N; domain=.about.com; path=/
  Set-Cookie: zBT=1; domain=.about.com; path=/
  Vary: *
  PRAGMA: no-cache
  P3P: CP="IDC DSP COR DEVa TAIa OUR BUS UNI"
  Cache-Control: max-age=-3600
  Expires: Fri, 17 Jun 2011 14:12:56 GMT
  Connection: close
  Content-Type: text/html
Length: unspecified [text/html]

text / html을 반환합니다.

일부 구형 브라우저는 여전히 gzip으로 인코딩 된 컨텐츠에 문제가 있기 때문에 많은 사이트는 브라우저 식별을 통해서만이를 활성화합니다. 그들은 종종 기본적으로 그것을 끄고 브라우저가 그것을 지원할 수 있다는 것을 알고있을 때만 그것을 끄고-일반적으로 그 목록에 wget을 포함시키지 않습니다. 즉, 사이트에서 브라우저 용으로 표시되는 경우에도 wget에서 gzip 내용을 반환하지 않을 수 있습니다.


답변

간단한 명령으로 html 페이지를 가져 와서 압축하거나 파일을 가져 와서 압축하십시오.

$ wget -qO - <url> | gzip -c > file_name.gz

옵션에 대한 자세한 내용은. man 명령을 사용하십시오.


답변