正在加载小宠物
梦回起点
做你害怕做的事,你会发现:不过如此
本站基于WordPress—主题by 设计窝 \n
冀ICP备15003737号
梦回起点
Copyright © 2015-2024 All rights reserved.

HttpQueryInfo不能获取多次HTTP头的原因

BOOL WINAPI HttpQueryInfo(

HINTERNET hRequest,

DWORD dwInfoLevel,

LPVOID lpBuffer,

LPDWORD lpdwBufferLength,

LPDWORD lpdwIndex

);

最近在一家公司实习,做一个程序用到了这个函数

上面是这个函数的声明,这个函数就是用来查询查询一个HTTP请求的信息。我们使用这个函数查询返回的HTTP头,但是我使用过程中遇到一个问题就是只能查询一次,比如说我查询了长度,但是就没有办法查询cookies了,搞了很长时间发现两次使用的是同一个buffer,长度也是传入的同一变量,但是传入之后这个lpdwBufferLength变量的值就改变了,导致传入的缓冲区不足以放下要放的内容,我们使用GetLastError()函数就会发现,返回的错误代码是缓冲区大小不足。

具体解决方法就是重新给长度变量lpdwBufferLength赋值。这时第二次的查询就可以查到了。

2017-05-13
  1. 增达网

    受教了!呵呵!

  2. 混砂机

    您好,您的网站做的很不错,很漂亮,我已经收藏了,方便我随时访问.

  3. 加气块设备

    感谢分享

  4. 剪板机

    感谢博主分享的好文章

发表回复