winhttp在win7下的2个问题,300分送上
大家好,我在使用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分帖,解决问题了,会补上。
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分帖,解决问题了,会补上。
...全文
相关推荐
让Win7的WinHTTP支持TLS1.2,修复WinHttp.WinHttpRequest或msxml3.dll出现安全频道支
标题中的“让Win7的WinHTTP支持TLS1.2”是指在Windows 7操作系统中,通过更新或配置系统,使得内置的WinHTTP组件能够支持Transport Layer Security (TLS
Win2003 WinHTTP Web Proxy Auto-Discovery Service 导致的服务器重启
总的来说,遇到"Win2003 WinHTTP Web Proxy Auto-Discovery Service"导致的服务器重启问题时,应先分析问题根源,再采取相应的解决措施。
winhttp包(windows)
**使用winhttp的步骤**1. 初始化会话:首先需要调用`WinHttpOpen()`函数创建一个会话句柄,设置用户代理、安全级别等参数。2.
WinHttp 版 WebSocket-易语言
根据微软源码 使用 WinHttp API 制作的 WebSocket 协议缺点:不支持WIN7 只支持WIN8.1及以上系统优点:支持 ws/wss 连接 代码简单 几个API就可以实现PS:由于微
Curl调试工具win7/10无返回内容TLS1.1TLS1.2问题-易语言
Curl调试工具win7无返回内容TLS1.1TLS1.2问题之前遇到的问题某网站win7系统网页访问(s,对象)返回空白问题然后根据https://bbs.125.la/forum.php?mod=


