« 全然だめじゃん | トップページ | INCMプラグインを公開 »

2004/06/06

TIdHttp

OTN-JP Code Tips用INCMプラグインの作成中に、またしてもIndyのおかしな挙動に出会した。

Tips#250だけが正常に読み取れない。Content-Length: 13136 となっているのに、2600バイト程度しか読み取れず途中で切れてしまう。他の108件については問題ない。

拙作のHttpObserverを経由するときちんと最後まで取得できる。あれはTIdTcpClientを使っているから大丈夫なのであって、やっぱりTIdHttpの問題に違いない。そういえば、cm_NifWebForumDのときも問題ありでTIdTcpClientを使うようにしたんだった。

やっぱりだめかなあ。TIdHttpを使って↓のようにしてるだけなんだけどなあ。だれか教えてくれないかなあ。

s := IdHttp1.Get('http://otn.oracle.co.jp/otn_pl/otn_tool/code_detail?n_code_id=250');

|

« 全然だめじゃん | トップページ | INCMプラグインを公開 »

コメント

その後、IdHTTPの具合はどうですか?
私も同じところではまっています。(^_^;
Hotmailのプラグインなんですが、特定の条件下でreset by peerが発生します。同じソースでプロキシ経由にすると問題が出なくなったりしますし、そもそも不具合報告を聞いていないので他の人は大丈夫なのかなぁと思ったりしていますが。
IOHandlerでWaitを入れればと思ったのですが、そういうことでもないみたいですし、今のところお手上げ状態です。

TIdTcpClientで作り直すのは手間が大きいんですよね。

投稿: ポン太 | 2004/10/07 11:13

すみません、見逃してました。m(__)m

結局、ソースを読んでも理解できず、TIdTcpClientを使ってしまったので、原因がわからないままです。

そんな事を忘れて、今回もTIdHttpを使ってるんですよ。^^;

投稿: tomomori | 2004/10/08 09:19

私の方は解決しました。結論としては正常なCookieを渡していなかったのが良くなかったらしいです。
お騒がせしました。m(_ _)m

http://yutaro.air-nifty.com/hitorigoto/2004/10/hotmail095.html

p.s.
しかし調査の過程でtomomoriさんと同じ現象が出たはずなんですが、、、。(^_^;
tomomoriさんのところももしかしたらCookieが悪さをしている可能性はありません?変なCookieを渡すことでホスト側が強制的に切断しているとか。(?)

投稿: ポン太 | 2004/10/08 13:44

解決、おめでとうございます。

http://tomomori.cocolog-nifty.com/blog/2004/06/setcookie.html
クッキーはTIdCookieManagerの↑の件を修正したものを使ってますが、TIdTcpClientを使う場合でも同じものを使っているのでここは考えにくいです。でも、あとで確認してみます。

投稿: tomomori | 2004/10/08 17:17

OTNのテストをやってみましたが、Cookieは関係ないようです。
2千バイト台しか受信できないですね。他の番号はちゃんと行くのに。試しにIOHandlerでWaitをかけてみると10千バイト台まで増えました。が、それでもすべて受信はできません。
不思議ですねぇ。

ちなみにHotmailのプラグインの方で、送信を試すとまた新たな不具合が見つかりました。(^_^;これもCookieがらみみたいです。
Hotmailも微妙な修正を入れてくれるから、こっちの修正が大変です。そもそもIndyがデフォルトでCookieをちゃんと処理してくれないのが悪いのですが。

投稿: ポン太 | 2004/10/08 19:52

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/36845/721218

この記事へのトラックバック一覧です: TIdHttp:

« 全然だめじゃん | トップページ | INCMプラグインを公開 »