WinInet 帖子的简单包装函数(在 Delphi 中)

Posted

技术标签:

【中文标题】WinInet 帖子的简单包装函数(在 Delphi 中)【英文标题】:Simple wrapper function for WinInet post (in Delphi) 【发布时间】:2009-12-15 20:10:27 【问题描述】:

这是一种使用 Indy 进行 HTTP 发布的方法,或多或少在一行中:

Response := FIdHttp.Post(URL, StringStream);

是否有允许使用 WinInet 完成等效操作的函数(函数,而不是库)?

最好是类似这样的函数:

function PostUsingWinInet(const URL, Data :string; SSL :boolean) :string;

如果已经存在,我不想重新发明***并编写自己的包装函数。

谢谢!

【问题讨论】:

【参考方案1】:

请参阅此 Stack Overflow 问题:How to send a HTTP POST Request in Delphi using WinInet api。

【讨论】:

谢谢,但是那里贴的功能不是自带的;它依赖于作者编写但未发布的其他函数。 不,不是。它只使用 WinInet 和 Sysutils,也许还有 Windows(懒得检查)。【参考方案2】:

看看Synapse。是的,它是一个库,但不是组件库。它公开了类和简单的阻塞函数,可以消除 TCP/IP 通信的痛苦。

例如,一个执行帖子的小程序(顺便说一句,支持ssl):

uses
  httpsend;

var
  url : string;
  urldata : string;
  PostData : tMemoryStream;

begin
    :
  if HttpPostURL(URL, URLData, PostData) then
    Writeln('Sent');
end.

【讨论】:

以上是关于WinInet 帖子的简单包装函数(在 Delphi 中)的主要内容,如果未能解决你的问题,请参考以下文章

是否有用于 WinInet 的 .Net 包装器

Delphi 中用于 FTP 的 WinInet 包装器

WinInet C++ ftp 模板?

wininet.h 不使用带有代码块的 GNU GCC 编译器进行编译

使用 Wininet 发送多个 Http 请求

恢复简单下载管理器的能力(C++ - WinInet)