自定HTTP Client客户端
# PinToo之自定HTTP Client客户端
- 文档号: P-EL-DEM-2029
# 1. 说明
该功能可实现向服务端发送请求,并从服务端返回信息。通过PinToo智慧控制平台,实现向HTTPServer发起连接请求并获取HTTP服务器的返回信息。该示例可与PinToo之自定HTTPServer服务器示例配合使用。在使用以下功能之前,请先确认是否有给予PinToo相应的权限。
通过范例学习,可以掌握HTTP连接请求的发起方式。
# 2. 设计明细
开启PinToo设计器,分别加入下插图之控件。或者点击左上角的[打开模板Lib文件]
,选择模板文件来打开对应模板。

①:TfxEdit组件,控件名称为fxEditHost
。
②:TfxMemo组件,控件名称为fxMemo1
。
③:TfxSuperButton组件,控件名称为fxSuperButtonPage
。
④:TfxEditPort组件,控件名称为fxEditPort
。
⑤:TfxSwitchButton组件,控件名称为fxSwitchButton1
。
⑥:TfxMemo组件,控件名称为fxMemo2
。
fxRunFrame属性设置
Height
:设置页面高度=800
。Width
:设置页面宽度=400
。
①fxEditHost属性设置
Height
:设置控件高度=30
。Width
:设置控件宽度=150
。Name
:设置控件名称=fxEditHost
。Text
:设置编辑框中的文本,设置为服务器地址,例如192.168.0.100
。
②fxMemo1属性设置
Height
:设置控件高度=140
。Width
:设置控件宽度=375
。Opacity
:设置控件透明度=0.8
。
③fxSuperButtonPage属性设置
Height
:设置控件高度=150
。Width
:设置控件宽度=150
。ButtonType
:设置按钮类型,设置为TfxSvgButton
。Name
:设置控件名称=fxSuperButtonPage
。ButtonType.SvgData
:设置SVG数据,其数据内容如下。
<path d="M13.16015625,126.6796875 L26.0228424072266,69.4160003662109 L97.1386566162109,64.9635162353516 L26.0228443145752,60.1400108337402 L13.1601600646973,3 L136.83984375,64.83984375 Z" p-id="8264" fill="#FF2C2C2C" stroke="Null"></path>
1④fxEditPort属性设置
Height
:设置控件高度=30
。Width
:设置控件宽度=90
。Text
:设置编辑框中的文本,设置为服务器地址,例如8806
。Name
:设置控件名称=fxEditPort
。KeyBoardType
:设置按键类型=NumberPad
。
⑤fxSwitchButton1属性设置
Height
:设置控件高度=50
。Width
:设置控件宽度=50
。
⑥fxMemo2属性设置
Height
:设置控件高度=180
。Width
:设置控件宽度=370
。Opacity
:设置透控件明度=0.8
。
# 3. 程序设计
点击程序设计界面右下角的按钮,切换至单元选择界面,勾选需要使用的单元。程序需引用ufxFunctions
单元。
# 3.1. 程序初始设置
该程序无初始设置。
# 3.2. 事件设置
- ③fxSuperButtonPage-OnClick事件
点击按钮以发送HTTP请求。
Procedure fxSuperButtonPageOnClick(Sender: TObject);
var
v: string;
vSQL: String;
Begin
if fxEditHost.Text = '' Then
begin
ShowMessage('请输入地址!');
Exit;
End;
if fxEditPort.Text = '' Then
begin
ShowMessage('请输入端口号!');
Exit;
End;
vSQL := fxMemo1.Lines.Text;
v := fxfun.NetHttpPost('http://' + fxEditHost.Text + ':' + fxEditPort.Text +
'/opensql',vSQL,'text/plain','application/json',nil);
if v <> '' then
fxMemo2.Lines.Add(fxfun.urlDecode(v)); //显示服务器的返回结果
End;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
- ⑤fxSwitchButton1-OnClick事件
点击开关以开启或者关闭日志显示。
Procedure fxSwitchButton1OnSwitch(Sender: TObject);
//日志显示
Begin
fxMemo2.Visible := fxSwitchButton1.IsChecked;
End;
2
3
4
5
# 4. 运行结果
使用鼠标在 PinToo 菜单,点击[保存至数据库]
按钮,将其保存至数据库,点击[调试运行]
确认能够正常打开。

通过同步中心,将程序上传至手机PinToo运行;同步时,请确保手机已经运行PinToo,并且已经登陆。


启动PinToo之自定HTTPServer服务器,在客户端填写服务器地址和端口号,打开日志界面,点击发送按钮,日志栏接收到服务端发送的查询结果JSON数据集。