wininet api 将文件发送到 http web 服务

Posted

技术标签:

【中文标题】wininet api 将文件发送到 http web 服务【英文标题】:wininet api-sending files to a http web service 【发布时间】:2013-11-19 07:31:57 【问题描述】:

我有一个本机代码中的 wininet c++ 客户端,它必须将身份验证数据作为查询字符串,后跟文件异步发送到 http Web 服务...

1.为此上下文形成http请求(如要设置的标志)的强制性步骤是什么?

2.mfc/win32环境下发送SOAP消息的选项有哪些?

3. SOAP 是与 Web 服务或仅与 xml Web 服务通信的唯一方式吗? http web 服务可以接受带有传统调用(如 Httpsendrequest)的文件吗?

这是我想到的肥皂串。

      constWCHAR* g_lpszSOAPRequest =
       "<soap:Envelope "
         xmlns:n='urn:xmethods-Temperature' "
        ........................................................             ..........
                ................................................

      ...<soap:Body>
      <n:UploadFile>
    <n:FileName>string</FileName>
    <n:FileData>base64Binary</FileData>
     <n:UploadFile>
    </soap:Body>

我希望我可以替换上述字符串中的类名、方法名、参数并让它与大多数 Web 服务一起使用?这是一个正确的假设吗?

【问题讨论】:

【参考方案1】:

ATL Server 具有使用soap 的客户端函数。也许这篇文章对introduction 有所帮助。

您可以找到更多 ATL-Server 和 Soap 的代码示例。 IE。 here.

ATL 服务器现在是 Codeplex 的一部分。

【讨论】:

我个人会选择较新的 API。我的客户有一个PC监控应用程序,http上传基本上是一类。在这里,他们将 wininet 指定为要求。对于我们进行上传/下载并获得响应的简单场景,一个简单的肥皂请求消息是否就足够了?客户希望该类足够通用,以使用各种上传/下载 Web 服务。

以上是关于wininet api 将文件发送到 http web 服务的主要内容,如果未能解决你的问题,请参考以下文章

使用 Wininet 发送多个 Http 请求

Vbscript 获取 WinINET API 的代理配置

如何中止使用 wininet 发送的请求?

将进度条添加到wininet http上传C++

使用 Wininet 上传文件时如何添加正确的 Content-Type? (HTTP 放置)

以编程方式清除 WinInet DNS 缓存