首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Delphi TIdTcpServer get POST参数由浏览器发送

Delphi是一种编程语言,TIdTcpServer是Delphi中的一个组件,用于创建TCP/IP服务器。在Delphi中,可以使用TIdTcpServer组件来接收来自浏览器的POST请求,并获取POST参数。

要获取POST参数,可以通过在TIdTcpServer的OnExecute事件中编写代码来实现。在OnExecute事件中,可以使用TIdContext对象的Connection属性来获取与客户端的连接,并使用TIdIOHandler对象的ReadLn方法来读取POST请求的内容。

以下是一个示例代码,用于获取浏览器发送的POST参数:

代码语言:txt
复制
procedure TForm1.IdTCPServer1Execute(AContext: TIdContext);
var
  Request: string;
  Params: TStringList;
begin
  Request := AContext.Connection.IOHandler.ReadLn;
  
  if Pos('POST', Request) = 1 then
  begin
    Params := TStringList.Create;
    try
      AContext.Connection.IOHandler.ReadBytes(Params, AContext.Connection.IOHandler.InputBuffer.Size);
      
      // 处理POST参数
      // 可以使用Params对象来获取POST参数的键值对
      
      // 示例:输出POST参数
      Memo1.Lines.Add('POST参数:');
      Memo1.Lines.AddStrings(Params);
    finally
      Params.Free;
    end;
  end;
  
  AContext.Connection.Disconnect;
end;

在上述代码中,通过判断请求是否为POST请求,然后使用TIdIOHandler的ReadBytes方法将POST请求的内容读取到一个TStringList对象中。然后可以使用TStringList对象来获取POST参数的键值对。

这是一个简单的示例,实际应用中可能需要根据具体的需求进行更复杂的处理。关于Delphi的TIdTcpServer组件和相关的网络编程知识,可以参考腾讯云的产品文档和开发者社区。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【小家Spring】Feign发送Get请求时,采用POJO对象传递参数的最终解决方案 Request method POST not supported (附带其余好几个坑)

本文将描述我们最为常遇到的坑: Feign发送Get请求时,采用POJO传递参数 Request method ‘POST’ not supported 坑 例举 Feign发送Get请求时,采用...POJO传递参数的坑 在使用Feign client来调用Get请求接口时,如果方法的参数是一个对象,例如: @FeignClient("microservice-provider-user") public...老夫明明用的get请求啊,你竟然说Post方法不支持? 其实这个问题,在feign的github社区里面,一直有人提出了issue,只是一直没有被解决而已。...或者转换为post?这似乎与REST风格不太搭,会浪费url资源,我们还需要在url定义上来区分Get或者Post。...默认使用的连接工具实现类,所以里面发现只要你有body体对象,就会强制的把get请求转换成POST请求。

