- ベストアンサー
Webページの操作の流れをBATCHプログラムにしたいんですが・・・
Webページの操作をBATCHプログラムにしたいです。 以下の条件のときに、CGIに対しての値を渡すことは可能でしょうか? 条件 ・CGIはブラックボックス ・URLにも表示されない (例 http://oshiete1.goo.ne.jp/oshiete_new.php3?a=1&b=test1&c=251のaとかbとかも表示されない) ・ただし、元になるWebページのHTMLはある。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
ブラウザのフォームに入力する操作を自動化したいと言うことでしょうか? それを動かしたいのはサーバ側でしょうか、それともクライアント側でしょうか。また動かしたい環境のOSはなんでしょうか。 それによってやり方が変わります。 基本は、サーバならcgiを起動してパラメータをパイプで渡し、クライアントならサーバに接続してhttpを喋ればよいです。
その他の回答 (4)
- yaksa
- ベストアンサー率42% (84/197)
なにがやりたいのか見えませんが。 とくに#1の補足がよくわかりません。 cgi(2)ってのはcgi(1)とは違うページ? あるcgiページの出力を加工して出力する自作cgiを作りたいって事ですか? もしそうなら、cgi(2)でhttpを喋ってどうにかする当話ですが。 #レンタルサーバーとかだと、こういうsocketを開くcgiを禁止しているところもありますね。 それとも、たんにwebブラウザでフォームに自動で入力して自動運転したいってことですか? それであれば、自動操作するソフトを使うほうが簡単でしょう。UWSCとか。 http://www.h7.dion.ne.jp/~umiumi/ もちろん、直接httpを喋るプログラムを作ってもいいですが。
- shige_70
- ベストアンサー率17% (168/946)
#1,#3です。たびたびすみません。 別のcgiから呼び出したいのですね。失礼しました。 呼び出す側のcgiの言語は何でしょうか? シェルスクリプトであれば#3で書いたのと同じです。 Cであれば改めて説明します。 他の言語は。。。すみません他の方お願いします^-^;;;
- shige_70
- ベストアンサー率17% (168/946)
#1です。補足ありがとうございます。 サーバはウインドウ図ではないですよね? POSTで処理するcgiということでしたら、コマンドラインから echo 'a=1&b=test1&c=251' | xxx.cgi というようにしてみてください。
- chupark
- ベストアンサー率41% (90/218)
仰っている意味がいまいち理解できないままの回答で恐縮ですが、CGIプログラムへHTMLフォームから値を渡したいということですよね? 値を送信する方法はGETとPOSTの2方式あります。 URLに引数が出てしまうのはGETのほうです。 POST方式を使って値をCGIへ送ればよいかと思います。 たとえば、 <form name="hoge" action="hogehoge.cgi" method="POST"> <input type="text" name="text1"> </form> こういう感じでしょうか。 バッチ処理に…ということはこれを自動に、大量にしたいということでしょうか?? その方法はちょっと私にはわかりませんが…。
補足
<form name="hoge" action="hogehoge.cgi" method="POST"> <input type="text" name="text1"> </form> これをHTMLフォームではなく、 プログラムで実装する方法がわかりません。
補足
説明が下手で申し訳ありません。 サーバです。 > 基本は、サーバならcgiを起動してパラメータをパイ > プで渡し、クライアントならサーバに接続してhttpを > 喋ればよいです。 データを送るときに、 「HTMLフォーム」 →(POST)→ 「CGI(1)」 ではなく、 「CGI(2)」 →→→→→→ 「CGI(1)」 としたいのです。 このとき、「CGI(1)」の内容は不明で 分かっているのは「HTMLフォーム」しかない状況です。 よろしくお願いします。