トップ «前の日(02-15) 最新 次の日(02-17)»

PC関係のメモ


RSSを吐き出す部分を実装中 / Pound 1.6 + Apache 2.0.48 + PHP 4.3.4のWebサーバにHTTP/1.0を使ってアクセスできない

RSSを吐き出す部分を実装中

パースするのと違ってすごく簡単。RSS - サイト情報の要約と公開を参考にした。

Pound 1.6 + Apache 2.0.48 + PHP 4.3.4のWebサーバにHTTP/1.0を使ってアクセスできない

HTTP/1.0を使っている端末・ツール、たとえば以下のような環境から現象を確認

  • iモード端末(SO505i)
  • wget
  • PHPのPEAR/XML/RSS.php(内部ではソケットとか使ってるのかな?)
  • Google等のクローラ

これらの端末からPoundを通してApache2から呼び出されるPHPが生成したページにアクセスすると、0バイトの空データしか取得できない。もちろんHTTP/1.1なブラウザからはデータが表示される。

原因はPoundの仕様によるものだった。HTTP/1.0の場合Content-Lengthは必須となる、にも拘らずバックエンドのApacheがContent-Lengthを含まないレスポンスをPoundに返した場合にクライアントには空データが渡される。

今回のケースではPHPの生成したページにContent-Lengthが含まれていなかった。解決策としてはPHPで出力バッファリングを使いContent-Lengthを出力するか、Poundの挙動を変更するかどちらか。

幸いPound-Cuurentでそれっぽい修正がされているので試してみたら空データにならなくなった。iモード端末からも確認できた。

PHP側にContent-Lengthを出力する変更も加えよう。

最終更新時刻: 2006年09月30日
コメント(2) [コメントを投稿する]

_ drry [このコメント SPAM のせいで 13 日から RSS がパースエラーっす。]

_ hajime [ほんとですね、ありがとうございます。手動で直しましたー。]


(c)、(tm)、(r) / [todo]ExcelのDiff取ってくれるツールが欲しい / ダイアログのリサイズ(2)

(c)、(tm)、(r)

○にCはCopyright(著作権)。TMはTradeMark(商標)。○にRは、Registrated Trademark(登録商標)です

http://www2.plala.or.jp/kamkamkam/gimon5/newgimon/12gatu/243.htm

ExcelのDiff取ってくれるツールが欲しい

perlのエクセルモジュールとかOLE拡張使ってやるのがいいのか、VB/VBA使うのがいいのか。

親和性とかGUIでオプション指定することとか考えるとVBかな。

Excel + diffとかExcel + compareでちょっと検索

下のは有料で体験版

ダイアログのリサイズ(2)

MoveWindowの第2引数を指定してInvalidate系の関数を使って必要な領域だけ再描画するなりしないとちらつきが目立つ。

DeferWindowPosを使おうと思ったら使用しているActiveXコンポーネントが上手くリサイズされない。というかリサイズ後にフォーカスを移す(そのコンポーネントの再描画が走る)とリサイズ前のサイズに戻ってしまう。

あとプロパティシートもリサイズしたいのでCodeGuruでサンプルを探す。上手く再描画処理やってるサンプルがあると一石二鳥。

最終更新時刻: 2008年10月29日