IdHTTPのGetで範囲チェックエラー


ボンビー  2007-03-09 23:11:30  No: 25225  IP: [192.*.*.*]

こんにちは

IdHTTPでヤフー(http://www.yahoo.co.jp)をGetすると
範囲チェックエラーが出てしまいます。

過去ログを検索した結果、同じような症状のログを
見つけたのですが、エラー内容が違うため投稿させて頂きました。

[開発環境]
WindowsXP+SP2
Developer Studio 2006
Indy10

よろしくお願いします。

編集    削除
みえない  2007-03-10 00:52:55  No: 25226  IP: [192.*.*.*]

IdHTTPでヤフー(http://www.yahoo.co.jp)をGetしただけでは
そんなエラーは出ない。Getしてからナニしてる?

編集    削除
ボンビー  2007-03-10 01:39:16  No: 25227  IP: [192.*.*.*]

返信ありがとうございます。

実際のソースはボタン押下時に下記の処理をさせているだけです。
var
Contents:string;
begin
IdHTTP1 := TIdHTTP.Create;
Contents := IdHTTP1.Get('HTTP://www.yahoo.co.jp');
end

もしかして、String型にコンテンツを突っ込んでるのが問題なのでしょうか?

もしそうならこの後の処理で取得したHTMLから正規表現を使って部分的に
文字列を取り出したいと考えているのですがどうしたらいいのでしょうか?

よろしくお願いします。

編集    削除
ボンビー  2007-03-10 02:06:01  No: 25228  IP: [192.*.*.*]

その後、他のサイトに同様のことをすると全く問題なく
Contents変数にHTMLを格納することに成功しました。
・Google(Shift-jis)  ○
・Goo(UTF-8)  ○
・Yahoo(EUC-JP)  ×

やっぱり文字コードとかの影響でしょうか

編集    削除
まだみえない  2007-03-10 06:37:57  No: 25229  IP: [192.*.*.*]

他のEUCサイト(http://www.infoseek.co.jp/など)では?
ホントにそこで範囲チェックエラーが出るなら「スイッチ指令」入れてみたら?
{$R-}
  Contents := IdHTTP1.Get('HTTP://www.yahoo.co.jp');
{$R+}

編集    削除
ボンビー  2007-03-10 06:52:54  No: 25230  IP: [192.*.*.*]

Infoseekは問題ありませんでした。
ほかのEUCサイトもやってみましたがエラーでませんでした。
スイッチ命令の使い方がよくわかりません。
間にはさんでコンパイルすればいいのでしょうか?

編集    削除