• ベストアンサー

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はある。

質問者が選んだベストアンサー

  • ベストアンサー
  • shige_70
  • ベストアンサー率17% (168/946)
回答No.1

ブラウザのフォームに入力する操作を自動化したいと言うことでしょうか? それを動かしたいのはサーバ側でしょうか、それともクライアント側でしょうか。また動かしたい環境のOSはなんでしょうか。 それによってやり方が変わります。 基本は、サーバならcgiを起動してパラメータをパイプで渡し、クライアントならサーバに接続してhttpを喋ればよいです。

nika982001
質問者

補足

説明が下手で申し訳ありません。 サーバです。 > 基本は、サーバならcgiを起動してパラメータをパイ > プで渡し、クライアントならサーバに接続してhttpを > 喋ればよいです。 データを送るときに、 「HTMLフォーム」 →(POST)→ 「CGI(1)」 ではなく、 「CGI(2)」     →→→→→→ 「CGI(1)」 としたいのです。 このとき、「CGI(1)」の内容は不明で 分かっているのは「HTMLフォーム」しかない状況です。 よろしくお願いします。

その他の回答 (4)

  • yaksa
  • ベストアンサー率42% (84/197)
回答No.5

なにがやりたいのか見えませんが。 とくに#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)
回答No.4

#1,#3です。たびたびすみません。 別のcgiから呼び出したいのですね。失礼しました。 呼び出す側のcgiの言語は何でしょうか? シェルスクリプトであれば#3で書いたのと同じです。 Cであれば改めて説明します。 他の言語は。。。すみません他の方お願いします^-^;;;

  • shige_70
  • ベストアンサー率17% (168/946)
回答No.3

#1です。補足ありがとうございます。 サーバはウインドウ図ではないですよね? POSTで処理するcgiということでしたら、コマンドラインから echo 'a=1&b=test1&c=251' | xxx.cgi というようにしてみてください。

  • chupark
  • ベストアンサー率41% (90/218)
回答No.2

仰っている意味がいまいち理解できないままの回答で恐縮ですが、CGIプログラムへHTMLフォームから値を渡したいということですよね? 値を送信する方法はGETとPOSTの2方式あります。 URLに引数が出てしまうのはGETのほうです。 POST方式を使って値をCGIへ送ればよいかと思います。 たとえば、 <form name="hoge" action="hogehoge.cgi" method="POST"> <input type="text" name="text1"> </form> こういう感じでしょうか。 バッチ処理に…ということはこれを自動に、大量にしたいということでしょうか?? その方法はちょっと私にはわかりませんが…。

nika982001
質問者

補足

<form name="hoge" action="hogehoge.cgi" method="POST"> <input type="text" name="text1"> </form> これをHTMLフォームではなく、 プログラムで実装する方法がわかりません。

関連するQ&A