通常、
・GETの場合
<a href=http://www.xxx.co.jp?a=1>submit</a>

・POSTの場合
<form method=post action="xxx.cgi">
<input type=hidden name=a value=1>
<input type=submit value=submit>
</form>

のなどのHTMLでクリックまたはSUBMITボタンを押すとその特定のURLのWWWサーバーに変数が送られますよね。

これをブラウザを使用せず、サーバーのプログラム(perl)を使用して、そのプログラムを実行すると
プログラムで指定した特定のURLのwwwサーバー(port 80)に変数を送る方法書き方を教えて下さい。
GETの場合、POSTの場合それぞれ教えてください。

通常、ブラウザがしていることを、プログラムでしたいと思っています。

よろしくお願いします

A 回答 (2件)

Perl Module Libraryの"LWP::"と"HTTP::"を使えばできますよ。



使うに当たっては,HTTPプロトコルに関して,ちょっと知識を付けた方が良いかも。Naviscope [ http://www.naviscope.com/ ] というHTTP Proxyソフトを使うとブラウザがアクセスする際のHTTPリクエストヘッダ,HTTPレスポンスヘッダ,それぞれの内容を覗くことができ,理解に役立つかと思います。

参考URL:http://www.naviscope.com/
    • good
    • 0
この回答へのお礼

返事遅くなりました。有難う御座います。
早速お勧め頂いたソフトを試してみました。
おもしろいですね。(ただ、バグなのかわからないのですが、win2000だと、1つのURLについて同じへッだが4個もでてきてしまいました)
もう少し知識を身に付けようと思いました。
また、よろしくお願いします。

お礼日時:2002/05/12 00:57

んー,随分と間があいてしまった…



4つのヘッダが表示されるのは正常です。

ブラウザ から Naviscope へ送られたリクエストヘッダ
Naviscope から WWWサーバ へ送られたリクエストヘッダ

WWWサーバ から Naviscope への返事であるレスポンスヘッダ
Naviscope から ブラウザ への返事であるレスポンスヘッダ

と ブラウザ<->Naviscope間,Naviscope<->WWWサーバ間 でそれぞれ,行きと帰り,計4つのヘッダが現れることになります。

今回,重要となるのは行き方向のリクエストヘッダ。

もう解決しているでしょうが(^^;;;,PerlのCGIでは観察したリクエストヘッダと同様のものをHTTP::Headers と HTTP::Request に渡してやる話になります。
    • good
    • 0
この回答へのお礼

なるほど!ありがとう御座いました。
また、機会ありましたら教えてください。

お礼日時:2002/05/18 02:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Q ではなく普通のリンクで cgi を起動する方法

検索結果が多い時に、結果を1つのページに最大で10個表示させて
複数のページにわけたいと思います。 Submit ボタンではなく

1 2 3 4 5

のようなリンクから cgi を起動したいのですが、
アドバイス頂けますでしょうか?

search?value=10

のようにして $_GET から受け取る方法もありますが、
出来れば POST を使いたいと思います。

Aベストアンサー

<a href="javascript:jumpmenu()">1</a>
<a href="javascript:jumpmenu()">2</a>
<a href="javascript:jumpmenu()">3</a>
<a href="javascript:jumpmenu()">4</a>
<a href="javascript:jumpmenu()">5</a>
として、jumpmenu()で、処理の最後に"submit();"を実行すれば
POSTできます。

Q
の場所は?

CGIでデータを受け渡しするアンケートを作っています。html中に書く<form method=post action="***.cgi">~</form>“~”の場所についてですが質問項目を全て挟まなくてはいけませんか?実は、チェックボックスの「最大2つまで回答可」という部分をJavascriptでチェック個数を超えてチェックした時点でアラートが出るようにしてます。その記述中にすでに<form>~</form>タグを制限をかけたい質問に置いているので、質問全体を<form method=post action="***.cgi">~</form>でくくると入れ子になってしまいます。大丈夫ですか?

Aベストアンサー

<form method=post action="***.cgi" name="form1">~</form>
にする。つまり「最大2つまで回答可」という部分だけをonclickでJavascriptを呼び出したらいいと思います。

Q[返信]

夜分にすみません。
[~]の鍵括弧はどういう言語なのでしょうか?
htmlの辞書に載っていませんでした・・。

Aベストアンサー

ブラウザで見ると
[返信]
って感じになり「返信」のトコだけ下線付きのリンクになります。
「[」と「]」は単なる文字ですよ(笑)

Q に対応している携帯電話の機種は?

こんにちは。
フォームタグでファイルをアップするための
<INPUT type="file">ですが、これに対応しているiモードの機種、J-skyの機種をご存知の方ぜひ教えてください。
また、どこかに掲載されているという情報でも結構です。
宜しくお願いします。

Aベストアンサー

J-T51で出来ましたよ。

<INPUT type="file">を使ったHTMLページを自分で作ってJ-T51でアクセスすると、ちゃんと入力欄と参照ボタンが表示されました。
参照ボタンを押すと、「データフォルダ」と「クリップボード」の選択になり、「データフォルダ」から更に「ピクチャー」「etc」の選択が出ます。
ピクチャーで画像ファイルを選択すると、選択したファイル名が入力欄に入力されました。

また、J-SH08で同じテストをしたら、入力欄だけで参照ボタンが表示されませんでした。

テストにはただのHTMLしか使用していないので、ここから先のファイルをアップしたりする部分はテストしてません。
ファイル選択後の動作も実装していて、J-PHONEでアクセス可能なサイトのURLを教えていただければ、テストしてみますよ。

最近は携帯上で画像ファイル(GIF)やJAVAファイル(JAR? CLASS?)などを扱っているので、携帯でファイルという考え方が無いはずはありません。
今後発売される最新機種であれば<INPUT type="file">をサポートするようになるんじゃないでしょうか?(私見)

J-T51で出来ましたよ。

<INPUT type="file">を使ったHTMLページを自分で作ってJ-T51でアクセスすると、ちゃんと入力欄と参照ボタンが表示されました。
参照ボタンを押すと、「データフォルダ」と「クリップボード」の選択になり、「データフォルダ」から更に「ピクチャー」「etc」の選択が出ます。
ピクチャーで画像ファイルを選択すると、選択したファイル名が入力欄に入力されました。

また、J-SH08で同じテストをしたら、入力欄だけで参照ボタンが表示されませんでした。

テストにはただのHTMLしか...続きを読む


このカテゴリの人気Q&Aランキング

おすすめ情報