No. : 780 Sender: Umjammer URL : Title : 報告ですー。 30番あたりの書き込みを参考にしてやってみました。 HP 200LX+Paldio611Sという環境下で、HTTPGETでもって掲示板への書き込み成 功しました。でもまだ半手動url-encode処理をして、かつASCII文字のみですが。 書き込みをした掲示板はT-CUPの掲示板(MiniBBS互換!?)で、まあ具体的には下 記アドレスです。LX系の掲示板なんですが。 http://www62.tcup.com/6207/proteus.html ところで、 コード変換 > Qエンコード > URLエンコード という処理を経て初めて日本語が使えるということですが、(東Bの火事で消滅 してしまったという)具体的なところを教えてほしいのです。 コード変換はNKFやQKCでOKとしてQエンコードですが、DOS上でQエンコードでき るツールがよくわかりませんでした。 MPACKは、デフォルトではBASE64でエンコードしますが。マニュアルを読んで も、エンコードの種類を変えられるスイッチはないようでした。 ほかに適当なものも見つからず。 どうかDOS上でQエンコードできるツールを教えて下さい。 URLエンコードについていろいろ調べてみますと、特に複雑な処理でもなく、単 なる置換でいけるものだということがわかりました。 jperl urlenc.pl kakiko.tmp > kakiko.bod みたいな。 Web上で見つけたURLエンコードの手順としては以下のようなものがありました (ほんとはちょっと違うけど、自分でわからないなりにスクリプトとして完結さ せてみた)。これでOKですか? なんか結果が違うんですけど。空白が「%20」に なったりとか。後述の「半手動」で使っているcgiだと半角スペースは「+」にな りますね。 #!/usr/local/bin/perl While(<>){ s/(\W)/sprintf("%%%02X", ord($1))/eg; print; } 冒頭の「半手動」とは、そういう処理をするcgiを自分のWebスペースで実行さ せて、そこからコピーペーストした、ということを意味してます。 http://homepage2.nifty.com/buckeye/software/dl.htm そのcgiとは、上記のURLからダウンロードできる「フォーム解析ツール」のこ とです。このツールは大変便利で、書き込みフォームからcgiに渡される引数をす べて表示してくれます。TBBSUPやHTTPGET用の書き込み雛形ファイルを作るのに もってこいです。副産物として、フォームに日本語を入力するとURIエスケープし て表示してくれるのです(^^;(これはサーバのほうでやっているのかな?) >これは RFC をちゃんと読めば \x0D0A が正しいことが分かります. 素朴な疑問なのですが、必然的に改行が入る本文を、どうやって引数のパラメー タとして1行にまとめるかということがわかりません。 普通にフォームから投稿しようとする場合、本文には改行を入れるわけですが、 これがどのような形でcgiに渡っているのかということがわからないわけです。 HTTPGETで書き込みをアップしようとする場合、目的のWebBBSのcgiにPOSTアク ションで与える引数を、「Request-Entity-Body:」に記述するファイル内に1行に まとめる必要があります。1行にまとめつつ改行を活かしたい場合、どうするかと 僕が考えると、本文部分のみに以下のスクリプトを適用して、\x0D0Aを<BR>に 変換して1行にまとめてしまう、という単純な方法を思い浮かべてしまいます。 #!/usr/local/bin/perl While(<>){ s/\x0D\x0A|\x0D|\x0A/<BR>/g; print; } これでよいですか? Qエンコードする前にこの処理をするか、それともQエンコードすることでCR+LFも エンコードされる? で1行にまとまる? バカなこといってたらすいません。