「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;