こんにちは
IdHTTPでヤフー(http://www.yahoo.co.jp)をGetすると
範囲チェックエラーが出てしまいます。
過去ログを検索した結果、同じような症状のログを
見つけたのですが、エラー内容が違うため投稿させて頂きました。
[開発環境]
WindowsXP+SP2
Developer Studio 2006
Indy10
よろしくお願いします。
IdHTTPでヤフー(http://www.yahoo.co.jp)をGetしただけでは
そんなエラーは出ない。Getしてからナニしてる?
返信ありがとうございます。
実際のソースはボタン押下時に下記の処理をさせているだけです。
var
Contents:string;
begin
IdHTTP1 := TIdHTTP.Create;
Contents := IdHTTP1.Get('HTTP://www.yahoo.co.jp');
end
もしかして、String型にコンテンツを突っ込んでるのが問題なのでしょうか?
もしそうならこの後の処理で取得したHTMLから正規表現を使って部分的に
文字列を取り出したいと考えているのですがどうしたらいいのでしょうか?
よろしくお願いします。
その後、他のサイトに同様のことをすると全く問題なく
Contents変数にHTMLを格納することに成功しました。
・Google(Shift-jis) ○
・Goo(UTF-8) ○
・Yahoo(EUC-JP) ×
やっぱり文字コードとかの影響でしょうか
他のEUCサイト(http://www.infoseek.co.jp/など)では?
ホントにそこで範囲チェックエラーが出るなら「スイッチ指令」入れてみたら?
{$R-}
Contents := IdHTTP1.Get('HTTP://www.yahoo.co.jp');
{$R+}
Infoseekは問題ありませんでした。
ほかのEUCサイトもやってみましたがエラーでませんでした。
スイッチ命令の使い方がよくわかりません。
間にはさんでコンパイルすればいいのでしょうか?
ツイート | ![]() |