HttpOpenRequest和Accept标头

时间:2016-01-31 17:41:51

标签: windows http winapi wininet

while以非常奇怪的格式获取http接受标头。是否可以忽略该参数并在HttpOpenRequest之后添加正常的接受标头?

HttpAddRequestHeaders

它确实有效(在WINE中),但似乎没有记录。

同样,内容类型和引用的情况如何?

1 个答案:

答案 0 :(得分:0)

关于HttpOpenRequest()如何接受Accept值,奇怪没有任何内容。它只是一个以null结尾的字符串数组。 Accept标头允许多种类型。 HttpOpenRequest()将连接值并为您设置Accept标头格式。使用HttpAddRequestHeaders(),您必须手动执行此操作。但是,无论您使用HttpOpenRequest()还是HttpAddRequestHeaders()都没有区别,因为Accept标头根本不会影响客户端,因此如何将其纳入请求并不重要。它仅在准备响应时影响服务器。

Referer相同,它不会影响客户端,只影响服务器,因此您可以根据需要将其添加到请求中。虽然HttpOpenRequest()Referer值提供了一个很好的简单参数,但您应该使用它。

另一方面,

Content-Type只能使用HttpAddRequestHeaders()进行设置。但是为Content-Type请求指定GET没有意义,因为请求中没有有效负载。 Content-Type仅适用于具有有效负载的请求,例如POSTPUT