68user's page 掲示板

Prev< No. 1462〜1464> Next  [最新発言に戻る] [過去ログ一覧]
No. 1462 # nac 2000/12/14 (木) 02:56:19
こんばんは、質問をした本人のレスが遅れて申し訳ありません。
(しかも、ソースまで見て頂いて恐縮です。)

>サーバアプリケーションの名前を教えてください。qpopper ですか?
一般のプロバイダで実験したので、わかりませんでした。
今度他の qmail, sendmail が動いているサーバーで実験してみます。

さて、私も手元にあった、qpopper3.0.2 のソースを眺めてみました。
(POP_TERMINATE は '.' buffer は buffer[MAXMSGLINELEN] (MAMSGLINELEN=1024) と宣言されています)

pop_sendline ( p, buffer )
POP * p;
char * buffer;
{
        char * bp;

        /*
          * Byte stuff lines that begin with the termination octet
          */
        if ( *buffer == POP_TERMINATE )
                (void)fputc ( POP_TERMINATE, p->output );

        /*
          * Terminate the string at a <NL> if one exists in the buffer
          */
        bp = index ( buffer, NEWLINE );
        if ( bp != NULL )
                *bp = 0;

        /*
          * Send the line to the client
          */
        (void) fputs ( buffer, p->output );

        /*
          * Put a <CR><NL> if a newline was removed from the buffer
          */
        if ( bp != NULL )
                (void) fputs ( "\r\n", p->output );
}

これをみると、やはり、\n がなければそのまま出力されて
しまうようですね。なんとなく、最初から、\n があることを
想定しているような感じも受けます。

No. 1463 # 辻 義一 [E-mail] 2000/12/14 (木) 19:31:21
68user さん、何度もありがとうございます。

私は、HTMLにある<A>タグでリンクされているHTMLをGETするプログラムを作っています。フォームに関わるCGIを作ってるわけではないのですが、リンク先が掲示板で?で引数を渡すリンクがある場合は、正しく渡して、取り出したいと考えています。

この場合、GETなのか、POSTなのかはわからないのですが。ブラウザがフォームからの結果以外で単純にリンクから、ページを読み込むときは、GETを使っているのだと思うので、GETでいいのですか?

で、よくわかっていないのですが。この場合も、URLを%とかでエンコードすべきかは判断できないのですか?ブラウザはやっているように思えるのですが。。。

No. 1464 # 68user 2000/12/15 (金) 01:03:53
行頭に「>>1461」または「@1461」と書くと、
>>1461 68user
というふうにリンクを張るようにしました。このとき、自動的に
リンク先の発言者の名前を補完します。「さん」付けは
なしですが、御了承下さい。

また、「>>1461 ほげほげ」と、数字の後に何かを書くと、
>>1461 ほげほげ
とリンクだけが張られ、名前の補完はされません。しかしスクリプトが
どんどん汚くなってきた…。brush up が必要だなぁ。


>>1463 辻 義一
> GETでいいのですか?
foo.cgi?hoge.. という形式なら GET でよいです。

要は、HTML を読んで <A HREF="foo.cgi?hoge=fuga">..</A> という
部分から foo.cgi?hoge=fuga という文字列を切り出した場合、どこを
エンコードすべきかということですよね。普通は何もエンコードせず
デコードせず、そのまま使えばいいと思います。アンカーに書く
URL は既に URL エンコードされているはずだからです。

それを無理にエンコードする必要はないですが、あえて行うならば
?=&%#/.-*_ 以外の記号と 0x80〜0xff はエンコード、でいいのでは
ないでしょうか。

>>1462 nac
> これをみると、やはり、\n がなければそのまま出力されて
> しまうようですね。
そうですね。POP3 サーバとしては、本文の行がどれだけ長くても、
改行は付加しないのが普通ではないかと思います。基本的にクライ
アントにデータを流すだけですから。

Prev< No. 1462〜1464> Next  [最新発言に戻る] [過去ログ一覧]