CGI: Common Gateway Interface part 11
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
03/06/14 22:26ID:F9qlqHNx※CGIは特定の言語に依存するものではありません。
Perlのコーディングに関する質問は、専用スレでお願いします:
[Perl 初心者コーナー Part24]
http://pc2.2ch.net/test/read.cgi/php/1054992610/
CGIとPerlの区別がわからない、という人はとりあえずこちらへ:
[WebProg 初心者の質問 Part3]
http://pc2.2ch.net/test/read.cgi/php/1045091733/
過去ログ・関連スレッドは >>2-5 あたりに
0112nobodyさん
03/07/08 06:02ID:???0113nobodyさん
03/07/08 10:59ID:???0114nobodyさん
03/07/08 11:23ID:???よかったのにな。今のじゃ、読む気がしない。
0115nobodyさん
03/07/08 11:49ID:???ないんじゃない?
0116nobodyさん
03/07/08 11:53ID:???0117nobodyさん
03/07/08 11:55ID:???0118nobodyさん
03/07/08 12:38ID:???CGI/1.1の話に花でも咲かせようか?
0119nobodyさん
03/07/08 14:36ID:???0122nobodyさん
03/07/08 15:19ID:???0123nobodyさん
03/07/08 18:11ID:???「コーディング」の一言が効いたのだろうか。
0124nobodyさん
03/07/09 11:34ID:LTIOpV+bErrorDocument 404 /go2top.cgi
と書いて、
go2top.cgiには
#!/usr/local/bin/perl
$|=1;
print "Location:http://www.foo.co.jp/\n\n";
exit;
と書いたのですが、
存在しないURLにアクセスしても、
cgiを読みに行かず、
普通の「ページが見つかりません」となって、
Apacheのログを見ると、
ただの404 not found になってしまいます。
なぜなんでしょう?
------------------------------------------------------------
あと、これと関係しているのかどうかわかりませんが、
404の場合の制御に関して、何かが何kb以下だとどうのこうのっていうのが、
あったかと記憶にあるのですが、
なんだったでしょうか?
0125nobodyさん
03/07/09 11:39ID:???激しくスレ違いな気がするが
・go2top.cgi は document root にあるの?
・ファイル名サフィックスが .cgi の時、CGI Script として動くようにしてるの?
0127nobodyさん
03/07/09 11:50ID:???0128124
03/07/09 12:33ID:???>激しくスレ違いな気がするが
あ、htaccessのえらい人
http://pc2.2ch.net/test/read.cgi/php/1019888234/
っていうスレがありましたね・・・ここからはそっちに移ります。
で、返答をば・・・
>・go2top.cgi は document root にあるの?
>・ファイル名サフィックスが .cgi の時、CGI Script として動くようにしてるの?
なってます。
>>126
なるほど、さんくすです。
0129124
03/07/09 12:41ID:???ErrorDocument 404 /
ってすればいいだけだと気づいた・・・。
1枚ページをかまさずに、
エラードキュメント=トップページにしちまえばいいと。
すんません。
0130nobodyさん
03/07/09 12:45ID:???0131nobodyさん
03/07/14 03:07ID:E2SfNkcW同じ携帯からの2回以上のアクセスはカウントしないようにする場合
どうやって同じ携帯電話であることを特定すればいいでしょうか?
0132nobodyさん
03/07/14 03:16ID:???携帯電話使った事無いから詳しくはわからんけど・・・
0133nobodyさん
03/07/14 03:16ID:???それを示さない限りはっきりとした解答は得られない
0134nobodyさん
03/07/14 03:54ID:???0135nobodyさん
03/07/14 04:06ID:???0136nobodyさん
03/07/14 04:37ID:???0137あぼーん
NGNG0138nobodyさん
03/07/14 06:20ID:???プログラミングスレに運用の質問が来る。
アホらしい世の中であるなぁ。
0139あぼーん
NGNG0140nobodyさん
03/07/14 15:09ID:???SSIの動作が異なっているために実行されません。。
SSI実行時のカレントディレクトリが異なっているようです。
サーバ側の設定などで修正は可能ですか?
ファイルの修正は多すぎて大変なので・・・。
解決策をご存知の方教えてください。
0141nobodyさん
03/07/14 16:28ID:???大体、その質問内容だと何をしたいのかさっぱり解らん
他の人解る?
0142nobodyさん
03/07/14 16:39ID:???具体的にどういうSSIがどうなるのか
0143nobodyさん
03/07/14 18:40ID:???>サーバ側の設定などで修正は可能ですか?
技術的に可能かも知れんが、そんなこたあ鯖管に聞け。ここで聞くな。
>ファイルの修正は多すぎて大変なので・・・。
そういうのをすぐに修正できるようにスクリプト組まなかったお前の自業自得。
0144nobodyさん
03/07/15 03:40ID:Hnq/UICw[賛成]
・自由にいじれる(CGIならGPLでなくとも大抵普通だけど)。
・条件さえ満たせば、いちいち許諾を得ずに自由に再配布できる。
[反対]
・商用化の時に足かせになりそうだ(?)。
・“GPL汚染”が嫌だ。
0145nobodyさん
03/07/15 06:30ID:???自意識過剰です。
0146nobodyさん
03/07/15 06:54ID:???自作perl scriptという意味ならその限りではないが。
0148山崎 渉
03/07/15 11:05ID:???__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
0149nobodyさん
03/07/15 12:25ID:BbnXwsym0150nobodyさん
03/07/17 00:06ID:???あたらしくフォルダーやら空白のDatファイル等を
作成する方法を教えてください。
言語はPerlです。
0151nobodyさん
03/07/17 00:29ID:???0152nobodyさん
03/07/17 00:35ID:???マルチポスト?
http://pc2.2ch.net/test/read.cgi/php/1056730690/680
0153nobodyさん
03/07/17 12:52ID:???print "Content-type: text/html\n\n";
print "foo";
とだけ書いたCGIを、SSIの#include virtualで呼び出す。
ちゃんとfooという文字列が埋め込まれてめでたしめでたし…
と思ったら、なぜか特定のリンク元から飛んでくるとエラーになってしまう。
[an error occurred while processing this directive]
たったこれだけのスクリプトなのにリンク元によって動作が違うなんて
一体何が原因なのだろうか。
0154nobodyさん
03/07/17 13:03ID:jvbzuuVHprint "Location: http://www.foo.com/file/thanks.html\n\n";
でなく
print "Location: ../file/thanks.html\n\n";
のように相対パスで書くと、
確か、なんらかの条件(環境)のときに、
正常に動作しない・・・という記憶があるのですが、
どういう条件(環境)でしたっけ。
0155nobodyさん
03/07/17 14:09ID:???RFC2616 HTTP/1.1
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30
絶対URIに「すべき」と書かれているのに、
相対URIを薦めているバカサイトはどこだ?晒してみ。
0157nobodyさん
03/07/17 14:45ID:???「相対URI」について補足。ID、PASS 共「cgi-ml」 。
http://ns3.yt.com/ml/cgi/htdocs/44500/44507.html
http://ns3.yt.com/ml/cgi/htdocs/44500/44509.html
Location: /abs_path/file は CGI 的には正しいけど、それを
サーバが Location: http://example.com/abs_path/file に
リダイレクトしてくれないと RFC2616 (HTTP) 的に不可になる、
という話らしい。
まぁ絶対URIで書いとくのが一番良いのは変わらんですが。
>>154 みたく相対URI且つ相対パスな指定はどっち的にも不可。
0160158
03/07/17 16:17ID:???_| ̄|○ 吊に逝てきまつ
0161154
03/07/18 00:09ID:???他人がつくったcgiを改修せなあかんのですが、
そのcgiの中に、print "Location: ../file/thanks.html\n\n";
があったもんで・・・。
なもんで、改修中なのでさらせませんあしからず。
>>157
ありがとうございます。
理解しますた。
0162nobodyさん
03/07/19 11:31ID:7HceImjZ使ってる言語がperlである可能性って、
何%くらいだと思います?
-------------------------------------------------------------
(以下、事情というか、蛇足ですが)
というのも、うちの会社がレンタルサーバ屋さんをやってて、
うちのサーバではperlしか使えない(php、asp、jsp使えない)んですわ。、
(ちなみにおれは、その会社のウェブ制作事業部で、perlのプログラム組んでる)
で、サーバ営業の人が
「他のサーバからうちのサーバへ移行しましょうよ〜」と言うとき、
お客さんのサイトで使ってる言語が、わからないときがあるので。
拡張子がphpなら、移行無理ってわかるんですけど、
拡張子がcgiの場合、どうなんだろうと思いまして。
0164nobodyさん
03/07/19 18:30ID:???0165nobodyさん
03/07/19 18:42ID:???レンタルサーバーなら、実際のところ9割方perlなんじゃねーの?
ただ、>>164の言うとおり、dbやら、cronとかメールまわりとか、他にも障壁は山積みだが、
営業のとっかかりとしては拡張子cgiで判断してもいいんじゃねーの。
0166nobodyさん
03/07/19 19:00ID:???と、言うか、
>うちのサーバではperlしか使えない(php、asp、jsp使えない)んですわ。、
明らかに自社システムに魅力が無いのを何とかした方が良いんではないだろうか。
0167nobodyさん
03/07/19 21:00ID:???0168162
03/07/19 22:12ID:xa8aez3Tはげしくどうい
>>164
うち、DB使えません(泣)
>>165
crinなんて、たぶん営業の人は聞いたこともないだろー。
>>166
そうなんですよねー。
でも、もっと何かをつけたとして、はたしてカスタマーサポートできるのかどうか・・・
>>167
マジです。でも、rubyは使えるよw
0170あぼーん
NGNG0171nobodyさん
03/07/25 23:16ID:gaEpK534ヘッダは同じだし、吐き出されたHTMLをhtmlファイルとしてupするとちゃんとjavascriptをかみます。
特にエラーはでてきません。無視されますが。
IEでは「書き込みできません」というエラーがでます。
お心当たりある方はレスおねがいします。
0172あぼーん
NGNG0173nobodyさん
03/07/26 02:05ID:MRZ/abmL困っています。同じフォーマットのHTMLファイルを作成して見る分には、
MacとWindowsの環境では違いはないので、タグの問題ではないと思います。
現象としては確認していないのですが、スペースで区切った部分がズレたり、
文字化けを起こしているようです。
原因に心当たりのある方はいらっしゃるでしょうか?
もしわかる方がいましたら、教えてください。よろしくお願いします。
0174nobodyさん
03/07/26 02:29ID:???「テキストファイルをHTML出力する際」ってどゆこと?
htmlなの? plaintext ファイルなの?
.txtとかをサーバにアップロードして、htmlファイルからリンクして表示するときのことだとすると、
.txt の Content-type が何になってるか、Content-type と一緒に吐く charset と
ファイルの文字コードが食い違ってないかとか確認したらいいと思うけど。
まずは現象を確認して、現象を再現できるようにしないと対応は難しいんじゃないかな。
0175あぼーん
NGNG0176nobodyさん
03/07/26 03:11ID:MRZ/abmLレスありがとうございます。
正確には
1. テキストファイルをサーバにアップ
2. cgiでテキストファイルをもとに、データファイルを作成
3. 同じくcgiでデータファイルをもとにprintでHTML出力
という流れで処理しています。
このcgi出力で表示しているものとは別に、
同じフォーマットのHTMLファイルもあるのですが、
それだときちんと表示されています。
この違いがどこからくるのかわからなくて…。
現象の再現は、Macを持っていないので、ちょっと難しいのです。
0177nobodyさん
03/07/26 03:25ID:???出力が同じで見た目が違うということは
HTTP Response Headerが違うということ。
>>174さんの言う通り
>.txt の Content-type が何になってるか、Content-type と一緒に吐く charset と
>ファイルの文字コードが食い違ってないかとか確認したらいいと思うけど。
です。
0178nobodyさん
03/07/26 03:28ID:???GET /***/hoge.html HTTP/1.0
の出力結果と
>telnet www.***.com 80
GET /***/hoge.cgi HTTP/1.0
の出力結果で食い違う部分を貼ってごらん。
0179nobodyさん
03/07/26 04:18ID:???レスありがとうございます。やっと意味がわかりました。
つまり、例えば2.のデータファイルはeucコードなのに、
3.でS-JISとして表示していないか、ということなのですね。
お恥ずかしい話なのですが、
無料サーバなので、telnetが使えないのです。
環境を再現する方向で、なんとか対応してみたいと思います。
こんな夜中にありがとうございました。
0180nobodyさん
03/07/26 05:13ID:???>無料サーバなので、telnetが使えないのです。
んなわきゃない。80番ポートにつなげられなかったらブラウザからでも見えなくなってしまうぞ。
0181nobodyさん
03/07/26 06:00ID:???念のため確認してみましたが、やはり切断されてしまいました。
ダメみたいです。
0182nobodyさん
03/07/26 06:40ID:???まさか
>telnet www.***.com 80
ってそのまま書いたんじゃないだろうな。
ttp://ash.jp/net/telnet_http.htm
そうでなければプロキシ使ってるんだろう。
>telnet プロキシ 8080(とは限らない)
GET http://www.***.com/hoge.html HTTP/1.0
とやるとか。
正直こっちの言ってることが分からないんだったら、
ヘッダを見るツールを使えばいい。
0183nobodyさん
03/07/26 06:50ID:???サーバがそれを無視する設定になってることもあるから、
ちゃんと確認するにはヘッダを見るしかない。
0184nobodyさん
03/07/26 07:02ID:???プロキシを使っているのかはわかりませんが、
やはり
>telnet サーバ 80
で、ダメでした。
ヘッダを見るツールですが、「httpReq」でいいのでしょうか?
DLして使える状態にしました。
0185nobodyさん
03/07/26 08:17ID:???charsetが出ていなかったので、「webmekuri」でやってみました。
これでなにかわかるでしょうか?
お手数をかけて申し訳ないです。よろしくお願いいたします。
・perl
HTTP/1.1 400 Bad Request
Date: Fri, 25 Jul 2003 23:03:26 GMT
Server: Apache/1.3.27 (Unix) PHP/4.3.2 mod_gzip/1.3.26.1a mod_layout/3.2
Connection: close
Content-Type: text/html; charset=iso-8859-1
・text
HTTP/1.1 400 Bad Request
Date: Fri, 25 Jul 2003 23:04:30 GMT
Server: Apache/1.3.27 (Unix) PHP/4.3.2 mod_gzip/1.3.26.1a mod_layout/3.2
Connection: close
Content-Type: text/html; charset=iso-8859-1
0186nobodyさん
03/07/26 11:57ID:???0187nobodyさん
03/07/26 13:15ID:???HTTP/1.1 400 Bad Request
はおかしいだろ。
perl(CGI?)の方はまだしもtext(HTML?)の方が400なのは変だ。
ブラウザでちゃんと見えてるのか?webmekuriのマニュアル嫁。
HTTP/1.1 200 OKになるまで帰ってくるな。
0188nobodyさん
03/07/26 13:20ID:???0190nobodyさん
03/07/26 13:33ID:???別にそんなに面倒じゃないよ。
多分彼はツールの使い方を間違ってるんだよ。
もう説明するの面倒くさいからアドレス晒してくれた方が楽。
0191あぼーん
NGNG0192nobodyさん
03/08/01 14:39ID:gYU9QUBu=%3E%3E1%0D%0A%81@%81@%81@%81@+%81@%81@%81R%2
8%A5%83%D6%A5%29%2F%81@+%81@%BD%DE%BA%B0%0D%0A%81@%81@%81@%81@+%81@%81_%28.%81_+%83m
こういう文字列にブラウザが変換してWEBサーバーに送りますよね
この変換機能をつかえるモジュールや関数ってないのでしょうか
単なる2バイトの漢字コードとおもってたんですが+とかxとかの意味がよくわかりません
解説しているページがあったらお教え願います
0193あぼーん
NGNG0194nobodyさん
03/08/01 14:57ID:???0195192
03/08/01 15:18ID:???謝謝
0196あぼーん
NGNG0197あぼーん
NGNG0198あぼーん
NGNG0199192
03/08/01 18:41ID:dlG1lsZs漢字コードの変換の解説しか出ないんですけど
+ とか xがなんでててくるのかがわかりません
0200ponpon
03/08/01 19:02ID:???CGIの設定をしてあるので、Webからアクセスして、新規MLを作成すると以下のエラーがでてしまします。
WARN: cannot open /.qmail-Lnux:unet:co:jp-ka from main /usr/local/fml/makefml 3593
WARN: cannot open /.qmail-Lnux:unet:co:jp-ka-ctl from main /usr/local/fml/makefml 3594
WARN: cannot open /.qmail-Lnux:unet:co:jp-ka-default from main /usr/local/fml/makefml 3595
ちなみにコマンドでmakefml newmlの場合はエラーなく作成できました。
どなたか、わかる方教えてもらえないでしょうか?お願いします。
0201nobodyさん
03/08/01 22:33ID:???いや、書いてあるだろう……
ぐぐったんなら複数のページを参考にしてみれ。
ちなみに + は半角スペースを置換したもの。
xは特に意味はない。(そのままxという文字。おそらくシフトJISの2バイト目だろう)
0202nobodyさん
03/08/01 23:54ID:???UNIX板に全く同じ質問をしている人がいるので参考にすると良い。
http://pc.2ch.net/test/read.cgi/unix/1058708085/334
0203nobodyさん
03/08/02 00:06ID:???0205山崎 渉
03/08/02 02:21ID:???( ^^ )< ぬるぽ(^^)
0206ぼるじょあ ◆ySd1dMH5Gk
03/08/02 04:49ID:???ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎――――――◎ 山崎渉&ぼるじょあ
0207nobodyさん
03/08/02 10:28ID:fI9uzQF/すいません、UNIX板に質問しているのま私なのです。(。。)
0208nobodyさん
03/08/02 10:33ID:???0210nobodyさん
03/08/02 14:38ID:???Linux板に似たような質問をしている人がいるので参考にすると良い。
http://pc.2ch.net/test/read.cgi/linux/1059545839/217
0211nobodyさん
03/08/02 14:43ID:???放置するのはどうだろう。
だからマルチは嫌われるのだが。
■ このスレッドは過去ログ倉庫に格納されています