[表示 : 全て 最新50 1-99 101- 2chのread.cgiへ]
Update time : 05/09 14:50 / Filesize : 38 KB / Number-of Response : 181
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

CGI: Common Gateway Interface part 13



1 名前:名無しさん@そうだ選挙に行こう [2005/09/11(日) 19:59:21 ID:2LNvgPc/]
CGIの運用に関する質問スレッドです。

※ CGIはウェブサーバ上でユーザプログラムを動作させるための仕組みであり、
Perl等特定の言語に依存するものではありません。


Perlのコーディングに関する質問は、専用スレでお願いします:
Perlコーディング初心者質問スレ Part 43
pc8.2ch.net/test/read.cgi/php/1123777607/

CGIとPerlの区別がわからない、という人はとりあえずこちらへ:
△▲ WebProg 初心者の質問 Part12 ▼▽
pc8.2ch.net/test/read.cgi/php/1125215604/


過去ログ・関連スレッドは>>2-10あたりに

105 名前:nobodyさん [2006/07/27(木) 16:12:33 ID:1uzwaimq]
perlのコーディングスレが1000超えたまま次スレが見つかりませんでしたので
ちょっとこちらでお願いできませんでしょうか?

ダメでしたら誘導お願いします。
よければ回答お願いします。

perlの話です。
hoge.csvのファイルサイズが一定以下なら処理を中断してエラーメッセージを出したいのですが、
open FH,"hoge.csv";
print length <FH>;

これで一行目のはわかります。ループ処理すれば全行分もわかります。
でももっと一発でいける記述はないのでしょうか?
宜しくお願いします。

106 名前:nobodyさん mailto:sage [2006/07/27(木) 16:24:17 ID:???]
>>105
新スレ立ててそこで質問してくれ。
ちなみに、私は立てられなかった。

107 名前:nobodyさん mailto:sage [2006/07/27(木) 17:08:40 ID:???]
>>105
ファイルサイズを見ればいい

108 名前:nobodyさん mailto:sage [2006/07/27(木) 17:13:48 ID:???]
>>105
$size = (stat "hoge.csv")[7];

109 名前:nobodyさん mailto:sage [2006/07/27(木) 17:35:44 ID:???]
-s でもよくね?

110 名前:105 [2006/07/27(木) 19:52:08 ID:1uzwaimq]
>>108
statなんていう関数があったんですね。
物凄いありがっとぐ。

111 名前:nobodyさん mailto:sage [2006/08/03(木) 20:35:54 ID:???]
保守ヤメレ

112 名前:nobodyさん [2006/08/11(金) 11:58:00 ID:nbBuAcLl]
xx.jp/xx.cgi
という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にしても同様のエラーがでるようです。

その会社は、サイト製作したクライアントのお得意様で、
本来ならその会社の人と詳しく調べるべきなのでしょうが
自分とはほとんど面識の無いのです。
こちらとしてはできる限りのことをあらかじめしておくくらいしかなく
困った状態なのですが、そのプロキシサーバのログ等がわからない状態で
やれることはありませんでしょうか。


113 名前:112 [2006/08/11(金) 12:01:40 ID:nbBuAcLl]
そのプロキシサーバの設定によっちゃどうやっても
無理な可能性もあるわけで、無茶な注文なんですが、
クライアントに作り手が悪いと思われているので
できる限りのことはしたいのです。
どなた様かお力を・・・

オラに力を



114 名前:nobodyさん mailto:sage [2006/08/13(日) 00:54:08 ID:???]
print "Content-Type text/xml;charset=UTF-8\n";

print "Content-Type: text/xml;charset=UTF-8\n";
じゃなくて?

あと、ヘッダの改行は \n より \r\n の方が仕様に準拠しているそうですが...。
関係あるかな?

115 名前:nobodyさん mailto:sage [2006/08/13(日) 01:17:38 ID:???]
そう言えば改行の個数をcontent-lengthに足してるのも怪しいな。
bimode STDOUT;して改行コードがいじられないようにするとか。

116 名前:nobodyさん mailto:sage [2006/08/14(月) 19:59:29 ID:???]
串通してる時点で、サポート外だって言えばいいだけなような。

117 名前:nobodyさん [2006/09/30(土) 17:19:05 ID:wXHf+VTZ]
定期age

118 名前:nobodyさん [2006/10/10(火) 09:02:20 ID:p77Yt6GB]
定期sage

119 名前:nobodyさん [2006/11/01(水) 09:21:57 ID:L/Bbrvk1]
スレ違いだったので移動してきました。

