请解释下InternetOpen,InternetOpenUrl的代理设置?

wodemsdn 2011-08-12 10:18:56
刚刚看了MSDN,我的理解是这样的,
HINTERNET InternetOpen(
__in LPCTSTR lpszAgent,
__in DWORD dwAccessType,
__in LPCTSTR lpszProxyName,
__in LPCTSTR lpszProxyBypass,
__in DWORD dwFlags
);
在InternetOpen函数中的dwAccessType设置 INTERNET_OPEN_TYPE_PROXY
然后在lpszProxyName设置代理服务器的名称或IP地址
在lpszProxyBypass设置的的是要绕过的代理名称或地址,假如有设置此参数的话,请求将绕过lpszProxyBypass设置的代理服务器,而是直接发送请求地址到目标服务器上。
然后用InternetOpenUrl发送请求就可以实现将请求发送到代理服务器上,由代理服务器帮我们转发请求,获取页面,再返回给我们,我们用InternetReadFile读出来的就是代理服务器帮我们请求到的页面,是不是这样?请各路大虾高抬贵手指教,谢谢
...全文
374 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wodemsdn 2011-08-12
  • 打赏
  • 举报
回复
谢谢楼上这位大哥,你真热情。我找到的代理Ip和端口号不需要用户名和密码
hInternetRoot = InternetOpen(NULL, INTERNET_OPEN_TYPE_PROXY,_T("187.17.22.6:3128"),NULL, 0);
只要这样应该可以了吧
Eleven 2011-08-12
  • 打赏
  • 举报
回复
如果代理有用户名/密码,可以用下面的函数设置:
INTERNET_OPTION_PROXY_PASSWORD

InternetSetOption()
Eleven 2011-08-12
  • 打赏
  • 举报
回复
MSDN上解释:
lpszProxyName
Pointer to a null-terminated string that specifies the name of the proxy server(s) to use when proxy access is specified by setting dwAccessType to INTERNET_OPEN_TYPE_PROXY. Do not use an empty string, because InternetOpen will use it as the proxy name. The WinINet functions recognize only CERN type proxies (HTTP only) and the TIS FTP gateway (FTP only). If Microsoft Internet Explorer is installed, these functions also support SOCKS proxies. FTP and Gopher requests can be made through a CERN type proxy either by changing them to an HTTP request or by using InternetOpenUrl. If dwAccessType is not set to INTERNET_OPEN_TYPE_PROXY, this parameter is ignored and should be NULL.

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