8.8K61
  • 基于HTTP的QQ协议(转)

    由于QQ的HTTP服务器并不支持HTTP协议中GET方法,它支持POST方法。所以我们要给QQ的HTTP协议传参数 ,那么就必需要用POST方式才行。...2、C#和DELPHI是实现HTTP的POST方法的通信。...那么我们要对服务器提交POST方法那么就必须使用其UploadData()方法才行。首先把要请 求的信息先转换为字节(因为POST提交的是字符的流数据),然后再做为UploadData()的参数。...如果您加了您的好友,那么您的好友就会放入你的QQ的好友名单里面,那么我们要得到QQ名单就必需给QQ 服务器发送得到好友名单的协议(我就不从复已知的参数了): VER=1.1&CMD=List&SEQ...如果您用的是DELPHI那么MG在发送之间要用An siToUtf8()进行转换,不然发送过后,消息会变成“?”。

    1.5K00

    asp.net与asp的session共享 及 asp的请求拦截

    POSTGET方式都行),参考代码: using System; namespace ASP_ASPX_TEST { public partial class index : System.Web.UI.Page...developers http://delphi.about.com/library/bluc/text/uc060901c.htm delphi IIS ISAPI http://www.cnblogs.com.../ 用Delphi编写 IIS ISAPI 程序 http://download.csdn.net/detail/wwwvvingnet/2229146 在Delphi中用IIS或PWS调试ISAPI程序...,否则只能拦截asp.net的请求,对asp无效 最后赠送一个asp调试的小技巧(自从asp.net出来以后,很多人估计象我一样,已经很久不碰asp,这些小技巧差不多忘记光了,贴在这里备份一下) IE浏览器里先去掉...友好错误的勾选 IIS设置里,允许发送详细错误到客户端 这样,asp代码出错时,就会显示详细信息了

    7.2K70

    JavaWEB笔记

    该软件运行在电脑桌面 开发语言:Delphi,VB,VC++,c#,awt,swing等 特点:一般服务端仅仅是安装一个数据库额数据存储,所有程序(功能/界面)都编写在客户端软件中(把所有的业务逻辑编写在客户端..._nQ; path=/search服务器端发送的Cookie (会话有关) 1.3响应正文,从第一一个空行开始,后面的都是正文。...服务器会将它们发送的多媒体数据的类型告诉浏览器,MIHE类型就是设定某种扩展名的文件用一-种应用程序来打开的方式类型 ---- GETPOST请求区别 GET方式请求: 请求的数据全部在浏览器的地址栏...GET /form.html?...username=will&K=V HTTP/1.1 POST方式请求: 请求的数据不会出现在浏览器的地址栏(比较安全) 观察请求信息:请求信息会全部存储到请求实体中 POST/form.html HTTP

    99100

    web 应用程序_web应用程序是什么意思

    ,然后是请求参数名称(name)与请求参数值(value),中间以等号(=)表示成对关系。若有多个请求参数,则以&字符连接,使用GET的方式发送请求,浏览器的地址栏上也会出现请求参数信息。...GET请求可以发送的请求参数长度有限,对于太大量的数据并不适合用GET请求,这时需要改用POST请求。...POST只是将请求参数移到最后的信息体(Message body)之中,由于信息体的内容长度不受限制,所以大量数据的发送都会使用POST方法,而由于请求参数移到了信息体,所以地址栏也就不会出现请求参数,...3)GETPOST的区别   · GET跟随在URL之后的请求参数长度是有限的,过长的请求参数,或像文件上传这类的大量数据,就不适合用GET请求,而应该改用POST。   ...· GET的请求参数会出现在地址栏上,敏感性或保密性的请求参数(例如信用卡号码、用户名、密码等),就不应该使用GET请求来发送

    1K20

    网络协议:透彻解析HTTP协议

    . # POST 对于上面提到的不适合使用 GET 方式的情况,可以考虑使用 POST 方式,因为使用 POST 方法可以允许客户端给服务器提供信息较多 POST 方法将请求参数封装在 HTT P请求数据中...,以名称/值的形式出现,可以传输大量数据,这样 POST 方式对传送的数据大小没有限制,而且也不会显示在 URL 中 # GETPOST的区别 在参数传递上,GET 请求的参数是直接拼接在地址栏URL...的后面,而 POST 请求的参数是放到请求体里面的 在长度限制上,GET 请求有具体的长度限制,即一般不超过1024KB,而 POST 理论上没有,界限取决于浏览器限制 在安全角度上。...GET 请求因为数据都是明文显示在 URL 上面的,所以 GET 安全和私密性不如 POST 总的来说,GETPOST 都是 TCP 连接,并无实质的区别,但是由于 HTTP 浏览器的限定,导致它们在应用过程中体现出了一些不同...对于 POST 请求,浏览器发送 header,服务器响应 100 continue,浏览器发送 data,服务器响应 200 ok # HEAD HEAD 就像 GET,只不过服务端接受到 HEAD

    1.5K40

    TCPIP(七)之玩转HTTP协议

    4)Http  get,post,soap协议都是在http上运行的      get:请求参数是作为一个key/value对的序列(查询字符串)附加到URL上的       查询字符串的长度受到web...浏览器和web服务器的限制(如IE最多支持2048个字符),不适合传输大型数据集同时,它很不安全     post:请求参数是在http标题的一个不同部分(名为entity body)传输的,这一部分用来传输表单信息...总结上面所说的,GETPOST的区别:      GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如login.action?...POST方法是把提交的数据放在HTTP包的Body中.    GET提交的数据大小有限制(因为浏览器对URL的长度有限制),而POST方法提交的数据没有限制.    ...2)发送HTTP请求     通过TCP套接字,客户端向Web服务器发送一个文本的请求报文,一个请求报文请求行、请求头部、空行和请求数据4部分组成。

    1.2K90

    axios笔记(一) 简单入门

    它是在 Web 上进行数据交换的基础,是一种 client-server 协议,也就是说,请求通常是浏览器这样的接受方发起的。...HTTP 请求交互的基本过程 浏览器向服务器发送请求报文 后台服务器接收到请求后,调度服务器应用处理请求,向浏览器返回 HTTP 响应(响应报文) 浏览器接收到响应,解析显示响应体 / 调用监视回调...API 分类 3.1 REST API(restful) RESTful 接口设计规范 发送请求进行 CRUD 哪个操作请求方式来决定 同一个请求路径可以进行多个操作 请求方式会用到 GET / POST...ajax 引擎帮忙发送) 浏览器发送请求,只有 XHR 或 fetch 发出的才是 ajax 请求,其他的都不是 ajax 请求 浏览器端接收到响应(一般请求浏览器会自动更新页面,而 ajax...POST、PUT 等需要修改服务器端的资源的请求时会发送 OPTIONS 请求,查看是否能够修改,即预请求。

    1.6K20

    Linux服务.NO6——http协议

    http协议工作于c/s架构,浏览器作为客户端通过url向http服务端(即web服务器)发送所有请求,web服务器根据受到的请求后,向客户端发送响应。...请求头部:host后面指明请求的目的地,user-agent是浏览器类型检查逻辑的基础,浏览器自身来定义,在请求中自动发送。 空行:空行必须要有,即使请求数据为空,也需要有空行。...和POST 1.打包格式: GET请求会将请求的数据放在URL中,也就是URL的参数部分,如果数据是字母或数字就原样发送,如果是空格就替换为加号(+),如果是中文或其他字符,就将字符串用BASE64加密...而POST请求会将提交的数据放置在http包的包体中,所以GET提交的数据会在地址栏中显示出来,而POST不会。...4.请求参数GET:请求参数作为一个key/value对的序列附加到URL上,受浏览器对URL长度限制,不适合传输大型数据,而且也不够安全。

    1K20

    C# HTTP系列8 GETPOST对比说明

    历史 参数保留在浏览器历史中。 参数不会保存在浏览器历史中。 对数据长度的限制 是的。...POSTGET 更安全,因为参数不会被保存在浏览器历史或 web 服务器日志中。 可见性 数据在 URL 中对所有人都是可见的。 数据不会显示在 URL 中。 ?...1、正解 (1)HTTP 协议并未规定GETPOST的请求长度限制 ; (2)所谓的请求长度限制是浏览器和web服务器决定和设置的。...所以,header 和 body 分开发送是部分浏览器或框架的请求方法,不属于 post 必然行为。 POST 方法比 GET 方法安全?...【误解】 GET请求参数是在URL后面的,数据在地址栏上可见;POST请求参数放在请求体重,数据在地址栏上不可见,因此有人说POSTGET 安全。

    1K20

    Python爬虫基础讲解(四):请求

    GETPOST方法的区别: GET是从服务器上获取数据,POST是向服务器传送数据 GET请求参数都显示在浏览器网址上,即Get"请求的参数是URL的一部分。...wd=Chinese POST请求参数在请求体当中,消息长度没有限制而且以隐式的方式进行发送,通常用来向HTTP服务器提交量比较大的数据。...请求的参数类型包含在"Content-Type"消息头里,指明发送请求时要提交的数据格式。 注意: 网站制作者一般不会使用Get方式提交表单,因为有可能会导致安全问题。...From∶请求发送者的email地址,一些特殊的Web客户程序使用,浏览器不会用到它。...UA-Pixels,uA-Color,uA-oS,UA-CPU:某些版本的IE浏览器发送的非标准的请求头,表示屏幕大小、颜色深度、操作系统和CPu类型。

    37820

    web页面请求的整个过程_HTTP的请求方法

    1.3 浏览器给WEB服务器发送一个HTTP请求 一个HTTP请求报文请求行(request line)、请求头部(headers)、空行(blank line)和请求数据(request...最常的两种GETPOST,如果是RESTful接口的话一般会用到GETPOST、DELETE、PUT。...GET方法要求服务器将URL定位的资源放在响应报文的数据部分,会送给客户端。使用GET方法时,请求参数和对应的值附加在URL后面,利用一个问号‘?’...之后的部分就是通过GET发送的请求数据,各个数据之间用‘&’符号隔开。显然这种方式不适合传送私密数据。...POST方法将请求参数封装在HTTP请求数据中,以名称/值的形式出现,可以传输大量数据,这样POST方式对传送的数据大小没有限制,而且也不会显示在URL中。

    89020

    关于面试总结8-http协议相关面试题

    GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。 GET请求在URL中传送的参数是有长度限制的,而POST么有。...对参数的数据类型,GET只接受ASCII字符,而POST没有限制。 GETPOST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。...GET参数通过URL传递,POST放在Request body中。...如果我告诉你,你死记硬背的这些所谓“标准答案”不是面试官想要的,你肯定不服,首先从安全性讲,getpost都一样,没啥所谓的哪个更安全 get请求参数在url地址上,直接暴露,post请求的参数放body...长的说: 对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据); 而对于POST浏览器发送header,服务器响应100 continue,浏览器发送

    4.3K22

    Http学习笔记

    例如:GET/sample/hello.html HTTP/1.1       3.浏览器发送请求头信息       浏览器发送请求命令之后,还要以头信息的形式向服务器发送一些别的信息,之后浏览器发送了空白行来通知服务器...请求行请求方法字段、URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔。...GET方法要求服务器将URL定位的资源放在响应报文数据部分,回送给客户端。使用GET方法时,请求参数和对应的值放在URL后面,利用一个问号'?'代表URL的结尾和请求参数的开始。...POST方法将请求参数封装在HTTP请求数据中,以名称/值的形式出现,可以传输大量数据,这样POST方式对传送的数据大小没有限制,而且也不会显示在URL中。...GET方式也有自己的特点和优 势,我们应该根据不同的情况来选择是使用GET还是使用POST。  HEAD HEAD就像GET,只不过服务端接受到HEAD请求后只返回响应头,而不会发送响应内容。

    51920

    Python接口自动化-接口基础(二)

    本质上来讲, put和post极为相似,都是向服务器发送数据,但它们之间有一个重要区别,put通常指定了资源的存放位置,而post则没有,post的数据存放位置服务器自己决定,客户端向服务器传送的数据取代指定文档的内容...post请求参数放在body里,是通过表单数据提交,postget方式的安全性要高。...get参数只能支持ASCII; post没有限制,也允许二进制数据; 5.请求方式 get是获取指定的资源 post是向指定的资源提交要被处理的数据 6.请求体 get没有请求体; post有请求体...而对于post浏览器发送header,服务器响应100continue,浏览器发送data,服务器响应200ok(返回数据),post请求的过程: 1.浏览器请求tcp连接(第一次握手...HTTP客户程序(如浏览器),向服务器发送请求的时候必须指明请求类型(一般是GET或者 POST)。如有必要,客户程序还可以选择发送其他的请求头。

    78820

    Python接口自动化-接口基础(二)

    本质上来讲, put和post极为相似,都是向服务器发送数据,但它们之间有一个重要区别,put通常指定了资源的存放位置,而post则没有,post的数据存放位置服务器自己决定,客户端向服务器传送的数据取代指定文档的内容...post请求参数放在body里,是通过表单数据提交,postget方式的安全性要高。...get参数只能支持ASCII; post没有限制,也允许二进制数据; 5.请求方式 get是获取指定的资源 post是向指定的资源提交要被处理的数据 6.请求体 get没有请求体; post有请求体...而对于post浏览器发送header,服务器响应100continue,浏览器发送data,服务器响应200ok(返回数据),post请求的过程: 1.浏览器请求tcp连接(第一次握手...HTTP客户程序(如浏览器),向服务器发送请求的时候必须指明请求类型(一般是GET或者 POST)。如有必要,客户程序还可以选择发送其他的请求头。

    71410

    WEB

    HTTP协议包括的请求 GET:对服务器资源的简单请求 POST:用于发送包含用户提交数据的请求,可能会改变数据的种类 HEAD:类似与GET,但返回的响应中没有具体内容,仅用于获取头部 PUT:发送修改数据的请求...GETPOST的区别 GET GET重点是从服务器获取资源 GET传输数据通过url请求,以field = value的形式置于url后并通过?...连接,用&连接多个请求数据 GET传输数据量小,因为其会收到url长度的限制,但效率高 GET传输数据由于url可见因而是非安全的 GET仅支持ASCII字符 POST POST重点是向服务器发送数据...POST传输数据是通过HTTP的post机制,将字段与对应值封存在请求实体中发送的,用户不可见,安全性高 POST可以传输大量数据 POST支持标准字符集 总结 GET用于获取信息,无副作用,幂等且可缓存...Tomcat的生命周期 根据Servlet的配置参数决定实例化时机,没有配置该参数项或者参数为负,则第一次访问时才会被实例化并调用init()函数;如果为0或者为正数,则服务器启动时就会被加载,加载顺序由小到大

    50220

    HTTP协议中的GETPOST请求方法的区别

    浏览器上表现的区别 GET GET 请求可被缓存 GET 请求保留在浏览器历史记录中 GET 请求可被收藏为书签 GET 请求参数在URL中的是可见的 GET 请求有长度限制 POST POST 请求不会被缓存...简单的就不再说了,这里再说说请求参数的可见性和容易让人产生误区的数据长度限制 请求参数可见性 在GET请求中,查询字符串是在 GET 请求的 URL 中发送的 index.php?...数据长度限制 从上面的请求参数可见性我们已经知道 GET请求的所有参数都是在URL中发送的 我们常说的GET请求有数据长度限制,其实那只是浏览器对URL长度的限制 嗯,这里要看清一个点:是浏览器 而不是...总结 GET 请求会被浏览器缓存,POST 请求不会 GET 请求会被浏览器保留在历史记录中,POST 请求不会 GET 请求可以被浏览器收藏为书签,POST 请求不能 GET 请求参数在URL中可见,...POST 请求参数不能 GET 请求对数据长度有要求,POST 请求没有(这里指的是浏览器对url长度的要求) 在HTTP协议中,对于GETPOST的数据长度是没有限制的 在WEB服务器中,可以通过配置参数来决定要服务的

    3.8K10
    领券