2

www.oabt.orgでWebページをダウンロードしようとしています。ブラウザでは、すべてのhtmlコードを取得できますが、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          

このサイトのホームページを正しく取得するにはどうすればよいですか?

4

1 に答える 1

1

でhttp接続をダンプし、wiresharkによって送信されたヘッダーとによって送信されたヘッダーを比較wgetしましたbrowser。ウェブサイトが適切に応答する--headerためにヘッダーが必要であることがわかるまで、wgetのパラメーターで遊んでいる同じhttpリクエストを複製しようとしました。Accept-Encoding: gzip

簡単に言うと、動作するコマンドは次のようになります。

 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

...そしてgzip圧縮されたコンテンツは解凍されてindex.htmlファイルにリダイレクトされます

于 2013-02-05T18:32:17.680 に答える