开发者社区> 老朱教授> 正文

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) = 0) or (pos('=UTF-', Result) <> 0) then
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;



本文转自suifei博客园博客,原文链接:http://www.cnblogs.com/Chinasf/archive/2012/01/11/2319811.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
AVI格式视频文件编码格式缺少编码解释器且该项目的编码格式不受支持(0xc00d5212错误)
AVI格式视频文件编码格式缺少编码解释器且该项目的编码格式不受支持(0xc00d5212错误)
102 0
VS2019 高级保存设置UTF-8编码-源代码乱码问题
VS2019 高级保存设置UTF-8编码-源代码乱码问题
445 0
【问题一】notepad++编辑器写Java代码,无法编译出现错误:编码GBK的不可映射字符
今天在学习“流程控制”一节,用notepad++写代码时,一直报错,无法编译。看了好多遍代码,代码完全正确,非常纳闷。
467 0
新增2款开发工具:base64编码解码,unicode编码解码
最近由于工作需要,制定了一份底层通信协议,为了保证协议顺利传输任意内容,规定数据段必须采用base64编码,来规避其他字符对于协议解析的影响。然后就顺手为本站新增2款开发人员工具。 base64编码解码 体验地址:https://www.opengps.cn/Tools/Base64/Index.aspx unicode编码解码 体验地址:https://www.opengps.cn/Tools/Unicode/Index.aspx 原文地址: https://www.opengps.cn/Blog/View.aspx?id=382 文章的更新编辑依此链接为准。
1138 0
错误:编码GBK的不可映射字符的解决办法
最近在重新补javaSE的基础,编辑器编写完代码以后,在控制台运行代码段的时候,出现了以下的错误提示:错误:编码GBK的不可映射字符 在通过查询谷哥和度娘以后emmmm....我找到了错误原因以及解决办法: 错误原因:在控制台编译java源文件时 未使用UTF-8编码格式 由于java的JDK环境是国际版本的编码格式,默认格式为UNICODE的编码格式,而我们国内现在较多使用的编码格式多位UTF-8以及GB2312等编码格式,所以我们要在控制台更改java源程序的编码格式。
4646 0
+关注
老朱教授
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载