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のバージョンを指定する必要があるとのこと。


そこで 

  1. Webアプリのターゲットフレームワークを.NET Framework4.6.1に変更


  2. WebClientインスタンス作成前に「Net.ServicePointManager.SecurityProtocol = Net.SecurityProtocolType.Tls12」で明示的にTLS1.2を指定する




の2点の改修を実施。

修正したソースは以下の4点
  • DetailForm8.aspx.vb
  • TMDbUpdateBatch.aspx.vb
  • TMDbPersonImageUpdateBatch.aspx.vb
  • PersonMovie.aspx.vb

スクレイピングできるようになりました。








後書き

最近めっきりプログラミングから遠のいてしまい、勘所や自分が作成したコードもすぐに読
めないという状況に焦りました。
普段から取り組んでいないないとすぐに鈍ってしまう・・・
すべてはこのブログのタイトルのとおり「湯の如し」だと思うところです。











コメント

このブログの人気の投稿

ダブルクォーテーションで括られたCSVカ​ンマ区切りテキストファイルを SQL Server で Bulk Insert する方法

PowerShellでTSV/CSVの列を絞り込んで抽出し、(先頭/行末)からN行出力する

IKEAの鏡を壁に取り付ける