そのため、特定のWebページを取得するためにbashスクリプトでこのコマンドを試しました。
wget --no-cookies --header="Accept: text/html" --user-agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:21.0) Gecko/20100101 Firefox/21.0" -O $2/content.html $1
結果は、wgetが既存の接続を再利用するため、ウェブサイトからロボットページを取得することです。このコマンドはスパムテストを実行する前に機能しており、私のサーバーはサイトからボットテストリダイレクトを受けています(このコマンドは利用できません)。
--2017-12-12 19:16:42-- https://www.kayak.co.uk/h/bots/human-redirect.vtl?url=%2Fflights%2FDUB-LAX%2F2018-06-04%2F2018-06-25%2F2adults%3Fsort%3Dbestflight_a
Reusing existing connection to [www.kayak.co.uk]:443.
HTTP request sent, awaiting response... 200 OK
私の質問は:wgetが既存の接続を使用してダウンロードするたびにサイトに再接続するのを防ぐ方法はありますか?
ベストアンサー1
私はこれが古い質問であることを知っていますが、おそらく私のようにこの問題を経験している他の人に役立ちます。
「接続の維持」機能を無効にするには、この--no-http-keep-alive
パラメーターを使用します。
マニュアルページから:
HTTPダウンロードの「接続を維持」機能をオフにします。通常、Wgetは同じサーバーから複数の文書をダウンロードするときに同じTCP接続を介して送信するようにサーバーに接続を開いたままにするように要求します。これにより時間が節約され、サーバーの負荷が軽減されます。
このパラメータは通常、新しいクリーンな要求が必要な状況で必要です。厳密には関連していませんが、パラメータは--no-cache
パラメータを使用する--no-cookies
文脈で関連する可能性があります。--no-http-keep-alive
したがって、OPのコマンドは次のようになります。
wget --no-http-keep-alive --no-cache --no-cookies --header="Accept: text/html" --user-agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:21.0) Gecko/20100101 Firefox/21.0" -O $2/content.html $1