delphi函数,识别字符集编码


纪念不用 Delphi 开发7周年

 函数,获取web page文本,识别字符集编码;

 1  function CreateHttpRequest(proxyServer:  string =  ''; proxyPort: integer =  0):
 2   TIdHTTP;
 3  function DecodeHttpRequestText(InString:  string):  string;
 4  implementation
 5 
 6  { $R *.dfm }
 7 
 8  function DecodeHttpRequestText(InString:  string):  string;
 9  begin
10   Result := UpperCase(InString);
11   //google,baidu,cnblogs,localhost等测试ok...
12    if (Pos( ' CHARSET= ', Result) =  0or (pos( ' =UTF- ', Result) <>  0then
13     InString := Utf8Decode(InString);
14   Result := InString;
15  end;
16 
17  function CreateHttpRequest(proxyServer:  string =  ''; proxyPort: integer =  0):
18   TIdHTTP;
19  begin
20   Result := TIdHTTP.Create( nil);
21    with Result  do
22    begin
23     HandleRedirects := true;
24     HTTPOptions := [hoForceEncodeParams];
25     ReadTimeout :=  30000;
26     Request.Accept :=
27        ' image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */* ';
28     Request.AcceptLanguage :=  ' zh-cn ';
29     Request.ContentType :=  ' application/x-www-form-urlencoded ';
30     Request.UserAgent :=
31        ' Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 4.0) ';
32      if (proxyServer <>  ''then
33       proxyParams.ProxyServer := proxyServer; // ' 代理服务器地址 ';
34      if proxyPort <>  0  then
35       proxyParams.ProxyPort := proxyPort; // ' 代理服务器端口 ';
36    end;
37  end;
38 
39  procedure TForm1.btn1Click(Sender: TObject);
40  var
41   getstr:  string;
42  begin
43   mmo1.Lines.Clear;
44   getstr :=DecodeHttpRequestText( CreateHttpRequest().Get(edt1.Text));
45   mmo1.Lines.Add(getstr);
46 
47  end;

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM