トップへ(mam-mam.net/)

IndyのTIdHTTPを使って文字エンコードUTF8のサイトをGETするには

検索:

「IndyのTIdHTTPを使って文字エンコードUTF8のサイトをGETするには」

IndyでHTTP通信で字エンコードUTF-8のサイトをGETするには?

回答

Usesに以下ユニットを追加します。
IdBaseComponent,IdComponent, IdTCPConnection, IdTCPClient, IdHTTP

フォームにTMemoとTButtonを配置します。
配置したボタンをダブルクリックして以下ソースを入力します。

ソース

procedure TForm1.Button1Click(Sender: TObject);
var http:TIdHTTP;
    strm:TStringStream;
begin
  http:=TIdHTTP.Create(self);
  //UTF8のサイトの場合
  strm:=TStringStream.Create('',TEncoding.UTF8);
  try
    http.Get('http://mam-mam.net/',strm);
    strm.Position:=0;
    //取得したハイパーテキストを出力
    memo1.Lines.Text:=string(strm.ReadString(strm.size));
  finally
    http.Free;
    strm.Free;
  end;
end;