VS2003使用WinINet和HTTP服务器(resin)通信,穿透HTTP代理服务器和SOCKS4代理服务器都没问题,但是SOCKS5好像有问题。
穿透HTTP proxy服务器的时候,只要在InternetOpen()中设置类型INTERNET_OPEN_TYPE_PROXY,代理字符串为XXX.XXX.XXX.XXX:8080就可以穿透。
穿透SOCKS4 proxy服务器的时候,同上,将代理字符串设置为: SOCKS=XXX.XXX.XXX.XXX:1080就可以。但是在准备穿透SOCK5 proxy服务器的时候,SOCKS=XXX.XXX.XXX.XXX:1080没有效果,写成SOCKS5=XXX.XXX.XXX.XXX:1080的话,结果穿透成功,可是,给我感觉用户名和密码的校验无效了,我使用InternetSetOption(hRequest, INTERNET_OPTION_PROXY_USERNAME, proxyset.pszProxyUserName, 33);
InternetSetOption(hRequest, INTERNET_OPTION_PROXY_PASSWORD, proxyset.pszProxyPassword, 33);
来通过用户名和密码的校验,结果就是随便怎么写用户名和密码都可以穿透代理服务器。到底是怎么回事?谢谢高手来指点