idHTTP1实现自动登录 中文乱码问题
来源:互联网 发布:微量氧分析仪 淘宝 编辑:程序博客网 时间:2024/06/06 03:10
idHTTP1实现自动登录
procedure TForm1.Button1Click(Sender: TObject);
var
params:tstrings;
begin
idHTTP1.Request.UserAgent:='Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)';
idHTTP1.Request.ContentType:='application/x-www-form-urlencoded; Charset=UTF-8';
idHTTP1.Request.Host:='my.qq.com';
idHTTP1.Request.Connection:='Keep-Alive';
idHTTP1.Request.Accept:='*/*';
idHTTP1.Request.SetHeaders;
idHTTP1.Request.CustomHeaders.Values['Cookie']:= edit4.text;
Params:=TStringList.Create;
params.Add('fp='+'loginerroralert');
params.Add('u='+edit1.Text);
params.Add('p='+edit2.Text);
params.Add('verifycode='+edit3.Text);
params.Add('u1='+'http://my.qq.com');
params.Add('aid='+'8000203');
params.Add('dummy='+'1');
params.Add('h='+'1');
memo1.Text:=idhttp1.Post('http://ptlogin2.qq.com/login',params);
memo1.Text:=utf8toansi(memo1.Text);
end;
var
params:tstrings;
begin
idHTTP1.Request.UserAgent:='Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)';
idHTTP1.Request.ContentType:='application/x-www-form-urlencoded; Charset=UTF-8';
idHTTP1.Request.Host:='my.qq.com';
idHTTP1.Request.Connection:='Keep-Alive';
idHTTP1.Request.Accept:='*/*';
idHTTP1.Request.SetHeaders;
idHTTP1.Request.CustomHeaders.Values['Cookie']:= edit4.text;
Params:=TStringList.Create;
params.Add('fp='+'loginerroralert');
params.Add('u='+edit1.Text);
params.Add('p='+edit2.Text);
params.Add('verifycode='+edit3.Text);
params.Add('u1='+'http://my.qq.com');
params.Add('aid='+'8000203');
params.Add('dummy='+'1');
params.Add('h='+'1');
memo1.Text:=idhttp1.Post('http://ptlogin2.qq.com/login',params);
memo1.Text:=utf8toansi(memo1.Text);
end;
中文乱码问题
Utf8ToAnsi(idhttp.get(url)) :测试过,正确
如果直接用 sText:=MyIdHTTP.Get(url);经常会出现乱码;
如果借用TStringStream;就可以解决这个问题;
比如:
var
url:string;
MyIdHTTP: TIdHTTP;
ss : TStringStream;
begin
ss := TStringStream.Create('', TEncoding.GetEncoding(936));
MyIdHTTP := TIdHTTP.Create(self);
MyIdHTTP.HandleRedirects := True;
MyIdHTTP.Request.ContentType := 'application/x-www-form-urlencoded';
url:='http://www.daizhicun.com';
MyIdHTTP.Get(url,ss);
stext:=ss.DataString;
FreeAndNil(ss);
end;
idhttp get 中文出现乱码的问题
默认是按系统指定locale(CP_ACP)输出的,简体中文系统默认的是gb18030(虽然名义上是gb2312的代码页)。但是indy只对utf-8的编码进行了处理,所以其他编码只能自己想办法处理了,比如这样:
- Delphi(Pascal) code
var ss : TStringStream;begin ss := TStringStream.Create('', TEncoding.GetEncoding(936)); { 指定gb2312的中文代码页,或者54936(gb18030)更好些 utf8 对应 65001} try IdHTTP1.Get(CSURL, ss); IdHTTP1.Get(CSURL); Memo1.Text := ss.DataString; finally ss.Free; end;end;
- idHTTP1实现自动登录 中文乱码问题
- 实现登录 servlet dispatcher 跳转页面中文乱码问题
- 使用SecureCRT登录Ubuntu中文乱码问题
- 登录oracle OEM按钮中文乱码问题
- CAS单点登录中文用户名乱码问题
- SecureCRT登录Linux出现中文乱码问题
- CAS单点登录中文用户名乱码问题
- Servlet 解决中文乱码登录问题
- CAS单点登录中文用户名乱码问题
- struts2实现下载+登录权限验证以及中文处理乱码问题
- SSH Secure Shell登录RedHat 中文乱码问题
- 解决PuTTY登录远程主机的中文乱码问题
- 使用SecureCRT登录Ubuntu及解决中文乱码问题
- putty登录默认安装ubuntu,中文显示乱码问题
- cyask集成UCenter整合中文登录乱码问题
- 解决使用securecrt登录linux系统中文乱码问题
- javadbf 实现解决中文乱码问题
- DevExpress cxSpreadSheet 自动换行时中文乱码问题的解决
- cocos2d中的anchorPoint
-  |"|&|<|>等html字符转义
- linux系统调用和库函数调用的区别
- 如何解包/编辑/打包boot.img文件
- 串的模式匹配算法——KMP
- idHTTP1实现自动登录 中文乱码问题
- 不能用。。实例化抽象类
- Roman to Integer
- mysql 中的异常 Bad file descriptor
- Delphi 三层 TClientDataSet(2)
- svn报错解析
- Android图片二进制与Bitmap、Drawable之间的转换
- 【OpenStack】编程实现对OpenStack的访问
- EnhancedEditor 不可加载编辑器组件