とあるアップローダーを無料サーバーで運営しています。
認証しないとダウンできないようにCGIを介してダウンロードさせる
仕組みなのですが無料サーバーゆえに30秒以上たつとプロセスが自動で
終わってしまうのです。低速の方が10MBのデータをダウンするのに
10分かかるとした場合に
CGIが出力したデータはサーバー側のバッファに溜まり普通に終了すると思ったのですが
どうなのでしょうか?
CGIはだだ ファイルを少し読み込んで出力のくりかえしです。



120 名前:nobodyさん [2006/11/01(水) 13:51:29 ID:L/Bbrvk1]
上に関連して
x-beat.com/spec.shtm
でアップローダーやってるのですが

■負荷対応
・実行時間が30秒を越えるタスク(通常は1秒以内)、CPU使用率が15%を越えるタスク(通常は0.5%以内)は、強制終了されます。

自分は低速なのでupするのに 3分かかるのですがアップロードできます。
データを送信してる最中はcgiは実行されてないのでしょうか?


121 名前:nobodyさん mailto:sage [2006/11/01(水) 14:17:40 ID:???]
ダウンに10分かかるならCGIはずっと実行中

アップローダーでCPU使用率15%超えるようなものは捨てたほうがいいよ

アップに3分かかるならその間はCGI実行される前だ
CGI実行の始めと終わりで時間差出せば簡単に確認できるやろ

122 名前:nobodyさん [2006/11/01(水) 14:22:55 ID:L/Bbrvk1]
どうもです。確認してみます。
>アップローダーでCPU使用率15%超えるようなものは捨てたほうがいいよ
これは別の方法かもしくは低速は無視するということですか?


123 名前:121 mailto:sage [2006/11/01(水) 14:25:55 ID:???]
どうしても無視したくないならRangeヘッダに対応するとかすりゃいいんじゃないの?



124 名前:121 mailto:sage [2006/11/01(水) 14:31:30 ID:???]
ま、それ以外だとデカいファイルだったら小分けにするとかいろいろあるやろ

125 名前:nobodyさん mailto:sage [2006/11/01(水) 14:36:50 ID:???]
なるほど考えて見ますありがとうこざいました。

126 名前:nobodyさん mailto:sage [2006/11/04(土) 22:42:49 ID:???]
30秒というのはCPU時間のことなんだが。

127 名前:nobodyさん mailto:sage [2006/11/09(木) 00:44:58 ID:???]
mod_fast_bbs

128 名前:nobodyさん [2006/12/02(土) 10:39:48 ID:HKfE7B2v]
PerlでCGIを作成しています。
HTMLのformタグでaction="○○○.cgi?mode=○○○"とすると、CGI側が上手く値を取得出来ません。

これは仕様ですか?

129 名前:nobodyさん mailto:sage [2006/12/02(土) 15:38:24 ID:???]
$ENV{QUERY_STRING}から取得できなければwwwサーバが環境変数を正しくセットできてないか
ブラウザのバグ

130 名前:nobodyさん mailto:sage [2006/12/03(日) 10:33:19 ID:???]
STDINとQUERYで上手く棲み分け出来てないだけだと思う。
httpdやブラウザを疑うよりは128の頭を疑う方が適切。
自分の無知を棚に上げて「〜〜だけどバグか?」と言い出すタイプ。

131 名前:nobodyさん mailto:sage [2006/12/03(日) 15:31:56 ID:???]
つ CGI.pm

132 名前:nobodyさん [2006/12/03(日) 19:10:24 ID:/6jBKu8b]
はじめまして。
仲間内で使えるアップローダを作ろうと思っています。
大量のファイル(デジカメの画像)を一発アップロードすることはできませんか?
たとえば <INPUT TYPE="file" ・・・>
だと、1つずつファイルを選択しないといけませんのでちょっと手間がかかるので。

133 名前:nobodyさん mailto:sage [2006/12/03(日) 19:13:58 ID:???]
WebProg板の範囲で何とかするなら、1つずつ手間かけて
ファイルを選択してもらうしかないんじゃね?



134 名前:nobodyさん mailto:sage [2006/12/03(日) 20:22:58 ID:???]
>132
FTPってのを使うといいよ

135 名前:nobodyさん [2006/12/03(日) 20:25:45 ID:/6jBKu8b]
132です、どうもありがとうございます。
PCに詳しくない人もいるのでftpはちょっときついかなとも思いますので、
しばらくは133さんに書いていただいた通り1ファイルずつということにしたいと思います。

