★ INCM Plug-in開発掲示板 ★ TinyGrass Ver0.32a [戻る]
[0358] 01/04/28 11:10 一 五明(YMjHyfzdazU): Re:357)RE: URLエンコーディング?
>httpで通らないコードとかあるんですかね。
http自体はバイナリデーターをPOSTすることも可能です。
(実際お絵描き掲示板やファイル添付系掲示板はそうです)
ただ…
>biglobeに設置したInterNetCockはうまくいくのに、
>mmtrに設置したInterNetCockにはうまくいかないという問題がおこりました。
>漢字とかいろいろS-JISコードそのまま送ってました。
サーバーが厳しく?チェックしてるとこうなるんですね。
(最低限の変換にすれば普通にURLエンコードするより転送量が減っていい
かなと思ったんですが)
Content-typeがurlencodedの時のみのチェックだとしたら、octet-stream
は通る気もしますが、これはCGIの側で弾かれることが有ります。
http://kt.sakura.ne.jp/~timeflow/M/
[0357] 01/04/27 21:22 GAE(Kb8yjU9ajnI): Re:355)RE: URLエンコーディング?
> エンコードは、一応、かけてるんです。Perlモジュールを使っているので中
> 身がどうなっているか、細かいことはわからないのですが、
> 「application/x-www-form-urlencoded」形式になってるハズです。
エンコード後のデータをファイルにおとせばわかりそうですが、
使い方が間違ってるとか日本特有の問題とか。
そういえば2年前くらい、
INCMのたたき台(cgiにpostするだけ)を作ってたとき、
biglobeに設置したInterNetCockはうまくいくのに、
mmtrに設置したInterNetCockにはうまくいかないという問題がおこりました。
このときURLエンコーディングのことを知らなかったので
漢字とかいろいろS-JISコードそのまま送ってました。
httpで通らないコードとかあるんですかね。
↑程度が低くてすみません(笑)
GAE@1分10円環境
http://www.gld.mmtr.or.jp/~naofumi/incm/
[0356] 01/04/27 16:25 Buckeye(UnTUYw5MC2c): Re:354)RE: URLエンコーディング?
うーん、今もよくわかんないんですが……
>>& は %26 を送ります。
ということなので、「&」のかわりに「%26」としてみたところ、これでうまくい
くようです。本文部分(タイトルも、かな)にある半角&を、ぜんぶ「%26」に
しておけばよさそうです。
Best Regards,
Buckeye
[0355] 01/04/27 11:17 Buckeye(UnTUYw5MC2c): Re:354)RE: URLエンコーディング?
GAEさん、GETWILD'74さん、
エンコードは、一応、かけてるんです。Perlモジュールを使っているので中
身がどうなっているか、細かいことはわからないのですが、
「application/x-www-form-urlencoded」形式になってるハズです。
うーん、なにがおかしいんだろ。
Best Regards,
Buckeye
[0354] 01/04/26 17:51 GAE(GCDDVPb8PCc): Re:352)URLエンコーディング?
GAE@ようやく電話が開通 です。
↓「そんなことはわかってるよ」と思われたらすみません…。
> cmwファイルに書き出してもらって、プラグイン側で発言処理をする場合につい
> てです。発言中に半角の&があると、そこで、発言が切れてしまいます。これは、
> cgi側が、半角&を引数間の区切りと誤解してしまうことから起きているものと
> 思われます。
& は %26 を送ります。
Webで「URLエンコーディング」を調べると細かい仕様が出るかもしれません。
ある範囲の文字コード以外のコードを送るときは
基本的にこのエンコードが必要になるはずです。
「ある範囲」については適当でもいいような気がします。(とりあえず)
ほとんどCGIは、&で分割したのちに、デコードしているからです。
http://www.gld.mmtr.or.jp/~naofumi/incm/
[0353] 01/04/24 16:52 GETWILD'74(Qk25uvB38zc): Re:352)Re: 発言時の半角&の処理
encodeとかは使えないですかね。
[0352] 01/04/22 17:00 Buckeye(UnTUYw5MC2c): 発言時の半角&の処理
みなさん、ご無沙汰しております。
4ヶ月を超えた怒濤のシュラバが一段落ついたので、@niftyインターウェイプラ
グインのメンテを始めました。で、ちょっとお知恵を借りたいことがあります。
cmwファイルに書き出してもらって、プラグイン側で発言処理をする場合につい
てです。発言中に半角の&があると、そこで、発言が切れてしまいます。これは、
cgi側が、半角&を引数間の区切りと誤解してしまうことから起きているものと
思われます。
同じcgiにブラウザで書き込むと、ちゃんと、半角&が出るので、なにか、前処
理する方法があるハズなんですが……どなたか、ご存じありませんか?
htmlでの表記法でいけるかと思ったら、あれ、みんな、頭に半角&がつくんです
ね(^^;)
最悪、全角&に置換してから発言するって方法もありますけど(--;)
Best Regards,
Buckeye
[0351] 01/04/16 10:44 GETWILD'74(Qk25uvB38zc): Re:350)RE: 新バージョンへの対応について
print '#P:POST,$c,no=new&mode=form&name=$N&email=$E&title=$T&wrap=soft&msg=$M&url=$H&pwd=$K',"\n";
print "S:$num,$rnum,$date,\n",$title,
'F:POST,$c,action=res_msg&no=',$num,'&oya=',$tnum,
'&mode=form&name=$N&email=$E&title=$T&wrap=soft&msg=$M&url=$H&pwd=$K',
"\nM:\n";
のtitleとmsgの部分をsubとmessageに変更して下さい。
未読記事がないとCMTヘッダが更新されないので注意して下さい。
[0350] 01/04/13 19:19 Chitoku(s8YIcTtdBJg): 新バージョンへの対応について
つい最近INCMを見つけて、その便利さにすっかり感動しちゃった者です。
是非自分のサイトの掲示板もこれで巡回できるようにしようと試してみたのですが、
読み込みは全部うまく行くものの、メッセージの送信が実際には反映されていないという
トラブルにぶち当たってしまいました。
使っているのはKENT-WEBさんのWEB FORUMです。
送信時ログで確認してみると、メッセージが記入されていないためにエラーが
出てしまっているようです。
一 五明さんのおつくりになったcm_WEBFORUM.pl、ver0.13の内部を覗かしてもらうと、
投稿フォームのいくつかの欄の名前が、おそらくWEB FORUMのVer2.6以降から
変更されてしまったために、うまく動かなくなってしまっているようです。
具体的には、題名の欄のname属性がtitleからsubに、メッセージのものがmsgからmessage
のように変更されてしまったようです。
そこで、僕はPerlに関してはほとんど初心者なのにも関わらず、自分でこれら関係のところを
いじってみれば何とかなるのではないかと、無謀にもチャレンジしてみました。
まずコード36行目のtitleのところをsubに、msgのところをmessageに変えてみると、
メッセージの新規投稿はうまくできるようになりました。
続いて175行目の部分も同じように変更してみたのですが、しかしレスに返信をつめるのは
いまだうまくいきません。送信時ログを確認してみると、まだメッセージの記入モレの為に
エラーが出てしまっているようです。
175行目以前にもいくつかtitleを使った変数が使われていますが、これらが実際に
どんな働きをしているのかPerlに詳しくない僕は分からず、いくつか変えて実際に
試してみましたが、どれもうまくいきませんでした。
なにかこの新しいバージョンのWEB FORUMをINCMで完璧に使う方法はないでしょうか?
どなたかにご指南いただけると大変ありがたいです。よろしくお願いします。
http://www.eduplan.net/abroad/
[0349] 01/03/30 16:57 かつ(JOx6DyBOAyo): Bug報告(ぷち☆ボード用プラグイン)
対象プラグイン
INCM plug-in for ぷち☆ボード,ErialBBS
Ver0.11 2000/2/19
現象
スレッドが正しく解釈されない
原因
標準出力に出すべき内容がファイルに書き出されていた。
以下詳細及び対応方法です。
104行目
print "\nConnecting...";
↓対応方法(修正)
print STDOUT "\nConnecting...";
[0348] 01/03/30 16:53 かつ(JOx6DyBOAyo): Re:346)Re:CMTユニット作ってみましたが…
一 五明さんご返事有難う御座います。
別モジュールで対応という手がありましたね。
readonlyで読み込むだけだし、管理人に頼んでみます。
わざわざ有難う御座いました。
[0347] 01/03/30 16:49 かつ(JOx6DyBOAyo): Re:345)STDERR
一 五明さんご返事有難う御座います。
大筋は理解出来ました。
エラー以外でエラーログが出力されるのは
個人的には気になる方なので、自分で対応しようと思います。
[0346] 01/03/17 14:37 一 五明(YMjHyfzdazU): Re:333)CMTユニット作ってみましたが…
>その掲示板は自分が設置してるものじゃないので
>頼んでみましたが、「あげ」は嫌だそうで断られました...
Treebbs Terra用のCMTユニットを作成しました。
→ http://kt.sakura.ne.jp/~timeflow/M/TRCMT010.LZH
改造禁止のシステムのため独立したCGIになっているので、treebbs.cgiと
同フォルダに置くだけです。
これも駄目でしょうか?(^^;
http://kt.sakura.ne.jp/~timeflow/M/
[0345] 01/03/16 21:47 一 五明(YMjHyfzdazU): Re:344)RE: STDERR
>> unlink("errorlog.txt") if(-e "errorlog.txt");
>これだと単純なデリートですから、
>ユーザがもう一度、読み込んだでしまうと
>最後のログしかみれないので
>本来のエラー原因を知ることが出来ませんよね?
何回分か履歴を残したほうがいいということなら、終了時に
print STDERR "\n--fin--\n";
とでもして、起動時に
if(open(ERROR,"errorlog.txt")){
$/="\n--fin--\n"; @errors=<ERROR>; close(ERROR);
while($#errors > 3){ # 配列の要素数が3より多いなら
$_=shift(@errors); # 先頭の要素を読み捨て
}
open(ERROR,">errorlog.txt");
print ERROR join("",@errors);
close(ERROR);
}
$/="\n"; # デフォルトに戻す
…とでもしますか?(テストしてません(^^;)
回数じゃなくて、後ろからnバイトのような残し方もあるでしょうね。
>1: STDERR出力について細かい取り決めは無い
>2: デバックのメッセージを残してリリース
>3: ファイルが大きくなる事が気になるならような
> 神経質な人(私)は自力で直す?
…言ってしまえば、そういうことになります。プラグインの作者が重大な
バグだと認識していて暇があれば直すでしょうし、そうでない場合は直さない
でしょう。
初期のプラグインは受信時ログが際限無く大きくなってましたから、この手
のは気にならなくなってしまった人が多いかもしれません(^^;
ただ「INCM周辺ツールの統一方針」の様なものは特に作ってなくて、各作者が
各々好きにサポートしたりサポートさぼったりしてますので、作者によっては
同じ報告でもすぐに直す人も居るかも知れないです。
http://kt.sakura.ne.jp/~timeflow/M/
[0344] 01/03/16 14:25 かつ(0g5y5mEUAqI): Re:336)STDERR
一 五明さんご返事有難う御座います。
> そう厳密に仕様を決めてない部分が多いんですよ(^^;
厳密な仕様が無く使い方は好き好きなのは理解できましたが、
ErrorLog.txtが際限もなく大きくなっていくので、
良くある Bug という認識をもってました。
> unlink("errorlog.txt") if(-e "errorlog.txt");
これだと単純なデリートですから、
ユーザがもう一度、読み込んだでしまうと
最後のログしかみれないので
本来のエラー原因を知ることが出来ませんよね?
>>ソースを読む限り開発時のトレースログって感じで、
>>エンドユーザには無縁な機能に思えるのですが?
>
> 個人的にはせっかくオンラインソフトなのですから、開発者とユーザー
>の間に壁を作りたくないですし、「舞台裏を見せる=マイナス」ではないと
ちょっとお話しの観点が食い違ってきますので、
整理します。
1: STDERR出力について細かい取り決めは無い
2: デバックのメッセージを残してリリース
3: ファイルが大きくなる事が気になるならような
神経質な人(私)は自力で直す?
[0343] 01/03/14 10:09 DADA(Tw8cNPGTO/M): Re:342)RE:INCM用plug-in for HyperBBSについて
迅速な対応 及び わざわざソースに名前まで入れていただき ありがとうございました(^^
まだしばらく 98を使いつづけるつもりなので 何か有ったらまた宜しくお願いしますm(_ _)m
[0342] 01/03/14 08:49 一 五明(YMjHyfzdazU): Re:341)RE: . INCM用plug-in for HyperBBSについて
>linesが関係ないことが判りました。
って、これ、当時悩んだんですよ(^^;;;(諦めてました)
差し替えておきました。
→ http://kt.sakura.ne.jp/~timeflow/M/CM_HB012.LZH
ちなみにどるこむ読むために作ったんですが、最近読んでなかったです。
(まだメインマシンは98ですが)
http://kt.sakura.ne.jp/~timeflow/M/
[0341] 01/03/14 06:09 DADA(CUYPAFIX46w): Re:340). INCM用plug-in for HyperBBSについて
自己レスです(^^;
今 HyperBBS 3.0c のソースを調べたところ
linesが関係ないことが判りました。
ただ 正常に動作していないのは事実なので
&httpreq('mode=regist&option=line%3D'.$pagecnt) || last MAIN;
と修正するだけで良いみたいです。
よく実験しないで登校してすみませんでしたm(_ _)m
[0340] 01/03/14 05:49 DADA(CUYPAFIX46w): INCM用plug-in for HyperBBSについて
INCM及び 一 五明様作成の Plug-in とても便利に使わせていただいてます。
ありがとうございます。
本題なのですが
どるこむ という掲示板で 取得記事の目安 というのを設定しても上手く反映されて無いようです。
#実際には 20記事ほどしか持ってこない
HyperBBS 3.0c を調べてみた所
line= で大きな数字を指定しても lines= で指定した記事までしか持ってこなくて
lines を指定しなかった場合 管理人が設定した記事数(デフォルト20) を読み込むことが判りました。
そこで cm_HyperBBS.pl の89行目の
&httpreq('option=LINE='.$pagecnt) || last MAIN;
を
&httpreq('mode=regist&lines='.$pagecnt.'&option=line%3D'.$pagecnt) || last MAIN;
と書くことにより正常に動作するようになりました。
もし、お時間有りましたら、修正をお願いしますm(_ _)m
乱文失礼しました。
[0339] 01/03/07 20:24 Buckeye(UnTUYw5MC2c): Re:337)Perl入門
私もで〜す!
おかげで、自分が必要とするプログラムくらいは、Perlで作れるようになりまし
た。翻訳の仕事で使うツールを、あれこれ作ってます。
Best Regards,
Buckeye
[0338] 01/03/07 16:27 GETWILD'74(Qk25uvB38zc): Re:335)RE: ご挨拶
>parlの知識が皆無なのでスクリプトでもできたら楽なのになぁ。
HTMLとPerlの基礎が分かれば出来ますよ。
挑戦してみて下さい。
[0337] 01/03/07 16:27 GETWILD'74(Qk25uvB38zc): Re:336)RE: cm_TreebbsTerra.pl
>INCMがプログラムの入門環境として役に立てば面白いと思うのです。
私はまさにプラグイン改造がPerl入門になりました。
[0336] 01/03/07 07:51 一 五明(YMjHyfzdazU): Re:333)RE: cm_TreebbsTerra.pl
>ありますが、エラーでもない時にSTDERR(ErrorLog.txt)へ保存する事は
>仕様的に誤りでは無くて、INCMが再起動時にErrorLog.txtを初期化していない
>って事が Bug なのでしょうか?
そう厳密に仕様を決めてない部分が多いんですよ(^^;
Perlの実行時エラー見てトラブルシューティングにも使えるし、巡回窓に
表示しきれない詳細情報を書き出しておくにも使えるし、好きに使えばいい
ということみたいです。
なわけでバージョンによって多少変わってるかも知れません。
気になるなら最初のほうに
unlink("errorlog.txt") if(-e "errorlog.txt");
とでも入れてみれば本体側の処理がどうあれ消えるでしょう。
>ソースを読む限り開発時のトレースログって感じで、
>エンドユーザには無縁な機能に思えるのですが?
個人的にはせっかくオンラインソフトなのですから、開発者とユーザー
の間に壁を作りたくないですし、「舞台裏を見せる=マイナス」ではないと
思います。中身に興味持ってもらえるきっかけになるかもしれませんし、
INCMがプログラムの入門環境として役に立てば面白いと思うのです。
http://kt.sakura.ne.jp/~timeflow/M/
[0335] 01/03/07 00:31 けん(Gyd5JfbPdFQ): ご挨拶
つい一昨日INCMの存在を知り、早速ハマっております。
こんな便利なソフトがあったなんて、もっと早く知っていれば!!
存在を知らない人は掲示板人生の7割損してますね。
作者様、プラグインの作者様に感謝です!
ただ同時にネット上にある掲示板の種類の多さを初めて知り、
「か、通ってるBBSが完全対応できない・・・」
なんて贅沢な望みまで生まれて欲望は天井知らずって感じです。
とりあえずlikeで閲覧はなんとかできているので、
カスタマイズで思考錯誤しております。
parlの知識が皆無なのでスクリプトでもできたら楽なのになぁ。
http://ueno.cool.ne.jp/kenokuda/
[0334] 01/03/06 16:49 オレンヂ。(m7GO9SkNHy6): Re:332)RE: WWWForum Plug-in
GETWILD'74さん お返事ありがとうございます。
> 92行目
> print STDOUT "\nConnecting...";
>
> ↑のようにSTDOUTを入れればOKです。
あああ,お恥ずかしい限りです。こんなところで…。
上記の通り訂正し,正常に記事を取得することが出来ました。
本当にありがとうございました。大感謝ですm(_ _)m
需要がありそうなので書込にも対応し,マニュアルも作成いたしました。
別スレッドにて紹介させていただきたいと思います。
[次のページ]