The Movie DB(TMDb)のAPI V3への接続がTLS1.2必須になったのでMovieJukeBoxを対応
TMDbからスクレイピングしていたら突如
登録:失敗: EX.Message:要求は中止されました: SSL/TLS のセキュリティで保護されているチャネルを作成できませんでした
となりました。
いよいよというか、私の対応遅れなので突如という表現は誤りですね。
MovieJukeBoxはASP.NET(VB)のWebアプリで、.NET Frameworkのバージョンは4.0を対象にしていました。(2014年に作成したアプリのため)
TLS1.2対応をググって次のサイトを参考に修正しました。
WPFアプリ(.NET frameworkアプリ)でhttps(TLS1.1/TLS1.2)通信をする – nishy software (ja)
https://nishy-software.com/ja/dev-sw/wpf-app-net-https-tls/
上記によるとTLS1.2を利用した通信には.NET Framework4.5以上が必要で、かつ明示的にTLSのバージョンを指定する必要があるとのこと。
そこで
- Webアプリのターゲットフレームワークを.NET Framework4.6.1に変更
- WebClientインスタンス作成前に「Net.ServicePointManager.SecurityProtocol = Net.SecurityProtocolType.Tls12」で明示的にTLS1.2を指定する
の2点の改修を実施。
修正したソースは以下の4点
- DetailForm8.aspx.vb
- TMDbUpdateBatch.aspx.vb
- TMDbPersonImageUpdateBatch.aspx.vb
- PersonMovie.aspx.vb
スクレイピングできるようになりました。
普段から取り組んでいないないとすぐに鈍ってしまう・・・
すべてはこのブログのタイトルのとおり「湯の如し」だと思うところです。
コメント
コメントを投稿