136 名前:nobodyさん mailto:sage [2006/12/03(日) 21:23:49 ID:???]
それか、複数ファイルを1つの書庫にしてもらい、それをアップしてもらって、鯖側で解凍、とかもできるね。

137 名前:nobodyさん [2006/12/03(日) 23:21:24 ID:/6jBKu8b]
132です。>>136さん、どうもありがとうございます。
zipだとwinXP標準になりましたし、多少説明をいれれば誰でも使えるかもしれませんね、、
どちらにするかもう少し考えて見ます、ありがとうございます。

138 名前:nobodyさん mailto:sage [2006/12/03(日) 23:43:27 ID:??? BE:154547472-BRZ(5466)]
js使えよ

139 名前:132 mailto:sage [2006/12/04(月) 00:00:05 ID:???]
JavaScriptを使ったらできるものなのでしょうか?
JavaScriptは詳しくないので分からないのですが・・・

140 名前:nobodyさん mailto:sage [2006/12/04(月) 00:28:28 ID:???]
サンドボックス

141 名前:nobodyさん [2006/12/05(火) 21:42:18 ID:jPnOowzY]
ryzo.ddo.jp/main/

どうもコーディングモチベーションが沸かないのでひとつ感想でもくれ。
一応自作CGIだ。



142 名前:nobodyさん mailto:sage [2006/12/07(木) 15:28:36 ID:???]
>>141
どういうタイプのCGIか(BBSとかSNSとかその他もろもろ)説明してくんなきゃ、
アクセスすらしたくない。

143 名前:nobodyさん [2006/12/07(木) 23:25:13 ID:1rivuzCe]
説明するの面倒くさいので
そんじゃ。



144 名前:nobodyさん [2006/12/12(火) 17:23:37 ID:G/IH0bRf]
HTMLテンプレート仕様を実装しようと思ってます。
PHPではSmartyを使ってましたが、Perlでは好みのテンプレートエンジンがありませんので作ろうと思っています。

ここで質問ですが、変数はどのような記述にしたほうが良い(効率、見栄えなど)ですか?

例:Smarty / {$var ... }
例:HTML::Template / <TMPL_VAR NAME=" ... >

みなさんのご意見をお聞かせ下さい。

145 名前:nobodyさん mailto:sage [2006/12/12(火) 17:49:18 ID:???]
自分が使うんだから自分がしっくりくるものにすれば
それすらも決められないの?

146 名前:nobodyさん mailto:sage [2006/12/13(水) 10:12:16 ID:???]
template-toolkitじゃ駄目なの?
smartyとそれほど変わらず使えるよ。
ttの方が高機能だし。

147 名前:nobodyさん [2006/12/23(土) 14:55:04 ID:PYbXEm5D]
PerlでCGIを作成しているのですが、POSTでmodeを送信してCGI側で処理を振り分ける際に、HTMLのソースがそのまま出力されてしまいます。
ソースがそのまま表示されて、手動で更新ボタンを押すとちゃんとWebページとして表示されるのですが・・・

何故でしょうか?

148 名前:nobodyさん [2006/12/23(土) 14:58:42 ID:PYbXEm5D]
事故解決しました。。。

クッキー書き込み&削除の際に\nが出力されておらず、Content-Typeが出力されていなかったようです/(^o^)\オワタ

149 名前:nobodyさん mailto:sage [2007/01/28(日) 03:10:26 ID:???]
cgiの質問ってここでいいのかな?
任意のURLをダウンロードするにはどうしたら良いのですか?

うーむ、説明しにくい…
WikipediaのURLを入力すると、余計なタグを消して携帯用に整形 みたいな事をしたいんですが

検索しようにも、検索キーワードすら分かりません
命令名だけでもお願いします


150 名前:nobodyさん [2007/02/01(木) 00:26:48 ID:Cze5DYpz]
FC2でCGIを使った掲示板を作っているのですが
index.htmlがトップページで
index.htmlとpublic_htmlの位置関係がわかりません。
掲示板の場所はpublic_html/cgi-bin/○○.cgiなんですが
index.htmlはどの部分に持ってきたらいいのでしょうか?

151 名前:nobodyさん mailto:sage [2007/02/01(木) 02:20:01 ID:???]
>>149
つ locationヘッダ
>>150
つ 絶対参照

