multipart/form-dataにハマる

HTTPでのファイルアップロード。

  • boundaryは区切りだけど正確には違う(区切り部分には--が増えていたりとか)
  • 各パーツのヘッダーフィールドは改行コードがCRLFだけど、Content-Lengthは{0x0d,0x0a}で1しかふえない(octet-streamのファイルパーツはそれ自体のバイト数を数える)


テキトーに昔作ったときの感覚で作っていたら、Apacheが『Malformed multipart POST』とerror_logに吐いてて、どう変なのか分からなかったのでFirefoxでの送信と比べたら上記の内容でした。それで実装したらうまくいった。

先に仕様(RFC)を読めっつー。
いやー昔見たときは……。本当は勘的なものでやってしまいました。