InternetOpen怎么使用代理

来源:互联网 发布:淘宝阿里妈妈推广 编辑:程序博客网 时间:2024/05/20 00:15
转于http://hi.baidu.com/usoa/blog/item/9d49b60f6a2cf9e1aa6457ad.html
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.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中明确说明只有安装了IE才能使用SOCKS代理.

原创粉丝点击