在对接本地的一个药械监管系统使用实现的代码,编译环境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层联测22 T2 差后队列

    2023NOIP A层联测22 差后队列 挺有意思的期望题,题解做法应该是 DP,但是我又双叒写出奇怪的做法-- 思路 除去最大值外的元素个数的倒数就是这一轮取到某个数的概率,而最大值是特殊的情况,在 ...

  2. php 5.4 var_export的改进

    用 var_export 来将数据存储到 php 配置文件里的时候,发现var_export转出来的变量定义还是 array()这种形式,不能转为[],所以自己写个函数来转换一下,代码如下: < ...

  3. 2个月搞定计算机二级C语言——真题(12)解析

    1. 前言 本篇我们讲解2个月搞定计算机二级C语言--真题12 2. 程序填空题 2.1 题目要求 2.2 提供的代码 #include <stdio.h> #define N 3 int ...

  4. 【Azure Function】FTP上传了Python Function文件后,无法在门户页面加载函数的问题

    问题描述 通过FTP的方式,把本地能正常运行的Python Function文件上传到云上后,无法加载函数列表问题. 1:上传 function_app.py,requirements.txt文件到 ...

  5. Nuxt.js 应用中的 webpack:error 事件钩子

    title: Nuxt.js 应用中的 webpack:error 事件钩子 date: 2024/11/25 updated: 2024/11/25 author: cmdragon excerpt ...

  6. Centos7 安装python3与python2.7 共存

    前言 在centos7服务器上,linux系统默认安装有python2.7,这是系统服务等会依赖到的,所以系统的python2.7是不可以卸载的,避免系统出现问题.那么问题就来了,我们现在使用的pyt ...

  7. LGR-204-Div.2

    Contest link 质量不错的比赛. A 比较明显的题,贪心往下做就可以. #include <bits/stdc++.h> using i64 = long long; const ...

  8. docker构建supervisor镜像

    1 介绍 记录使用docker 构建包含 supervior 的镜像, supervisor: 是一个管理和监控进程的程序,可以方便的通过配置文件来管理我们的任务脚本 将supervisor构建到系统 ...

  9. Win10底部任务栏卡死的终极解决方法

    原因:微软自带的资讯和兴趣因国内网络限制,造成失效. 解决方案:底部右键->资讯和兴趣->关闭. 以上仅限WIn10操作系统,win11操作系统以上忽略.

  10. Winform 使用WebView2 开发现代应用

    使用 WebView2 开发现代应用 WebView2 是 Microsoft 提供的一种嵌入式浏览器控件,基于 Edge (Chromium) 引擎.它允许开发者将现代 Web 技术(如 HTML. ...