InternetOpen怎么使用代理
2010-03-16 13:57
如果你用IE的默认代理设置:
hinternet=InternetOpen(AfxGetAppName(),INTERNET_OPEN_TYPE_PROXY,NULL,NULL,0);
把INTERNET_OPEN_TYPE_PROXY改成INTERNET_OPEN_TYPE_PRECONFIG
如果你想自己配置代理服务器:
InternetOpen的第3个参数要设置成代理服务器的IP地址:
代理的格式必须为:[<protocol>=][<scheme>://]<proxy>[:<port>].
其中protocol,scheme://,:port是可选项, 如果忽略这三者, 则它们默认分别为HTTP,HTTP://,:80.
即默认为HTTP代理.
各种常用代理的使用见如下:
HTTP: HTTP=HTTP://proxyserver:port
FTP: FTP:FTP://proxyserver:port
GOPHER: GOPHER=HTTP://proxyserver:port
SOCKET: SOCKS=proxyserver:port
如果代理有用户名/密码,可以用下面的函数设置:
InternetSetOption(hHandle,INTERNET_OPTION_USERNAME,"", );
InternetSetOption(hHandle,INTERNET_OPTION_PASSWORD,"",);
去设置
http://faq.youkuaiyun.com/read/208215.html
1. 相关函数: HINTERNET WINAPI InternetOpen( LPCTSTR lpszAgent, DWORD dwAccessType, LPCTSTR lpszProxy, LPCTSTR lpszProxyBypass, DWORD dwFlags);
BOOL WINAPI InternetSetOption( HINTERNET hInternet, DWORD dwOption, LPVOID lpBuffer, DWORD dwBufferLength);
2. 相关结构 typedef struct { DWORD dwAccessType; LPCTSTR lpszProxy; LPCTSTR lpszProxyBypass; } INTERNET_PROXY_INFO, *LPINTERNET_PROXY_INFO;
3. 使用代理服务器 (1)请将dwAccessType设置成INTERNET_OPEN_TYPE_PROXY (2)设置lpszProxy (a)代理的格式必须为:[<protocol>=][<scheme>://]<proxy>[:<port>]. (b)其中protocol, scheme://, :port是可选项, 如果忽略这三者, 则它们默认分别为 HTTP, HTTP://, :80. 即默认为HTTP代理. (c)多个代理必须使用" "(空格)隔开 (d)各种常用代理的使用见如下: HTTP: HTTP=HTTP://proxyserver:port FTP: FTP:FTP://proxyserver:port GOPHER GOPHER=HTTP://proxyserver:port SOCKS=proxyserver:port 其中前三种都可以在msdn中找到, 但第四种我可是找了N多地方才好不容易找到了. 另外要注意, msdn中明确说明只有安装了IE才能使用SOCKS代理.
|