- 締切済み
cgiの自動起動
cgiの起動はXXX.cgiへのリンクを貼ってクリックして起動するのが普通ですが、 <a href="http://***/XXX.cgi">cgi起動</a> ページを開くと自動的にcgiを起動させることは出来ますか?(クリックなしで...) *.htmlにどのようなtagを記述すればよいのか?よろしくご教示お願いします。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
(´・ω・`)つ「SSI」 > 以下のtest2.htmlで起動しません。どこが悪いのでしょうか? 起動しないとは、ウェブサーバーのアクセスログを確認したり、 CGIのログを確認して、「起動しないことを確認した」のでしょうか? <img src="XXX.cgi">とする場合のCGIスクリプト(アプリケーション)からの出力は、 Content-type: image/xxx です。 (xxxの所には、出力する画像フォーマットに合わせてください。) > ----test2.html--- > <html> > <img src="http://****/XXX.cgi" width=1 height=1> > </html> 画像サイズが1x1ピクセルになってますので、CGIから正常に画像が出力されていても、人の目に見えるようなサイズではありません。 (画像が表示されていてもいなくても、黒い点(またはそれ以外の色や透明など)で表示されます) <a href="XXX.cgi">cgi起動</a>で起動させて、HTMLが出力されるCGIは、 そのまま<img src="XXX.cgi">にしても画像が出力されないので、壊れた画像アイコンが表示されますが、 おそらくCGIは起動し、正常に終了している可能性が高いです。
- miracle3535
- ベストアンサー率20% (306/1469)
>以下のtest2.htmlで起動しません。どこが悪いのでしょうか? >----test2.html--- ><html> ><img src="http://****/XXX.cgi" width=1 height=1> ></html> http://****/ ここに問題がありそうです。 この絶対アドレスを間違えていないでしょうか。 他のcgiはこれで動きますか? 私のサーバーでは <img src="cgi-bin/counter/****> の相対アドレスで無ければ何故か動きません。 counter/はcgiをアップロードしているホルダー名です。以前は絶対アドレスで良かったのですが。 もしかしたら、貴方のアドレスも http://***** でwwwがないサーバーではありませんか。 私のサーバーも以前はwwwがあったのですが、今はなくなりました。多分この関係で私の場合は絶対アドレスが使えなくなったみたいです。相対アドレスに全て変更しました。(なぜかは原因不明) 私の場合は全てのページにこのタグを埋め込み、何時誰がどのページを見たかを記録しています。
CGIのモノによります。 HTML形式の中にCGIを使うのを埋め込み式と言いますが。 カウンターは<img src="***.cgi">の埋め込み式や掲示板等では、JavaScriptを併用したものもあります。 それぞれCGIのスクリプトが少し他のカウンターや掲示板とは、違っています。 だから、タグを入れればそのまま、埋め込めるという訳ではありません。 簡単なのは、そういった掲示板やカウンターに変えるか、インラインフレームと言ってHP内に別のHPを入れるタグがあります。
- osamuy
- ベストアンサー率42% (1231/2878)
・そのページ自体をCGIとする。 ・インラインフレームを使う。 ・イメージソースとして呼び出す。 ・AJAXを応用する。 ――などアイデア次第でいろいろ手があります。 あんまりCGIだとか関係なく、ブラウザの挙動として、どういうリクエストがサーバに送信されるかを考えれば、アイデアがわくと思います。
- miracle3535
- ベストアンサー率20% (306/1469)
<img src="cgi-bin/counter/inquire.pl?page=HP" width=1 height=1> と私は書いています。 inquire.pl?page=HP は私のパールを起動してHPという文字を送っています。 これを応用して、パールでHPを表示させることも何でも出来ることがわかりますよね。
補足
Ano1さんありがとうございます。 以下のtest1.htmlで起動確認済みのcgiが、 ----test1.html--- <html> <a href="http://****/XXX.cgi">test</a> </html> ---------------- 以下のtest2.htmlで起動しません。どこが悪いのでしょうか? ----test2.html--- <html> <img src="http://****/XXX.cgi" width=1 height=1> </html> ---------------- 当面はANo.2さんの XXX.cgiを直接起動する方法を採用しています。
お礼
詳しい説明をありがとうございます。 初心者には十便理解できない所もありますが勉強になりました。 当面、test2.htmlで表示できないcgiをframeを使って以下のように表示できることがわかりました、 ------test3.html----- <html> <frameset cols="100%,*" border=0 frameborder=0><frame src="http://***/XXX.cgi"></frameset> </html> ---------------------------