IP_Set_ie.plの"IP Read ERROR"を修正した

このWebサーバーはieServer.NetのDDNSサービスを利用しており、このDDNSのIPアドレスの自動更新には、ai-lineが提供するIP_Set_ie.plというスクリプトを使わせてもらっている。

これまで13年半もの間、このスクリプトでたまにai-line.comに繋がらない以外のトラブルは無かったのだが、一昨日の3月1日から突然、何度やっても"IP Read ERROR!!"というエラーを出すようになった。
少し調べた所、このスクリプトがai-line.comのCGIにアクセスすると"400 Bad Request"が返されていた。ブラウザで同じCGIアクセスすると正常に応答が返って来るし、同じスクリプトで自前のCGIにアクセスすると"400 Bad Request"になったので、サーバー側でなくこのスクリプトの問題のようである。

LWPかwgetでCGIにアクセスするように書き換えようかと思ったが、試しにスクリプト中の

	print SOCKET "GET $ip_view_file HTTP/1.0\n";
	print SOCKET "HOST: $ip_view_host:$port\n";
	print SOCKET "\n";
の部分を
	print SOCKET "GET $ip_view_file HTTP/1.0\r\n";
	print SOCKET "HOST: $ip_view_host:$port\r\n";
	print SOCKET "\r\n";
に変えるとエラーが解消したので、適切な修正かどうかわからないが、ここに記しておく。


長年無料で使わせて頂いて、ieServer.Netにもai-lineにも感謝しきりなのであるが、今日、ieServer.Netは個人運営で、近年その運営が時々危なくなっていることを知った。
まあ残念だが、その運営を続けて頂ける限り、これからもありがたく使わせてもらおうと思う。

ついでに、ieServer.Netを運営する有限会社アゴラ様の所在地が筆者の実家の近く(最寄駅が同じ)であることを今日知って、とても驚いている。今度奈良に帰った時に一言お礼を言いたい気持ちである。