同一サイトの特定のファイルだけがローカルで取得できてサーバで取得できない時の対処法
こちらのサイトのcsvを毎日さくらのVPSから自動で保存しています。
保存には以下の様なスクリプトを使っていて、今までは問題なくまた現在も4/24、4/17以外の最近のデータは取得できます。またローカルからアクセスした場合は全て問題なくダウンロードできます。
def get_csv(date_string)
stream = open("http://www.jsf.co.jp/de/stock/dlcsv.php?target=pcsl&date=#{date_string}", "r:shift_jis")
return if stream.content_type != "text/x-csv"
csv_text = stream.read.encode("utf-8", invalid: :replace, undef: :replace)
end
get_csv("2015-04-17")
もし、相手先のサーバーがVPSからのアクセスをはじくようになったのであれば取得は諦めて別の方法を探そうと思うのですが、他の日付を取得できることからアクセス制限ではないと思うんです。
どうやらサーバー上から取得した時はstream.content_type
がtext/html
になってしまっているのが原因のようです。
何故このような事が起こるかわからないのですが、調査方法また解決策はどのようなものがありますか?