fc2ブログ

記事一覧

Protraで株価データの更新がエラーになる現象について



11/16(木)から、Protraで株価データを更新しようとするとエラーが出ます。

proerr231116_0.png

上記のような感じです。
原因と、とりあえずの対策方法を説明します。

注意)
本ページに記載している解決方法の案はProtra公式のものではありません。
あくまでも1ユーザーである私が勝手に考えたものであり、全てのユーザーの環境がこの方法で解決できる保証はありません。
その旨をご理解いただいたうえでお読みください。



Protraは株価データ更新時にプログラム内(trunk\Protra.Lib\Data\BrandData.cs)で

http://protra.sourceforge.jp/data/index.txt.lzh

というファイルを参照しています。
これはProtraをインストールしたフォルダの配下にある「data」フォルダ内の「index.txt」をLZH形式で圧縮したものです。
つまり、このindex.txt は「http://protra.sourceforge.jp/data/index.txt.lzh」から最新版がダウンロードされる仕組みだということです。


(r556版の BrandData.cs から抜粋)

    /// <summary>
    /// 銘柄データを更新する。
    /// </summary>
    public void Update()
    {
      var dl = new DownloadUtil("http://protra.sourceforge.jp/data/index.txt.lzh");
      try
      {
        dl.IfModifiedSince = File.GetLastWriteTime(_dataFile);
      }
      catch
      {
        dl.IfModifiedSince = DateTime.MinValue;
      }
      _watcher.Enabled = false;
      using (var stream = dl.DownloadAndExtract())
      {
        if (stream == null)
          return;
        using (var file = File.Create(_dataFile))
        {
          int n;
          var buf = new byte[4096];
          while ((n = stream.Read(buf, 0, 4096)) > 0)
            file.Write(buf, 0, n);
        }
      }
      _watcher.Enabled = true;
      LoadAndUpdateBrandList();
    }


ところが、この場所へのアクセスが現在できなくなっています。
よって処理がエラー判定されてしまい株価データの更新ができない状態になっています。

以上が原因です。

アクセスがエラーになっている要因は、下記が関係していると思われます。


「OSDN」が中国企業に買収 ~日本のオープンソースプロジェクト ホスティングサービス
(Impress 窓の杜の2023年7月31日の記事)
https://forest.watch.impress.co.jp/docs/news/1520393.html




この頃から、Protraの公式サイトやマニュアルのページに断続的にアクセスできなくなる現象が起きています。
これまでは「断続的に」だったので、時間をおいて再度アクセスすると出来たり、また出来なくなったりしていました。

それが、11/16(木)頃からは「全く」アクセスできない状況になっている模様です。


対策方法ですが、現状2つが考えられます。


Protraをインストールしたフォルダの配下にあるdata配下のindex.txtをコピーして「index.txt.lzh」というファイル名でLZH形式で圧縮する。
ローカルにWebサーバを立てて、そこを疑似的に「protra.sourceforge.jp」にしてindex.txt.lzhを置く。
Windowsのhostsファイル(WindowsディレクトリのSystem32配下で「hosts」で検索すると出てきます)に名前解決できるように書いておく。
例「127.0.0.1 protra.sourceforge.jp」

この方法を使うとProtraを再度ビルドする必要がありません。



Protraをインストールしたフォルダの配下にあるdata配下のindex.txtをコピーして「index.txt.lzh」というファイル名でLZH形式で圧縮する。
レンタルサーバなど自前でサーバを用意して、そのサーバ上にindex.txt.lzhをアップロードする。
BrandData.cs内の「http://protra.sourceforge.jp/data/index.txt.lzh」の記述を
自前サーバのURLに書き換えたものをビルドして、Protraの実行ファイル群を作り直す。

この方法はProtra本体を再度ビルドしなければならないのが手間です。


私は趣味用に使っているレンタルサーバが1台あったので、後者の方法を試したところ正常に株価データ更新できました。


注意点ですが、上記2つの方法どちらも当然のことながら「index.txt」の中身は新しく更新されません。
よってindex.txtの中身は自分で更新してローカルサーバ(または自前サーバ)に置く必要があります。

index.txtの内容は、新たに上場する銘柄がある時や銘柄の名前、市場区分が変わったときなど、銘柄に関するデータに変更があったときに更新が必要です。



















にほんブログ村 投資ブログ 投資でセミリタイア生活へ
にほんブログ村

にほんブログ村 株ブログ 株 自動売買へ
にほんブログ村


スポンサーサイト



コメント

コメントの投稿

非公開コメント

プロフィール

なるぞう

Author:なるぞう
予定より4年早く、40代半ばでリタイアした者です。果たして、働かずに生きていくことができるのか? 鍵を握るのは投資信託と株式自動売買です。

成績

日本株 トレード成績
2015年   -82,112
2016年 +118,531
2017年 +792,678
2018年-1,142,201
2019年+1,105,654
2020年 +176,814
2021年 +652,925
2022年+1,741,688
2023年+1,367,006

日本株 受取配当金
2016年  12,300円
2017年  53,150円
2018年  137,150円
2019年  158,285円
2020年  113,325円
2021年  196,950円
2022年  489,900円
2023年  468,960円

フリーエリア

にほんブログ村 投資ブログ 投資でセミリタイア生活へ

にほんブログ村 株ブログ 投資信託へ

にほんブログ村 株ブログ 株 自動売買へ