zoukankan      html  css  js  c++  java
  • delphi请求http接口中文乱码问题

    请求http接口的时候参数值是中文乱码:

    http接口一般都是由java,php以及C#开发而成的,乱码的原因也是由于编码的问题,一般传递数据的都是utf8,然后传递的时候都会urlEcode

    那么delphi如何解决这个问题呢?

    请看下面的实例,实例中的“哈哈”二字就是中文:

    procedure TClientForm.Button77Click(Sender: TObject);
    var paramStream: TIdMultiPartFormDataStream;
    vResponse: TStringStream;
    filename, vres: string;
    vList: TStringList;
    jsonstr,signStr,timestamp,sign: string;
    begin
    //生成sign
    timestamp := FormatFloat('#', DateUtils.MilliSecondsBetween(Now, StrToDateTime('1970-1-1')) - 8 * 60 * 60);
    signStr:='schNo=1000066&schRecords='+httpencode(UTF8Encode('哈哈'));
    sign:=MD5.StrMD5(signStr);
    paramStream := TIdMultiPartFormDataStream.Create;
    vResponse := TStringStream.Create('');
    vList := TStringList.Create;
    // paramStream.AddFile('FileInputStream', 'D:1.xlsx', GetMIMETypeFromFile('D:1.xlsx'));

    //paramStream.AddFormField('fileName', UTF8Encode('1.xlsx'));
    paramStream.AddFormField('signature', sign);
    paramStream.AddFormField('schRecords', UTF8Encode('哈哈'));
    paramStream.AddFormField('N', '1');
    IdHTTP1.Post('http连接', paramStream, vResponse);
    vres := (vResponse.DataString); //Utf8ToAnsi

    Memo1.Text := Utf8ToAnsi(vres);
    // ShowMessage(vres);
    end;

  • 相关阅读:
    声明:此资源由本博客收集整理于网络,只用于交流学习,请勿用作它途。如有侵权,请联系, 删除处理。
    注入点归纳
    网站入侵思路
    关于网上的“人肉”里面的技巧,简单解释
    SQL注入复习
    自己构造注入点方便入侵
    SQL通常注射的一些介绍
    AWVS13破解版安装_Windows
    黑页
    显ipQQ
  • 原文地址:https://www.cnblogs.com/xwgcxk/p/7239748.html
Copyright © 2011-2022 走看看