152 名前:149 mailto:sage [2007/02/01(木) 03:08:51 ID:??? BE:5661656-2BP(20)]
>>151
おお、ありがとうございます
が、locationヘッダはリダイレクトに使うみたいな機能のようで…

そうじゃなくて、ユーザーが指定したURLを、サーバーにダウンロード

153 名前:149 mailto:sage [2007/02/01(木) 03:12:19 ID:???]
>>151
おお、ありがとうございます
が、locationヘッダはリダイレクトに使うみたいな機能のようで…
そうじゃなくて、ユーザーが指定したURLを、サーバーにダウンロードするにはどうしたら?
って感じです

Wikipediaの例で言うと、
ユーザーがWikipediaのURLを指定
サーバーのcgiがWikipediaから指定されたURLをサーバーにダウンロード★
cgiがダウンロードしたソースを整形
整形したソースをユーザーに送る
の、★の部分の命令です


連投になっちまった



154 名前:nobodyさん mailto:sage [2007/02/01(木) 06:14:13 ID:???]
>>153
言語が書かれてないけど
perlならLWP
PHPならそのURLでopen

155 名前:149 mailto:sage [2007/02/01(木) 14:41:03 ID:???]
>>154
バッチリこれです
ありがとうございましたっ!

156 名前:nobodyさん [2007/02/14(水) 18:01:11 ID:ppCk4pJ4]
偉大なる先輩方に質問です。
二項分布の計算で
$x = ((1/$a)**$z * (1-1/$a)**($zz-$z));

$a=6
$z=400
$zz=3000
とかにすると、オーバーフローで結果だません。
出来れば、
$zは2000ぐらい、$zzは10000ぐらいまでは対応できるようにしたいのですが
どう対策すればいいんでしょうか?



157 名前:nobodyさん mailto:sage [2007/02/15(木) 01:49:27 ID:???]
マルチ乙

158 名前:nobodyさん [2007/03/18(日) 16:42:56 ID:WzkWKyHv]
age

159 名前:nobodyさん [2007/04/22(日) 11:57:18 ID:a6lsLKbE]
自作のCMS(DBから文書読み出してテンプレート適用して出力)で
ETagヘッダを出力しようかと思ってるんだけど
ETagの値はどう設定するのがいいかな?
Apacheに倣って「inode-size-mtime」の十六進にするのが無難なんだろうけど
DBだとinodeとか無いし

Content-MD5ヘッダと同じでいいじゃんとか思っているんだけど問題有るかな

160 名前:nobodyさん mailto:sage [2007/04/22(日) 12:44:36 ID:???]
DBならOIDあるじゃん

161 名前:159 mailto:sage [2007/04/22(日) 13:04:27 ID:???]
>>160
あ、そうか… thx

162 名前:nobodyさん mailto:sage [2007/05/05(土) 13:25:53 ID:???]
WikiってCGI-perlでなんとかできるの?

Wikiと掲示板を繋げて共同ワークスペースみたくしたいのだが。

163 名前:nobodyさん mailto:sage [2007/12/17(月) 16:39:39 ID:???]
CGI のテストに便利なミニ HTTP サーバって何?
てか,むしろアプリに Web インターフェイスでの
設定機能を組み込みたいのでそういうライブラリでも
いいんだけど・・・



164 名前:nobodyさん mailto:sage [2007/12/17(月) 22:00:42 ID:???]
>>163
そのアプリを書いてる言語でHTTPサーバを書けばいいんじゃね?

Perlなら
www.kt.rim.or.jp/%7Ekbk/perl5.005/perlipc.html#Internet_TCP_Clients_and_Servers
search.cpan.org/search?m=all&q=HTTP&s=1&n=100

165 名前:nobodyさん [2008/05/12(月) 01:47:12 ID:/jfGDqjv]
画像が3枚くらい添付できる無料メールフォームを探してます。
商用利用したいです。

罵られても構いません。
でも欲しいです。
ちなみに無料で無かったら、5000円ぐらいまでなら払えます。

166 名前:nobodyさん [2008/05/13(火) 00:56:04 ID:7uPi/nf3]
>>165
つgoogle先生

ttp://www.best--web.com/cgi/vicarious/tenpmail.html
\5,250- 著作権表示なし版\10,500-

ttp://www.futomi.com/library/mpmailp.html
\3,675-

167 名前:質問 [2008/06/24(火) 19:38:33 ID:ACRIEaOH]
質問させてください。 使用言語はperlです。

ボタンを押すとA.cgiを動かすようにしています
<form action="A.cgi" target="別フレーム">

