gpt4 book ai didi

c++ - HttpAddRequestHeaders添加的 header 与HttpSendRequest发送的 header 之间有什么区别

转载 作者:行者123 更新时间:2023-12-01 14:44:30 25 4
gpt4 key购买 nike

我正在处理WinInet,我想知道HttpAddRequestHeaders函数(使用HttpOpenRequest句柄)设置的 header 与HttpSendRequest函数发送的 header 之间的实际区别是什么。

为了简化我的代码,有一个更好的位置来定义此类 header ?我想避免处理这两种方式

最佳答案

根据Microsoft文档:

  • HttpSendRequest function

    The function also lets the client specify optional data to send to the HTTP server immediately following the request headers. This feature is generally used for "write" operations such as PUT and POST.

  • HttpAddRequestHeaders function
  • HTTP_ADDREQ_FLAG_ADD

    如果标题不存在,则添加它。与HTTP_ADDREQ_FLAG_REPLACE一起使用。
  • HTTP_ADDREQ_FLAG_ADD_IF_NEW

    仅在标题不存在时才添加;否则,返回错误。
  • HTTP_ADDREQ_FLAG_COALESCE

    合并相同名称的 header 。
  • HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA

    合并相同名称的 header 。例如,在此标志后加上“Accept:text /”,然后加上“Accept:audio /”,将导致形成单个 header “Accept:text /,audio /”。这将导致发现的第一个 header 被合并。由调用应用程序来确保关于合并/分离的 header 的内聚方案。
  • HTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON

    使用分号合并同名的 header 。
  • HTTP_ADDREQ_FLAG_REPLACE

    替换或删除标题。如果标题值为空并且找到了标题,则将其删除。如果不为空,则替换 header 值。

  • 因此,如果您要做的只是“添加请求 header ”,则任一API都会为您提供相同的功能。

    如果要执行“特殊操作”(例如“coalesce header ”),则可以选择一个或另一个API。

    希望有帮助

    关于c++ - HttpAddRequestHeaders添加的 header 与HttpSendRequest发送的 header 之间有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50013592/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com