在对接本地的一个药械监管系统使用实现的代码,编译环境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. 2023NOIP A层联测9 风信子+P2048 【NOI2010】 超级钢琴 2023

    P2048 [NOI2010] 超级钢琴 2023NOIP A层联测9 风信子 一年 OI 一场空,一道原题见祖宗-- Ps:超级钢琴是风信子的前置题. 超级钢琴 题意 在一段序列上,选择长度为 \( ...

  2. 2023NOIP A层联测32 T3 sakuya

    2023NOIP A层联测32 T3 sakuya 虚伪的期望,彬彬赛时都能 A 的数学题. 思路 考虑算出来总的花费,再除以 \(m!\) 求期望. 对于某个排列的花费为:\(\sum\limits ...

  3. .NET周刊【11月第3期 2024-11-17】

    国内文章 .NET 9使用Scalar替代Swagger https://www.cnblogs.com/netry/p/18543378/scalar-an-alternative-to-swagg ...

  4. 设计模式之中介者模式(Mediator)

    一.初识中介者模式 那些年,我们一起上过的大学,班级里有班长,有团书记.想一想如果没有QQ这种通讯工具的话,那么班长或者团支书该怎样下达消息呢??同时,班级上两个同学之间也可惜沟通啊,沟通一下,院里哪 ...

  5. Java网络爬虫的实现

    记得在刚找工作时,隔壁的一位同学在面试时豪言壮语曾实现过网络爬虫,当时的景仰之情犹如滔滔江水连绵不绝.后来,在做图片搜索时,需要大量的测试图片,因此萌生了从Amazon中爬取图书封面图片的想法,从网上 ...

  6. 你想有多pwn

    第一章 1.1 认识程序 file.ldd 1.2 gdb调试 一.指令 1.start.run 2.断点 设置断点 b mian.b *0x123456 查看断点 info b.i b 让断点失效 ...

  7. 新型大语言模型的预训练与后训练范式,谷歌的Gemma 2语言模型

    前言:大型语言模型(LLMs)的发展历程可以说是非常长,从早期的GPT模型一路走到了今天这些复杂的.公开权重的大型语言模型.最初,LLM的训练过程只关注预训练,但后来逐步扩展到了包括预训练和后训练在内 ...

  8. uniapp h5 和 小程序互相传值

    小程序端 <template> <div> <web-view :webview-styles="webviewStyles" :src=" ...

  9. 开源个人实用XML翻译小工具,实现

    前言 IntelliSense 是一种代码完成辅助工具,可以在不同的集成开发环境 (IDE) 中使用,在开发 .NET 项目时,SDK 仅包含英语版本的 IntelliSense 文件. 对英语不好的 ...

  10. 技术实践|Redis基础知识及集群搭建(下)

    ​ Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.本篇文章围绕Redis基础知识及集群搭建相关内容进行了分享 ...