カレッヂ |
質問者 ヒロ
投稿日 5/16(金) 17:54:56
以下の様な事をしたいのですが… Aサーバー ACGI Bサーバー BCGI AサーバーのACGIからBサーバーのBCGIに引数を渡して、 BCGIの実行結果をACGIに戻す方法を知りたいのです。 (具体的には、Aサーバーで入力されたIDをBサーバーで 管理しているデータベースでユーザー情報で照合し 結果をAサーバーに返すもの) ですが、具体的にどのようにすれば良いのか判りません。 過去ログを調べて socketを使うのかな?と思うのですが、 socketについての詳しく書かれたサイトなども見つけられずに 困っております。 ご教授宜しくお願いします。
プロバイダ参照: |
回答者 まさ
[削除]
投稿日 5/17(土) 11:02:26
LWPモジュールを使うとできます。 検索エンジンで使い方を見て下さい。 あるいはおっしゃっているようにsocketを使うこともできます。 呼び出し側 ------------------------------------------------------------------- use strict; use HTTP::Request::Common qw(POST); use LWP::UserAgent; my $lwp = LWP::UserAgent->new; my $req = POST 'http://www.foo.ne.jp/bar.pl', [ name => 'test' ]; print $req->as_string, '-' x 40, "\n", $lwp->request($req)->content(); ------------------------------------------------------------------- 呼び出される側(bar.pl) ------------------------------------------------------------------- #!/usr/local/bin/perl -w use strict; use CGI; my $q = new CGI; my $data = $q->param('name') . ':' . $q->request_method(); print<<__HTML__; Content-Type: text/html <HTML><BODY> $data </BODY></HTML> __HTML__ ------------------------------------------------------------------- これを実行してみて下さい。 |
質問者 ヒロ
[削除]
投稿日 5/20(火) 13:41:51
まささんご返信有難う御座います。 早速実行してみましたところ、 呼び出し側の・・・ use HTTP::Request::Common qw(POST); の部分でエラーが出てしまっております。 LWPモジュールってインストールする必要があるのですよね? 実はサーバーを遠隔操作しておりまして、root権限が無い為 組込みが出来ないのです…。LWP便利そうなんですけど…。 お手数お掛けして、申し訳ないのですが、 socketを用いた場合の方法をご教授願えませんでしょうか? 何卒宜しくお願いします。 m(_ _)m |
回答者 やまだ
[削除]
投稿日 5/21(水) 01:43:34
HTTP::Request::CommonはLWPモジュールとは別ものですね。 それから、上のモジュールはroot権限がなくとも組込むことは可能(perl Makefile.PL PREFIX=/home/yamadaとかして、Makefileを作った後、 Makefileのmanpathあたりを変更。)だし、use libあたりで、モジュールの検索パス をいじれば、使用可能かと思いますが。 socketに関しては、C言語と、ほぼ同じく使えたかと思います。参考資料としては、オライリーのラクダ本あたりでしょうか。 |
返信(回答)する
Web裏技 |