在对接本地的一个药械监管系统使用实现的代码,编译环境delphi Xe7 ,使用类TIdHTTP实现网络的get请求和post提交

//设置组件的属性
procedure TfrmMain.SetHttpParam;
begin
idhtp1.HandleRedirects := True; // 允许头转向
idhtp1.ReadTimeout := 10000;
idhtp1.Request.ContentType := 'application/x-www-form-urlencoded';
idhtp1.Request.CustomHeaders.Clear;
idhtp1.Request.ContentEncoding := 'utf-8';
idhtp1.Request.CharSet := 'utf-8';
idhtp1.Request.AcceptLanguage := 'zh-CN,en,*';
idhtp1.Request.UserAgent := 'Windows';
idhtp1.Request.Connection := 'Keep-Alive';
end; //get请求用例
procedure TfrmMain.btn_GetClick(Sender: TObject);
var
aStream: TStringStream;
apiName, url: string;
// joInfo, joSub: ISuperObject;
begin
apiName := spr_ApiUrl + '/sm-web/api/udi/getUDI';
aStream := TStringStream.Create('', TEncoding.UTF8);
getSign;
url := apiName + '?currentPage=1&TYSHXYDM=' + spr_companyId
+ '&accessToken=' + spr_Sign
+ '&timestamp=' + spr_TimeStamp;
try
idhtp1.get(url, aStream);
aStream.Position := 0;
mmo_Mess.Lines.Clear;
mmo_Mess.Lines.Add(aStream.DataString);
finally
aStream.Free;
end;
end; //post请求用例
procedure TfrmMain.btn_PostClick(Sender: TObject);
var
sl: TStringList;
aStream: TStringStream;
url: string;
begin
url := spr_ApiUrl + '/sm-web/api/biz/add_commodity_stock';
aStream := TStringStream.Create('', TEncoding.UTF8);
sl := TStringList.Create;
try
sl.Add('company_id=' + spr_companyId);
sl.Add('sign=' + spr_Sign);
sl.Add('timestamp=' + spr_TimeStamp);
sl.Add('common_name=人工合成蛋白');
sl.Add('commodity_name=人工合成蛋白');
sl.Add('size=50mg/盒');
sl.Add('unit=盒');
sl.Add('approval_no=XR203397446488');
sl.Add('manufacturer_name=济南泰森制药');
sl.Add('num=10');
sl.Add('batch_no=20230601X');
sl.Add('manufacture_date=2022-01-30');
sl.Add('expiry_date=2026-12-31');
sl.Add('in_storage_date=2023-06-01 00:00:00');
sl.Add('customer_name=临沂华瑞医药公司');
sl.Add('repertory_name=01');
sl.Add('goodseat_no=01');
sl.Add('base_id=1');
sl.Add('upload_type=add');
idhtp1.Post(url, sl, aStream);
aStream.Position := 0;
mmo_Mess.Text := aStream.DataString;
finally
sl.Free;
aStream.Free;
end;
end;

