博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

InternetOpen怎么使用代理

Posted on 2015-10-29 02:01  wlmbz  阅读(1988)  评论(0编辑  收藏  举报

如果你用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.csdn.net/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中明确说明只