delphi通过Idhttp和php交互


本文整理自网络,侵删。

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

就把这2个方法写了下

一,Get方法

const Url = 'http://www.delphitop.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);
?>

相关阅读 >>

dll 的静态调用实例代码

Delphi 跳出循环的几种方法

Delphi 简单播放mp3

Delphi xe2 - 万一“获取程序自身大小的函数”改进版

Delphi下遍历指定目录下指定类型文件的函数

Delphi webbrowser选中文本操作 设置webbrowser的内容

windows7下使用Delphi7的方法

Delphi 解决android 9上无法使用http协议

win7下使用Delphi7的方法

Delphi win32,win64用于单/多线程计数素数的整数性能比较

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...