delphi xe11 HTTP Authorization头传递签名信息,不知道怎么做 ?

aidpoint20126 2023-01-15 15:10:30

 

微信支付商户API v3要求请求通过HTTP Authorization头来传递签名。 Authorization认证类型签名信息两个部分组成

签名已经做好了的,就是这个HTTP Authorization头传递签名,不知道怎么搞?

delphi xe10 idhttp组件,get方式发送

procedure Tfrmmain.Button72Click(Sender: TObject);
var url:string;
    resdata:TStringStream;
begin
    url:='https://api.mch.weixin.qq.com/v3/profitsharing/bills?'+
          'sub_mchid=3453524234s&bill_date=2023-01-10';
    requestStr:='WECHATPAY2-SHA256-RSA2048 '+#10+
                'mchid=3453524234s,'+
                'nonce_str='+nonce_str+','+
                'timestamp='+timestamp+','+
                'signature='+trim(memo18.Text)+','+
                'serial_no=20F06C79521t54dfg345sfAA0E077AD3F5742484';
    resdata:=TStringStream.Create('',Tencoding.UTF8);
    idhttp1.HandleRedirects:=true;
    //idhttp1.Request.Authentication 这个不知道怎么用?
    idhttp1.Request.CustomHeaders.AddValue('Authorization',requestStr);
    idhttp1.Request.ContentType:='application/json';
    idhttp1.Request.CharSet:='UTF-8';
    idhttp1.Response.ContentType:='application/json';
    IdHTTP1.Get(url,resdata);
    memo5.Text:=resdata.DataString;
end;

 

...全文
223 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhang_y_b 01-18
  • 打赏
  • 举报
回复

建议使用TNetHTTPClient,支持https,不需要libeay32.dll和ssleay32.dll这两个文件。
NetHTTPClient.CustomHeaders['Authorization'] :=authorization;

tanqth 01-16
  • 打赏
  • 举报
回复

不需要requestStr

你把你现在requestStr里的,分别处理:

idhttp1.Request.CustomHeaders.AddValue('mchid',‘3453524234s’);
idhttp1.Request.CustomHeaders.AddValue('nonce_str',nonce_str);

........

5,284

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