码迷,mamicode.com
首页 > Windows程序 > 详细

Delphi 实现 图灵机器人API(IDHTTP POST )

时间:2016-07-18 02:30:01      阅读:288      评论:0      收藏:0      [点我收藏+]

标签:

      此功能所需的 Key及接口文档,都可以在图灵机器人的官网下载, 小伙伴们需要申请自己的图灵机器人账号。

      申请方法请自行百度“图灵机器人”  。

      登录账号后,在左侧的[机器人接入],获取需要的信息,记得一定要关闭 secret,开启的话,需要对请求进行特殊处理,具体处理方法可以看接口文档中的“数据加密Demo”,当然Java 开发的小伙伴可以直接使用Demo(流行的语言真好,东西都是现成的)

     

技术分享

      下面贴出的是POST请求,实现图灵机器人的方法。

unit Demo;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,IdHTTP;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Edit1: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    function SendMsg(Msg : string) : string;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TForm1 }

function TForm1.SendMsg(Msg : string) : string;
var
  idhttp :  TIdHTTP;
  url,ResquestStr,ResponseStr : string;
  ResquestStream,ResponseStream : TStringStream;
begin
  Result := ‘‘;
  idhttp := TIdHTTP.Create(nil);
  idhttp.Request.ContentType := ‘‘;

  //info 传递信息需要 UTF8 加密,否则机器人不能正确识别
  ResquestStr := {"key":"你的KEY","info":"+ UTF8Encode(Msg) +","userid":"demo1"};

  //将传递的信息,写入请求流
  ResquestStream := TStringStream.Create(ResquestStr);
  ResponseStream := TStringStream.Create(‘‘);
  url := http://www.tuling123.com/openapi/api;
  try
    try
      //发起请求
      idhttp.Post(url,ResquestStream,ResponseStream);
    except
      on e: Exception do
      begin
        ShowMessage(出现异常: + e.Message);
      end;
    end;
    //获取响应的信息
    ResponseStr := ResponseStream.DataString;
    //响应的信息需要进行 UTF8 解密 
    ResponseStr := UTF8Decode(ResponseStr);
    Result := ResponseStr;
  finally
    idhttp.Free;
    ResquestStream.Free;
    ResponseStream.Free;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  acceptInfo : string;
begin
  //向图灵机器人发送信息,并获取返回
  acceptInfo := SendMsg(Edit1.Text);
  //将信息在界面上显示
  Memo1.Lines.Add(acceptInfo);
end;

end.

大概的方法就是这样了

题外话:虽然实现了图灵机器人API,图灵机器人有自己的NLP知识库,但是如何活用知识库,扩充我们的机器人,实在是没啥好的方向,哪位小伙伴有兴趣可以指教下

     

 

Delphi 实现 图灵机器人API(IDHTTP POST )

标签:

原文地址:http://www.cnblogs.com/limingliyu/p/5679792.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!