wininet或winhttp,这是POST请求的首选

时间:2014-09-11 08:00:30

标签: c++ c winapi wininet winhttp

我正在浏览MSDN页面,比较WinInet和WinHttp。好像WinInet比WinHttp具有更多功能。 MSDN页面为here。在什么情况下会选择WinHttp而不是WinInet?

考虑到WinInet具有可用于POST数据的HttpSendRequest,而WinHttp也具有WinHttpSendRequest。将WinHttp优于WinInet会有什么好处?使用WinHttp和WinInet发布数据的方式有何不同?

此外,如果使用WinHttp和WinInet的POST请求的一些示例会有所帮助,那么一些小的示例代码。

编辑3 WIRESHARK SCREENSHOT enter image description here

编辑2 我终于设法从应用程序获得了一个HTTP_STATUS_CODE,它是200 OK,但问题出现在发送帖子数据时,它被发送但参数未设置。我试着在PHP端实现这个代码。

<?php

    $fp = fopen("data.txt", "a");
    fwrite($fp, "ID = " . $_POST['id']);
    fclose($fp);

?>

应用程序运行后立即创建文件,但未设置ID参数,它会写入文件 “ID =”而不再是。 10没有通过,不明白为什么

谢谢。

编辑:链接到我尝试使用的示例。 HttpSendRequest to POST form data

2 个答案:

答案 0 :(得分:4)

实际上MSDN在WinHTTP vs. WinINet上有一个很好的页面,说明:

  

除了少数例外,WinINet是WinHTTP的超集。在两者之间进行选择时,您应该使用WinINet,除非您计划在需要模拟和会话隔离的服务或类似服务的过程中运行。

答案 1 :(得分:2)

This示例可以帮助您,如果您对WinInet示例感兴趣,可以查看here

此外,有关MSDN的WinInet的引用:

  

注意WinINet不支持服务器实现。此外,它不应该从服务中使用。对于服务器实现或服务,请使用Microsoft Windows HTTP服务(WinHTTP)。

这是一个很好的建议。

相关问题