投稿者 piyo  (社会人) 投稿日時 2011/3/30 21:52:59
サイト丸ごとダウンロードしたいときや、掲示板で投稿されている画像を一括で
ダウンロードしたいときのために、ダウンロードツールを制作しました。
多くの場合、問題なくダウンロードできるのですが、時々REFERERやクッキー情報
が適切でないと403になってしまうときがあります。
が、その都度InetSpyという下記ツールを使用してリクエスト情報を調べて、
WebRequest、WebResponseに設定してあげることでダウンロードできていました。
http://hide.maruo.co.jp/software/inetspy.html

先日、一括でダウンロードしたいサイトがあったので、制作したツールで
ダウンロードしようとしたのですがどうもうまくいきませんでした。
IEではダウンロードできているファイルがWebRequest、WebResponseだと
ダウンロードできません。
リクエスト情報はInetSpyを使用して同じに設定したつもりなのですが、下記のように違った応答が返ってきます。

●IEなどのブラウザでダウンロードした場合
HTTP/1.1 200 OK
Date: Wed, 30 Mar 2011 11:59:30 GMT
Server: Apache/2
X-Powered-By: PHP/5.2.12
Cache-Control: no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0
Pragma: no-cache
Expires: Thu, 01 Dec 1994 16:00:00 GMT
Last-Modified: Wed, 30 Mar 2011 11:59:30 GMT
Vary: Accept-Encoding,User-Agent
Content-Encoding: gzip
Keep-Alive: timeout=2, max=100
Proxy-Connection: Keep-Alive
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: image/jpeg

●WebRequest、WebResponseを使用した場合
HTTP/1.1 200 OK
Date: Wed, 30 Mar 2011 12:15:18 GMT
Server: Apache/2
X-Powered-By: PHP/5.2.14
Vary: Accept-Encoding,User-Agent
Content-Encoding: gzip
Content-Length: 20
Content-Type: text/html

ダウンロード部のコードは、下記URLとほぼ同じものです。
これに必要に応じてREFERER等の設定を追加して使っています。
http://dobon.net/vb/dotnet/internet/webrequest.html


VBの質問とは少し離れているとは思うのですが、詳しい方がいらっしゃいましたら
ヒント頂けると助かります。
ご不明点ありましたら返答ください。
よろしくお願いします。

(具体的なサイトのURL掲載は控えさせてください。)