このA.cgiは、
(1)Bファイルを読み込んでprint文によりHTML形式で別フレームへ出力させるようにしています。
(2)また、同時にC.plを実行させています。
   このC.plはC.pl内でsleep 30;としてデータを30秒ごとに取得させています。
この場合、A.cgiを実行させるとC.plが終了していないせいか、(1)の出力結果が別フレーム
に出てくれません。(当然c.plをわざと終了させると問題なく出力されます)

c.plをバックグランド ( system("C.pl &"); )でやってみたりしたのですが
やっぱりうまくいきません。
どうやればうまくいきますでしょうか?


168 名前:nobodyさん mailto:sage [2008/06/25(水) 01:41:01 ID:???]
>>167
スレ違い。
だけど、とりあえず、cronで定期的にたたくとか、javascript使うとか。
そういうんじゃない。

とりあえず、
くだすれPerl(超初心者用)2
pc11.2ch.net/test/read.cgi/php/1204488452/

169 名前:nobodyさん mailto:sage [2008/08/06(水) 15:27:22 ID:???]
オライリーの「CGIプログラミング」第二版って本、
cgiの知識は0でも、perlが少し分かればcgiを勉強したいならコレで大丈夫ですかね?
他にいい本が見当たらなかったんですが、発行年月日が気になります…

170 名前:nobodyさん mailto:sage [2008/08/19(火) 12:00:26 ID:???]
>>169
本屋に行っても少し新しい発行日の参考書勝ったほうがよくね?
CGIの基礎はそれでわかるはずだが、7年前と今じゃネットの事情が
だいぶ違うから

171 名前:  mailto:  [2008/11/28(金) 08:28:48 ID:???]
PHPでカレントディレクトリ名の取得に
フルパスの{%DIR}やディレクトリ名だけの{%WWW_DIR}が
ありますが、これをPythonとPerlで取得するには
どのように書けばいいですか?
PWDからフルパスを取得して不要なな部分をカットするしか方法無い?

172 名前:171 mailto:  [2008/11/28(金) 09:30:14 ID:???]
無かった事にしてください orz

173 名前:nobodyさん mailto:sage [2008/12/15(月) 12:58:36 ID:???]
質問させてください。
htmlに以下のようにラジオボックスとSubmitボタンを設置しています。
[・]Aさん(変数$A)
[・]Bさん(変数$B)
[Submit]

Aさんを選択してSubmitを押すと、tekito.com/A/index.html
Bさんを選択してSubmitを押すと、tekito.com/B/index.html
といった感じで、選択したラジオボックスでジャンプ先URLが
変化するようにするにはどうしたら良いでしょうか?



174 名前:nobodyさん mailto:sage [2008/12/15(月) 19:24:31 ID:???]
>>173
+ JavaScript の質問用スレッド vol.67 +
pc11.2ch.net/test/read.cgi/hp/1223618153/

175 名前:nobodyさん [2009/01/02(金) 00:55:04 ID:BSezfA/d]
どなたか知っていたら教えてください。

CGIは、perlのパスが異なっていたら、実行されません。たとえば、"#!/usr/bin/perl"というパスを指定しているときに、"/usr/local/bin/perl"にしかperlの実行モジュールがないときに動作しない。

これをどちらのパスでも書くやり方があったような気がするのですが、どうしても思い出せない&ググってもでてこないです。

かすかな記憶ではwhichを使うようなやり方だったと思うんですが、"#!/usr/bin/which perl"でもNGです。

どなたかえらいひと、教えてー。

176 名前:nobodyさん mailto:sage [2009/01/02(金) 01:01:58 ID:???]
> ln -s /usr/local/bin/perl /usr/bin/perl

177 名前:nobodyさん [2009/01/02(金) 01:06:52 ID:BSezfA/d]
>>176

返事ありがとう。

でも、違うんです。symbolic linkじゃなくて、#!の1行で表現する方法があったはず・・・。

178 名前:nobodyさん mailto:sage [2009/01/02(金) 02:09:44 ID:???]
じゃあ知らんなぁ。。
#!をだます方法なららくだ本にあったと思うが・・

179 名前:nobodyさん mailto:sage [2009/01/02(金) 02:17:38 ID:???]
>>177

/bin/env を使うとかいうのでもない?


180 名前:nobodyさん [2009/01/02(金) 16:37:18 ID:BSezfA/d]
>>179

おー!それだ!なんでwhichと勘違いしてたんだろう。

ありがとう!







[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<38KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef