2001/06/18 への自己レスです。一部訂正
> 通常使用するDOS窓のプロパティや autoexec.bat で割と大きめに
> 設定してあるので、たぶんエラーの原因は別にあるのでしょうが、
上記は誤りでした。以下が正解
通常使用するDOS窓のプロパティや config.sys(のshellコマンド) で割と大きめに
設定してあるので、たぶんエラーの原因は別にあるのでしょうが、
以上。
いしどうさん
わざわざ調べていただき恐縮です。ありがとうございました。
> 「ダイヤルアップ・ネットワーク・スクリプト」は、ネットワーク接続のときに
> リモートサーバへ送る操作を自動化するためのスクリプトで、ローカルの
> ファイルをどうこう、ということはできなかったとおもいます。
つまり、ログイン認証時の受け答えを自動化するだけなのですね。
現在私は、自分のスキルで解決可能な方法として
バッチで「ダイヤルアップ・ネットワーク」を起動できないものかと
試行錯誤中なのですが、どうやら無理そうです。
私が試したのは「ダイヤルアップ・ネットワーク」の中に在る
接続用のアイコン(bekkoameというエントリ名にしてある)
のショートカット(bekkoame.lnk)を作り、それを
バッチと同じフォルダ(C:\bat)に入れて
DOS窓で「start bekkoame.lnk」を実行するというものです。
試したところ、
「アクセスは拒否されました」というエラーメッセージが出ました。
その後、接続用のダイアログがちゃんと出ることもありますが、
出ないこともあります。
このメッセージは、DOS窓用のバッファや環境変数領域を使い果たした時に
よく出るものだと思いますが、これらについては
通常使用するDOS窓のプロパティや autoexec.bat で割と大きめに
設定してあるので、たぶんエラーの原因は別にあるのでしょうが、
それが何かは分からないままです。
これが可能なら、バッチの中にHostsファイルの切り替えと
ダイヤルアップの処理をまとめて記述できるのに…。
ちなみに、私が考えたバッチは次のようなものでした。
----------------------------------------
@echo off
rem dialup.bat
echo Act.1 Hostsファイルの内容を「127.0.0.1 localhost」に変更しました
copy c:\win95\hosts.sam c:\win95\hosts /y >nul
echo Act.2 ダイヤルアップネットワークの起動
echo ダイアログが出たら[接続]ボタンを押してください
start bekkoame.lnk
echo 接続中。
rem 切断の処理は手動で行う...残念(^^;
echo ダイヤルアップを切断後、Hostsファイルをローカル環境用に戻す処理を
pause
rem (続けるにはどれかキーを押してください...)(^^;
rem Act.3 切断したら直ちに「127.0.0.1 localhost cgi2.bekkoame.ne.jp」に戻す
copy c:\win95\hosts-local c:\win95\hosts /y >nul
echo Act.3 Hostsを「127.0.0.1 localhost cgi2.bekkoame.ne.jp」に変更しました
echo.
echo ### end of dialup.bat
echo.
----------------------------------------
システム・フォルダへのアクセスはレジストリ・キーを使うらしいですが、
私のスキルに見合った方法ではないので、それは試してません。
色々と試行錯誤をしてみましたが、今では、
バーチャルホストを使って「HTMLソース」を変えずに
Web上とローカル上のCGIをテストする方法は、諦めようと思っています。
このテクニックは「格好いい」ですが、ローカル上とWeb上のページを
同時に開くことができない欠点もあるし…。ちゃんと更新されたかどうかを
確認したいときなど、双方のページを並べて表示して
見比べたい時もありますしね。
それでは、今回はこの辺で失礼します。ありがとうございました。
foosanさん
(あ、「さん」がだぶってしまいましたが)
「ダイヤルアップ・ネットワーク・スクリプト」は、ネットワーク接続のときに
リモートサーバへ送る操作を自動化するためのスクリプトで、ローカルの
ファイルをどうこう、ということはできなかったとおもいます。
で、hostsファイルを自動的に書き直してくれるようなソフトがあるか、と
いうと…いま、ざっと窓の杜とVectorを探したんですが、見つかりませんねぇ。
やっぱり手動でするのが一番確実なのではないか、とおもいますが。
はじめまして。
ホームページ(まだ準備号ですが)をローカル環境でテストするために
AN HTTPDを利用させてもらってます。
私はベッコアメに加入していますが、
HTMLとCGIが別のホストになっていて、
ちなみに次のアドレスが与えられています。
http://www.bekkoame.ne.jp/ha/foosan/
http://cgi2.bekkoame.ne.jp/cgi-bin/user/u129911/
この件については、「AN HTTPDゲストブック/コメント集」で
Hostsファイルでlocalhostの別名を
「cgi2.bekkoame.ne.jp」にすれば良いことを確認済ですが、
よくよく考えると、
「ダイヤルアップする度にバッチで切り替える」より、
「ftpでアップロードする時だけソースを置換する」のほうが
使用頻度からすれば合理的ですよね。
インターネットは毎日接続しますが、Webページを毎日更新する人は
ほとんどいないでしょうから…。
となると、「バーチャルホスト」に執着するなら、やはり行き着く先は
「ダイヤルアップする度にバッチで切り替える」という処理を
自動化したくなるのが人情です。
このケースでは自動化処理にCGIを使うことは無理ですよね。
で、色々考えてみたところ、
「ダイヤルアップ・ネットワーク」の起動を
スクリプトで制御すれば何とかなるのでは… と思いました。
Windowsには「ダイヤルアップ・ネットワーク・スクリプト」というものが
あるようですが、残念ながら、私はその使い方がよく分かりません。
ダイヤルアップ接続する直前に「127.0.0.1 localhost」と変更し、
切断したら直ちに「127.0.0.1 localhost cgi2.bekkoame.ne.jp」
へ戻せばよいわけですが、スクリプトを使ったそういうテクニックを使った記事が
どこかに掲載されていたら是非とも教えてください。
ちなみに私のシステム構成は
Windows95(4.00.950a)
MS-IE v.5.00 →ダイヤルアップは「自動的には接続しない」ように設定
ActivePerl(Build522)
AN HTTPD(1.33g)
となっています。