68user's page 掲示板

Prev< No. 1461> Next  [最新発言に戻る] [過去ログ一覧]
No. 1461 # 68user 2000/12/14 (木) 02:38:32
@1458 masa さん
> UNIXでsendmailを使ってメールを送信するスクリプトをPerlで作ろうと
> 思っているのですが、添付ファイルを付けることは可能なのでしょうか?
モジュールが使えるなら
    http://www.parkcity.ne.jp/~chaichan/qanda/qa425.htm?00-12-13-19-49
で、ふじさんが述べておられる方法がお勧めです。

@1459 M.K さん
> これを最終金曜日だけ11:00起動でそれ以外は12:00に起動させる
> っていう方法はあるんでしょうか?
少なくとも FreeBSD の crontab では、それを実現する簡単な
方法はありません。
    金曜日の 11:00
    毎日 12:00
という二つのエントリを作って、スクリプト内で
    最終金曜日で12時台なら、処理終了
    金曜日 && 最終金曜日でない && 11時台なら、処理終了
とするのがいいでしょう。

試してませんが、*BSD や GNU の date なら、
    date +%m … 現在の月を求める
    date -v+7d +%m … 一週間後の月を求める
を利用して
    0 11 * * 5 [ `date +%m`!=`date -v+7d +%m` ] && run-script
    0 12 * * * [ `date +%w'!='5' -o `date +%m`!=`date -v+7d +%m` ) ] && run-script
てなことが可能かもしれません (条件合ってるかな?)。

@1460 辻さん
foo.cgi?.... という GET 形式は、? 以降の文字が QUERY_STRING
(疑問符文字列) という名前で取り出せることからわかるように、
? はエンコードする必要はありません。疑問符であることが重要なのです。

> URLのエンコードの対象はURL全てですか?
全て、というかパス (/~user...) も含めてエンコードが必要です。
ただし、引数を渡したい場合は ? はエンコードしません。
でなくて、ファイル名の一部に ? が含まれる場合は
エンコードが必要です。

この掲示板の上にある発言フォームから文字を入力すると、
    Name … 68user
    Email … 68user@X68000.startshop.co.jp
    Message … ほげほげ
というような、対応関係が生まれます。このようなフォームで
生成されたデータを POST で送るとき、クライアントは
application/x-www-form-urlencoded という mime type で
送信しなければいけません。「HTTP クライアントを作ってみよう」
では手抜きして送ってませんが、本来は送るべきです。

で、GET の場合も同様に x-www-form-urlencoded 形式ならば
?foo=bar は ?foo=bar でよいです。= は URL エンコードしません。
しかし、そうではなく 「foo=bar」という引数を渡したいのなら
?foo%3Dbar となります。

というふうに、本当は /~user/hoge.cgi?fuga=ABC!"$ DEF+
という例だけでは、どこをエンコードすべきかは明確には
なりません。なので、あの解説はあまりよろしくないですね。

例えば hoge.cgi?foo=bar&def=ghi は、フォームに foo、
bar という要素があるならこのまま送ればよいですが、
foo=「bar&def=ghi」という意味なら foo=bar%26def%3Dghi」
とすべきです。どちらなのかは hoge.cgi?foo=bar&def=ghi
だけでは正確には判断できません。

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