2013-02-05 3 views
2

www.oabt.org에서 웹 페이지를 다운로드하려고합니다. 브라우저를 사용하면 모든 HTML 코드를 가져올 수 있지만 wget을 사용하면 3 바이트 페이지 만 얻을 수 있습니다.wget이 3 바이트 홈 페이지를 반환합니다.

➜ spider git:(master) wget http://www.oabt.org/ 
--2013-02-06 01:45:11-- http://www.oabt.org/ 
Resolving www.oabt.org... 125.64.93.243 
Connecting to www.oabt.org|125.64.93.243|:80... connected. 
HTTP request sent, awaiting response... 200 OK 
Length: 3 [text/html] 
Saving to: ‘index.html’ 


100%[===============================================================================>] 3   --.-K/s in 0s  

2013-02-06 01:45:12 (117 KB/s) - ‘index.html’ saved [3/3] 

➜ spider git:(master) ✗ xxd -l 100 ./index.html 
0000000: efbb bf   

이 사이트에 대한 홈페이지를 올바르게 얻는 방법?

답변

1

wireshark으로 http 연결을 덤프했으며 wget에서 보낸 헤더와 browser에서 보낸 헤더를 비교했습니다. 웹 사이트가 Accept-Encoding: gzip 헤더가 제대로 응답해야 함을 발견 할 때까지 wget의 --header 매개 변수로 재생되는 동일한 http 요청을 복제하려고했습니다.

는 간단히 말해서 작업 명령이 될 :

wget --header='Accept-Encoding: gzip' http://www.oabt.org/index.php 

하지만 당신이 즉시 사용에서이 명령 페이지를 압축하려면이 ...

gzipped 내용을 저장합니다

wget -O- --header='Accept-Encoding: gzip' \ 
http://www.oabt.org/index.php | gunzip - > index.html 

... gzipped 콘텐츠는 압축 해제되어 index.html 파일

으로 리디렉션됩니다.
+0

+100! 문제를 이해하고 해결하는 데 좋은 노력! – slezica

+0

그것은 작동합니다! 노력에 감사드립니다! –

관련 문제