トランの毎日迷宮

Tech系ブログを目指すもの

【vb.net】webからCSVファイルをダウンロードしたら中身がhtmlだった【TLS1.2】

こんばんにちございます。トランです。

何をわけのわからんタイトルを、を思われるかもしれませんが、、

 

↓のサイトを参考にさせていただきまして、

https://dobon.net/vb/dotnet/internet/webrequestsavefile.html

↓からCSVファイルをvb.netでダウンロードしようとしたんですね。

https://www8.cao.go.jp/chosei/shukujitsu/syukujitsu.csv

 

ダウンロード先のURLを変えて保存場所を指定すればCSVがダウンロードできると思ったらそうではなかった。。。中身がhtmlだったんですよ。

保存したファイルを覗いたらここ↓のソースがズラーッと並んでいたわけです。はい。

http://wwwa.cao.go.jp/notice/index.html

もうね、????ですよ。

CSV 中身 htmlとかいろいろググったんですけどわからなくって。。。。

デバッグ実行してみると、確かに上記からダウンロードしてるし、、、

なんかリダイレクトとかで誘導されてんのか?と思ってHttpWebRequestの

AllowAutoRedirectをfalseにしてもダメ。ダウンロードの方法が原因?と思ってHttpClientを使ってもダメ。

ってか何のサイトのソース?と思ってhtmlのサイトをみたら。。。

そのサイトには

「TLS1.2」に対応できていないブラウザ、並びに、「TLS1.2」を有効に設定していない端末(パソコン、フューチャーフォン、スマートフォンタブレット)等から、内閣府ウェブサイトに接続されたため、閲覧が出来ません。”なる記述がありました。

 

新たなキーワードTLS1.2が現れました。いろいろ調べて、ダウンロード処理の

webRequest作成時に↓の記述を追加してあげた。

ServicePointManager.SecurityProtocol = ServicePointManager.SecurityProtocol Or SecurityProtocolType.Tls12
これで.NET FrameworkでTLS1.2が有効化されるとのこと。

無事、CSVがダウンロードできました。めでたしめでたし

そんなわけで、おしまい