delphi通过Idhttp和php交互

最近需要做delphi和php交互的方法;

就把这2个方法写了下

一,Get方法

const Url = 'http://www.cnblogs.com';
procedure TForm1.Button1Click(Sender: TObject);
var
  stream: TStringStream;
  idHttpObj: TIdHTTP;
begin
try
  stream := TStringStream.Create('', TEncoding.UTF8); //中文就不会乱码了
  idHttpObj := TIdHTTP.Create(nil);
  idHttpObj.Get(Url, stream);
  Memo1.Text := stream.DataString;
finally
  idHttpObj.Free;
  stream.Free;
end;

二,POST方法,优点是比Get安全,我是通过json格式传送的;

  

(*********************************************************
    获取web返回的信息
    paramJson 参数,格式如下
    '{"name":"myname","ID":"12356"}'
*********************************************************)
function GetWebData(URL:string;paramJson:string):string;stdcall;
var
  slist : TStringList;
  http : TIdHttp;
begin
  try
    http := TIdHttp.Create;
    slist := TStringList.Create;
    slist.Text := 'json='+paramJson;//加入json,方便php调用
    result := http.Post(URL,slist);
  finally
    http.Free;
    slist.Free;
  end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
  memo1.lines.Add( GetWebData(URL,'{"key":"DFDGBFSE$#$$R","name":"中文","id":123456}') );
end;

  

通过PHP获取delphi发生的数据

<?php
    $value = json_decode( $_POST['json'] );
    var_dump($value);
?>

 

  

 

转载于:https://www.cnblogs.com/delphiclub/p/4409333.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值