CGI: Common Gateway Interface part 13
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@そうだ選挙に行こう
2005/09/11(日) 19:59:21ID:2LNvgPc/※ CGIはウェブサーバ上でユーザプログラムを動作させるための仕組みであり、
Perl等特定の言語に依存するものではありません。
Perlのコーディングに関する質問は、専用スレでお願いします:
Perlコーディング初心者質問スレ Part 43
http://pc8.2ch.net/test/read.cgi/php/1123777607/
CGIとPerlの区別がわからない、という人はとりあえずこちらへ:
△▲ WebProg 初心者の質問 Part12 ▼▽
http://pc8.2ch.net/test/read.cgi/php/1125215604/
過去ログ・関連スレッドは>>2-10あたりに
0054nobodyさん
2006/01/05(木) 04:38:17ID:/F4YUTMx解説などのオススメのサイトとか知っている方いませんか?
0056nobodyさん
2006/01/14(土) 07:47:02ID:Z85aSSASスレタイが紛らわしくてすんまそん。
>1を怨んでくり
0057nobodyさん
2006/01/30(月) 02:09:07ID:wr+6kz7T自分が見やすいと思って書き直したコードが、
誰も読めないスパゲティにしてしまうタイプと見た。
0058nobodyさん
2006/01/30(月) 02:10:03ID:???○コードを
0059nobodyさん
2006/01/30(月) 08:03:06ID:???視力だけではコードは読めないよ
0060nobodyさん
2006/01/30(月) 12:48:11ID:???0061nobodyさん
2006/01/31(火) 15:21:07ID:???0062nobodyさん
2006/02/02(木) 10:19:43ID:umbqoMFSPerl (mod_perlなし)
PHP (mod_php)
C++
どれが一番CGIとして高速に動作しますか?
0063nobodyさん
2006/02/02(木) 10:39:46ID:???C++ (Apache モジュール)>C++(FastCGI)>>Perl (mod_perl)>PHP (mod_php)>>>>C++(CGI)>>Perl (CGI)
0064nobodyさん
2006/02/02(木) 11:08:58ID:???workerでも動作するようで、使用してみたいですね
0065nobodyさん
2006/02/07(火) 13:24:45ID:jgUTwxiI0066nobodyさん
2006/02/11(土) 08:47:54ID:Cuk8YMSc0069nobodyさん
2006/02/16(木) 11:47:01ID:SrqmQmLd0070nobodyさん
2006/02/17(金) 18:26:23ID:dYHj+Yrx改悪した香具師出て来い!
0071nobodyさん
2006/02/20(月) 03:54:43ID:???0072nobodyさん
2006/02/22(水) 19:10:42ID:???0074nobodyさん
2006/02/26(日) 09:18:17ID:gXeWmYjr0075nobodyさん
2006/03/02(木) 00:11:58ID:CihQioafApacheに組み込もうと思っているのですが、どれが一番高速に動作するのでしょうか?(@Perl)
0076nobodyさん
2006/03/02(木) 06:56:09ID:???0077http:// p6113-ipad501osakakita.osaka.ocn.ne.jp.2ch.net/
2006/03/02(木) 17:00:46ID:???0078nobodyさん
2006/03/10(金) 04:14:08ID:GKIOQBdP0079nobodyさん
2006/03/12(日) 03:23:04ID:???( ・∀・)
(( ( ヽ ノ )
ノ\(○´ ゴッ
(_ノ(_\ ∧
= ()二) < >_∧∩
V`Д´)/ ←>>78
/
0080nobodyさん
2006/03/13(月) 03:07:41ID:???簡単な「文字入力→フォーム送信→受け取って出力」の流れを作れるようになることを目標に、
『基礎から学ぶCGIプログラミング』って本を買った
サッパリわからん
っていうか、書いてない
「perlでのプログラミングを経験したことがある人を対象にしています」ってそこが基礎じゃねぇのかよ
まず動作確認が動作しないんだよ
基礎以前の基礎はどこで実につけりゃいいんだよ
ローカルでCGI動かす方法書いてくれよ
Hello worldから説明してくれよ
オウム社ってなんだよくそ 挫折するぞ
0082nobodyさん
2006/03/13(月) 08:21:53ID:???40ページに書いてあるんだ
基礎以前の基礎って、他の「初心者のための」的な本には書いてあるんかなぁ
「この本よかったよー」って言ってる人が、元々どの程度の知識の持ち主かわからないし
まあこれは本屋行けって話ですよね
平然とCGIの話をするキミタチはすごい。うらやましい
一体何からどうやって始めたんだろう
まあすぐ追いつきますがね
0083nobodyさん
2006/03/13(月) 08:47:42ID:???この壁は高かった。HelloWorldできたわー
ただ どうやってブラウザで見るんだ?これ・・・
さあ、あんまりこんな低レベルな話されても迷惑だよな
独り言もこのあたりにしとくわ
0084nobodyさん
2006/03/16(木) 11:41:12ID:sDRJRhCs0085nobodyさん
2006/03/19(日) 23:23:56ID:???日々成長しとるわ〜
あんな本いらんかった
0086nobodyさん
2006/03/21(火) 21:43:48ID:???0087nobodyさん
2006/03/25(土) 12:06:09ID:djy+SDmtぬるぽ?
0088nobodyさん
2006/03/29(水) 21:54:36ID:???── =≡( ・∀・) ≡ ガッ ∧_∧
─ =≡○_ ⊂)_=_ \ 从/-=≡ r( )
── =≡ > __ ノ ))< > -= 〉# つ
─ =≡ ( / ≡ /VV\-=≡⊂ 、>>87
── .=≡( ノ =≡ -= し'
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
|
|
| 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
| 東 京 湾
0089nobodyさん
2006/04/03(月) 15:42:34ID:AGlnlQIC0090nobodyさん
2006/04/06(木) 04:46:01ID:mBEtRj1Vまだ90か〜
0091nobodyさん
2006/04/12(水) 10:52:42ID:YLNYCC1x0092nobodyさん
2006/04/24(月) 11:08:37ID:???0093nobodyさん
2006/05/05(金) 18:12:31ID:2ybRB6BX0094nobodyさん
2006/05/10(水) 09:42:13ID:wL7/1KsY0095nobodyさん
2006/05/18(木) 22:34:58ID:???Perlで他のサイトを取得して表示したいと思っています。
(著作権侵害とかそういうことをしたいのではないです)
お時間のある方にお願いしますが、次のコードで@niftyのトップページを取得してみたら
どうなるか教えていただけませんでしょうか?
print "Content-Type: text/html\n";
print "\n";
use LWP::Simple;
print get( 'http://www.nifty.com/' );
私のところだと、ブラウザ上での表示がぐちゃぐちゃになるんですが…。
0096nobodyさん
2006/05/19(金) 11:46:32ID:eK6CUNW8403エラーがでます
0097nobodyさん
2006/05/31(水) 19:45:21ID:qTr6EbfxHTTPレスポンスヘッダに206を指定しファイルをCGI経由でDL
させようとすると、500エラーが出てしまいます。
具体的には下記のようにしております。
print "HTTP/1.1 206 Partial Content\n";
print "Last-Modified: Wed, 24 May 2006 18:41:30 GMT\n";
print "Pragma: no-cache\n";
print "Accept-Ranges: bytes\n";
my $range = $ENV{'HTTP_RANGE'};
if($range =~ m/^bytes=(\d+)\-(\d+)$/){
my $offset = $1;
my $end = $2;
my $len = $end - $offset + 1;
print "Content-Range: bytes $offset-$end/$len\n";
$filesize = $len;
}
print "Content-Length: " . $filesize . "\n";
print "Content-Type: $content_type\n\n";
print while(<IMG>);
close(IMG);
エラー内容は「Bad header=HTTP/1.1 206 Partial Content」ですので
これを外せばエラーは出ないのですが、206を返す手段があれば
ご教示いただきたく思っております。 宜しくお願いいたします。
0098nobodyさん
2006/05/31(水) 22:22:31ID:???は?
詳しくはrfc3875を読むべし。
0100nobodyさん
2006/06/02(金) 02:01:04ID:???0101nobodyさん
2006/06/04(日) 13:53:27ID:TEaMbGujCGIの負荷軽減テクニックみたいなのをまとめたページとか書籍などで
これぐらいは読んでおけ、とかいうのがあったら教えてください
0103nobodyさん
2006/07/13(木) 05:52:24ID:W+LiZmFW0104nobodyさん
2006/07/27(木) 11:56:01ID:g7jO7iq/0105nobodyさん
2006/07/27(木) 16:12:33ID:1uzwaimqちょっとこちらでお願いできませんでしょうか?
ダメでしたら誘導お願いします。
よければ回答お願いします。
perlの話です。
hoge.csvのファイルサイズが一定以下なら処理を中断してエラーメッセージを出したいのですが、
open FH,"hoge.csv";
print length <FH>;
これで一行目のはわかります。ループ処理すれば全行分もわかります。
でももっと一発でいける記述はないのでしょうか?
宜しくお願いします。
0109nobodyさん
2006/07/27(木) 17:35:44ID:???0110105
2006/07/27(木) 19:52:08ID:1uzwaimqstatなんていう関数があったんですね。
物凄いありがっとぐ。
0111nobodyさん
2006/08/03(木) 20:35:54ID:???0112nobodyさん
2006/08/11(金) 11:58:00ID:nbBuAcLlというURLで、
print "Content-Type text/xml;charset=UTF-8\n";
print "Content-Length: ", length($data) + $data =~ s/\n/\n/g ,"\n\n";
print $data;
と返すように出力させています。(言語はPerlです)
$dataは
"<data no='1' />"
のような簡単なXMLを記述しています。
これに、とある会社がプロキシサーバを通してアクセスすると、
502を返してエラーになるみたいなのです。
プロキシなしで直でアクセスすれば<data no='1' />と
見れるようです。
恐らく、ヘッダ情報が不正とかそんな理由で弾かれているのだと思うのですが、
なにが足りないのかわかりません。
Content-Typeをapplication/xmlにしても同様のエラーがでるようです。
その会社は、サイト製作したクライアントのお得意様で、
本来ならその会社の人と詳しく調べるべきなのでしょうが
自分とはほとんど面識の無いのです。
こちらとしてはできる限りのことをあらかじめしておくくらいしかなく
困った状態なのですが、そのプロキシサーバのログ等がわからない状態で
やれることはありませんでしょうか。
0113112
2006/08/11(金) 12:01:40ID:nbBuAcLl無理な可能性もあるわけで、無茶な注文なんですが、
クライアントに作り手が悪いと思われているので
できる限りのことはしたいのです。
どなた様かお力を・・・
オラに力を
0114nobodyさん
2006/08/13(日) 00:54:08ID:???は
print "Content-Type: text/xml;charset=UTF-8\n";
じゃなくて?
あと、ヘッダの改行は \n より \r\n の方が仕様に準拠しているそうですが...。
関係あるかな?
0115nobodyさん
2006/08/13(日) 01:17:38ID:???bimode STDOUT;して改行コードがいじられないようにするとか。
0116nobodyさん
2006/08/14(月) 19:59:29ID:???0117nobodyさん
2006/09/30(土) 17:19:05ID:wXHf+VTZ0118nobodyさん
2006/10/10(火) 09:02:20ID:p77Yt6GB0119nobodyさん
2006/11/01(水) 09:21:57ID:L/Bbrvk1とあるアップローダーを無料サーバーで運営しています。
認証しないとダウンできないようにCGIを介してダウンロードさせる
仕組みなのですが無料サーバーゆえに30秒以上たつとプロセスが自動で
終わってしまうのです。低速の方が10MBのデータをダウンするのに
10分かかるとした場合に
CGIが出力したデータはサーバー側のバッファに溜まり普通に終了すると思ったのですが
どうなのでしょうか?
CGIはだだ ファイルを少し読み込んで出力のくりかえしです。
0120nobodyさん
2006/11/01(水) 13:51:29ID:L/Bbrvk1http://x-beat.com/spec.shtm
でアップローダーやってるのですが
■負荷対応
・実行時間が30秒を越えるタスク(通常は1秒以内)、CPU使用率が15%を越えるタスク(通常は0.5%以内)は、強制終了されます。
自分は低速なのでupするのに 3分かかるのですがアップロードできます。
データを送信してる最中はcgiは実行されてないのでしょうか?
0121nobodyさん
2006/11/01(水) 14:17:40ID:???アップローダーでCPU使用率15%超えるようなものは捨てたほうがいいよ
アップに3分かかるならその間はCGI実行される前だ
CGI実行の始めと終わりで時間差出せば簡単に確認できるやろ
0122nobodyさん
2006/11/01(水) 14:22:55ID:L/Bbrvk1>アップローダーでCPU使用率15%超えるようなものは捨てたほうがいいよ
これは別の方法かもしくは低速は無視するということですか?
0123121
2006/11/01(水) 14:25:55ID:???0124121
2006/11/01(水) 14:31:30ID:???0125nobodyさん
2006/11/01(水) 14:36:50ID:???0126nobodyさん
2006/11/04(土) 22:42:49ID:???0127nobodyさん
2006/11/09(木) 00:44:58ID:???0128nobodyさん
2006/12/02(土) 10:39:48ID:HKfE7B2vHTMLのformタグでaction="○○○.cgi?mode=○○○"とすると、CGI側が上手く値を取得出来ません。
これは仕様ですか?
0129nobodyさん
2006/12/02(土) 15:38:24ID:???ブラウザのバグ
0130nobodyさん
2006/12/03(日) 10:33:19ID:???httpdやブラウザを疑うよりは128の頭を疑う方が適切。
自分の無知を棚に上げて「〜〜だけどバグか?」と言い出すタイプ。
0131nobodyさん
2006/12/03(日) 15:31:56ID:???0132nobodyさん
2006/12/03(日) 19:10:24ID:/6jBKu8b仲間内で使えるアップローダを作ろうと思っています。
大量のファイル(デジカメの画像)を一発アップロードすることはできませんか?
たとえば <INPUT TYPE="file" ・・・>
だと、1つずつファイルを選択しないといけませんのでちょっと手間がかかるので。
0133nobodyさん
2006/12/03(日) 19:13:58ID:???ファイルを選択してもらうしかないんじゃね?
0134nobodyさん
2006/12/03(日) 20:22:58ID:???FTPってのを使うといいよ
0135nobodyさん
2006/12/03(日) 20:25:45ID:/6jBKu8bPCに詳しくない人もいるのでftpはちょっときついかなとも思いますので、
しばらくは133さんに書いていただいた通り1ファイルずつということにしたいと思います。
0136nobodyさん
2006/12/03(日) 21:23:49ID:???0137nobodyさん
2006/12/03(日) 23:21:24ID:/6jBKu8bzipだとwinXP標準になりましたし、多少説明をいれれば誰でも使えるかもしれませんね、、
どちらにするかもう少し考えて見ます、ありがとうございます。
0139132
2006/12/04(月) 00:00:05ID:???JavaScriptは詳しくないので分からないのですが・・・
0140nobodyさん
2006/12/04(月) 00:28:28ID:???0141nobodyさん
2006/12/05(火) 21:42:18ID:jPnOowzYどうもコーディングモチベーションが沸かないのでひとつ感想でもくれ。
一応自作CGIだ。
0142nobodyさん
2006/12/07(木) 15:28:36ID:???どういうタイプのCGIか(BBSとかSNSとかその他もろもろ)説明してくんなきゃ、
アクセスすらしたくない。
0143nobodyさん
2006/12/07(木) 23:25:13ID:1rivuzCeそんじゃ。
0144nobodyさん
2006/12/12(火) 17:23:37ID:G/IH0bRfPHPではSmartyを使ってましたが、Perlでは好みのテンプレートエンジンがありませんので作ろうと思っています。
ここで質問ですが、変数はどのような記述にしたほうが良い(効率、見栄えなど)ですか?
例:Smarty / {$var ... }
例:HTML::Template / <TMPL_VAR NAME=" ... >
みなさんのご意見をお聞かせ下さい。
0145nobodyさん
2006/12/12(火) 17:49:18ID:???それすらも決められないの?
0146nobodyさん
2006/12/13(水) 10:12:16ID:???smartyとそれほど変わらず使えるよ。
ttの方が高機能だし。
0147nobodyさん
2006/12/23(土) 14:55:04ID:PYbXEm5Dソースがそのまま表示されて、手動で更新ボタンを押すとちゃんとWebページとして表示されるのですが・・・
何故でしょうか?
0148nobodyさん
2006/12/23(土) 14:58:42ID:PYbXEm5Dクッキー書き込み&削除の際に\nが出力されておらず、Content-Typeが出力されていなかったようです/(^o^)\オワタ
0149nobodyさん
2007/01/28(日) 03:10:26ID:???任意のURLをダウンロードするにはどうしたら良いのですか?
うーむ、説明しにくい…
WikipediaのURLを入力すると、余計なタグを消して携帯用に整形 みたいな事をしたいんですが
検索しようにも、検索キーワードすら分かりません
命令名だけでもお願いします
0150nobodyさん
2007/02/01(木) 00:26:48ID:Cze5DYpzindex.htmlがトップページで
index.htmlとpublic_htmlの位置関係がわかりません。
掲示板の場所はpublic_html/cgi-bin/○○.cgiなんですが
index.htmlはどの部分に持ってきたらいいのでしょうか?
おお、ありがとうございます
が、locationヘッダはリダイレクトに使うみたいな機能のようで…
そうじゃなくて、ユーザーが指定したURLを、サーバーにダウンロード
0153149
2007/02/01(木) 03:12:19ID:???おお、ありがとうございます
が、locationヘッダはリダイレクトに使うみたいな機能のようで…
そうじゃなくて、ユーザーが指定したURLを、サーバーにダウンロードするにはどうしたら?
って感じです
Wikipediaの例で言うと、
ユーザーがWikipediaのURLを指定
サーバーのcgiがWikipediaから指定されたURLをサーバーにダウンロード★
cgiがダウンロードしたソースを整形
整形したソースをユーザーに送る
の、★の部分の命令です
連投になっちまった
■ このスレッドは過去ログ倉庫に格納されています