获取印第多字符集

时间:2018-10-16 15:03:16

标签: delphi indy

几天前,我写了一个关于“ Delphi&Indy&utf8”的问题,您是谁帮助我解决了utf8中编码的字符集,但有时使用相同的例程来访问具有其他字符集的其他www。

例程是这样的(在delphi xe6中):

var
  Web: TIdHTTP;
  ASito  : AnsiString;
  TStr   : TStringStream;
  hIOHand: TIdSSLIOHandlerSocketOpenSSL;
begin

  try
    Web := TIdHTTP.Create(nil);
    TStr := TStringStream.Create('',TEncoding.UTF8);
    hIOHand := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
    hIOHand.SSLOptions.SSLVersions := [sslvTLSv1,sslvTLSv1_1,sslvTLSv1_2,sslvSSLv23];
    Web.IOHandler := hIOHand;

    Web.Request.UserAgent := INET_USERAGENT;       //Custom user agent string
    Web.RedirectMaximum := INET_REDIRECT_MAX;      //Maximum redirects
    Web.HandleRedirects := INET_REDIRECT_MAX <> 0; //Handle redirects
    Web.ReadTimeOut := INET_TIMEOUT_SECS * 1000;   //Read timeout msec
    Web.ConnectTimeout := INET_TIMEOUT_SECS div 2 * 1000;

    try
      Web.Get(FUrl,TStr);
      Sito := TStr.DataString;
    except
      on e : exception do
        Sito := 'ERR: ' +FUrl+#32+e.Message;
    end
  finally
    EndTime := Now;
    TStr.Free;
    Web.Free;
    hIOHand.Free;
  end;

在任何www页面上定义字符集代码的方法是什么? 我访问的某些页面位于json中(在这种情况下,我必须使用utf8)。 我尝试了更多选择……但是我无法完善正确的解决方案。

谢谢大家的帮助!

0 个答案:

没有答案