winhttp在win7下的2个问题,300分送上

ganzhezeng ganzhezeng 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
大家好,我在使用winhttp编程的时候碰到2个问题,主要是Ntlm代理环境下访问网络方面的问题,百思不得其解,向大家请教:

1.以下这份代码,在xp-Ntlm代理环境下,运行很正常,但是到了win7下,服务器始终返回407.
抓包发现:
在XP:WinhttpSendRequest后,程序开始发包,但是不会自动进行NTLM的验证过程,验证过程需要自己实现(HASH和挑战-响应过程不需要代码实现,程序自动进行),需要自己resend。
具体过程为:
1) Get www.xxx.com
2) Get NtlmSSP_NEGOTIATE
3) Get NtlmSSP_AUTH
然后服务器就返回200.

在win7:WinhttpSendRequest后,程序开始发包,连续进行了3次发包,验证过程已经一次性地发出去了,过程为
1) Get www.xxx.com
2) Get NtlmSSP_NEGOTIATE
3) Get NtlmSSP_AUTH
然后服务器就返回407.再继续resend多少次都是407.win7下浏览器设置代理后可以正常上网。

问题:win7下程序进行NTLM验证需要什么特别的设置吗?

2.winhttp中如果收到302会自动重定向, 有没有办法使得程序不会自动重定向?
(在C#中有这个设置,c++中目前我还没找到方法)

希望大家能指点一二,只能发100分帖,解决问题了,会补上。

...全文

相关推荐

评论 7
收藏 已收藏
分享
返回顶部
ganzhezeng
C++ 语言 65,214 成员 250,514 内容