Cucco’s Compute Hack

コンピュータ関係の記事を書いていきます。

Matlab 2016bのwebreadがおかしい

Matlab 2016bのwebreadの動きがおかしかったのでメモ。

問題

Matlab 2016aでは正しく動いていたのに、Matlab 2016bにあげたらbad requestが返ってくるようになった。

原因?

URLの中にある時刻の表現の中で%3Aのエンコードがおかしなことになってることが判明。
URLの中に%3Aを含めると%253Aになったり、:(コロン)で表現するとコロンのままで、%3Aにならなかったり。

暫定対策

C:\Program Files\MATLAB\R2016b\toolbox\matlab\external\interfaces\...
webservices\http\+matlab\+net\QueryParameter.m(429,9)
noEncodeCharsの'/?'を'/?%'に変更して、%を%のままエンコードしないように指定すると、とりあえず動いた。

メモ

アクセス権がないので、Administrator権限で、編集権限を与えてから編集しましょう。