delphi中实现http请求和提交的更多相关文章

  1. PHP--------TP中的ajax请求

    PHP--------TP中的ajax请求 以jQuery中的ajax为例: (1)引入jQuery 通过模板替换表示路径,我们可以自定义模板替换变量(在config中定义) /*自定义模板替换标签* ...

  2. delphi中midas是什么

    Delphi中MIDAS到底是什么呢?和他相关组件是什么呢?   MIDAS(Multitiered Distributed Application Services)多层分布式应用服务.   Del ...

  3. ASP.NET 程序提交表单数据中带有html标签不能提交或者提交报错问题

    今天在公司做另外的一个项目,又奇葩的遇到一个问题. 在本地自己电脑上怎么测试都是正常的.但是先上服务器就出问题: 用富文本编辑器上传一篇文章,始终报错,又没提示具体什么错误,也没说代码错误,点击提交按 ...

  4. HTTP协议---HTTP请求中的常用请求字段和HTTP的响应状态码及响应头

    http://blog.csdn.net/qxs965266509/article/details/8082810 用于HTTP请求中的常用请求头字段 Accept:用于高速服务器,客户机支持的数据类 ...

  5. delphi 中几种多线程操作方式

    在了解多线程之前我们先了解一下进程和线程的关系 一个程序至少有一个主进程,一个进程至少有一个线程. 为了保证线程的安全性请大家看看下面介绍 Delphi多线程同步的一些处理方案大家可以参考:http: ...

  6. 谈Delphi中SSL协议的应用(好多相关文章)

    摘要:本文主要介绍如何在Delphi中使用SSL协议.一共分为七个部分:(1)SSL协议是什么?(2)Delphi中如何使用SSL协议?(3)SSL客户端编程实例.(4)SSL服务端编程实例.(5)S ...

  7. 老陈---谈Delphi中SSL协议的应用[转]

    摘要:本文主要介绍如何在Delphi中使用SSL协议.一共分为七个部分:(1)SSL协议是什么?(2)Delphi中如何使用SSL协议?(3)SSL客户端编程实例.(4)SSL服务端编程实例.(5)S ...

  8. delphi 中sql的语法规范

    1.引号配对:  这是在Delphi使用SQL语句时容易出错的地方,由于delphi规定在字符串中用两个西文的单引号“''”表示一个“'”,在拼装语句的时候就容易疏忽遗漏.  Delphi里有个函数Q ...

  9. DELPHI中多线程知识【转】

    本文的内容取自网络,并重新加以整理,在此留存仅仅是方便自己学习和查阅.所有代码均亲自测试 delphi7下测试有效.图片均为自己制作. 多线程应该是编程工作者的基础技能, 但这个基础我从来没学过,所以 ...

  10. Delphi中String类型原理介绍

    Delphi中字符串的操作很简单,但幕后情况却相当复杂.Pascal传统的字符串操作方法与Windows不同,Windows吸取了C语言的字符串操作方法.32位Delphi中增加了长字符串类型,该类型 ...

随机推荐

  1. MQTT应用:Air780EP低功耗4G模组AT开发

    ​ 终于要讲一讲MQTT应用! 本文应各位大佬邀请,详细讲解Air780EP模组MQTT应用的多个AT命令. Air780EP是低功耗4G模组之一,支持全系列的AT指令以及LuatOS脚本二次开发. ...

  2. VMware使用及CentOS 7安装配置

    本文是在VMware虚拟机下安装CentOS 7的,并不是在物理机下直接安装.无论是在学习上还是工作上都建议在虚拟机安装Linux系统来进行实验.这样就算实验失败,或者系统崩溃.只需要使用虚拟机的快照 ...

  3. Apache Log4j2远程命令执行漏洞复现

    目录 漏洞原理 复现 漏洞修复 Apache Log4j2 是一个基于Java的日志记录工具,被广泛应用于业务系统开发,开发者可以利用该工具将程序的输入输出信息进行日志记录.Log4j2 远程代码执行 ...

  4. python 自动下载 moudle

    import sys,re,subprocess import os from subprocess import CalledProcessError new_set = set() ls = se ...

  5. Git clone报错“Connection was reset, errno 10054”

    前情 最近在使用一个UI库的时候,发现其中一个BUG,于是想尝试提一个PR. 坑位 我平时习惯用https的方式拉取代码,发现在clone代码的时候一直失败,错误提示:OpenSSL SSL_read ...

  6. DA14531芯片固件逆向系列(1)-固件加载和逆向分析

    首发于先知论坛 https://xz.aliyun.com/t/9185 前言 本文介绍逆向DA14531芯片的固件,并介绍一些辅助自动化分析的脚本的实现.DA14531是Dialog公司研制的蓝牙芯 ...

  7. WinForm 通用权限框架,简单实用支持二次开发

    前言 开发一个安全.灵活且易于维护的应用程序是至关重要的.特别是在企业级应用中,权限管理不仅涉及到用户访问控制,还关系到数据的安全性和系统的稳定性. 推荐一款 WinForm 通用.完整的权限架构开发 ...

  8. Vue2 面试题 (2023-09-22更新)

    基础 Vue2.0 兼容 ie 哪个版本? 不支持 ie8,部分兼容 ie9,完全兼容 ie10 因为 vue 的响应式原理是基于 es5 的 Object.defineProperty 这个方法不支 ...

  9. Kafka Streams 在监控场景的应用与实践

    作者:来自 vivo 互联网服务器团队- Pang Haiyun 介绍 Kafka Streams 的原理架构,常见配置以及在监控场景的应用. 一.背景 在当今大数据时代,实时数据处理变得越来越重要, ...

  10. 关于 Envoy on Windows

    Window Image in hub.cocker.com envoy 的镜像位于 https://hub.docker.com/u/envoyproxy 之下,其中 Windows 包括如下 4 ...