上犹电脑信息网我们一直在努力
您的位置:上犹电脑信息网 > 设置问题 > 实战经验:使用WinINet库访问HTTP代理服务器-如何设置代理服务器

实战经验:使用WinINet库访问HTTP代理服务器-如何设置代理服务器

作者:上犹日期:

返回目录:设置问题

在用户使用桌面软件的时候,开发者可能会面临各种各样的网络环境。比如,用户可能在家中使用宽带直连到互联网,也可能用户在公司办公,公司因网络安全需要不直接开放外网权限,而是提供HTTP代理的方式为员工提供上网服务。

在MFC中,如何向和一台FTP或者HTTP服务器打交道,常用的库是WinINet库。该库提供了提供了一组高层API来封装底层通信协议,如FTP, HTTP等。下面就讲一讲如何使用WinINet库来实现对HTTP代理服务器的访问。

1) Http代理服务器无需身份验证

假设公司代理服务器为192.168.1.1,代理端口3128,且无需身份验证,则通过如下代码即可初始化WinINet库并指定WinINet库使用HTTP代理。

InternetOpen(_T(“Custom user agent”), INTERNET_OPEN_TYPE_PROXY, _T(“http://192.168.1.1:3128”), NULL, 0);

2) Http代理服务器需要身份验证

在上述情况1)中的代理服务器如果还需要身份验证的话,则可设定用于访问HTTP代理服务器的用户名和密码,代码如下:

InternetOpen(_T(“Custom user agent”), INTERNET_OPEN_TYPE_PROXY, _T(“http://192.168.1.1:3128”), NULL, 0);

InternetSetOption(hInternet, INTERNET_OPTION_PROXY_USERNAME, _T(“UserName”), _tcslen(_T(“UserName”));

InternetSetOption(hInternet, INTERNET_OPTION_PROXY_PASSWORD, _T(“Password”), _tcslen(_T(“Password”));

3) 有时为了方便用户,可能会提供”使用浏览器配置”的选项。在这个选项下,无需让用户手动输入代理服务器的各项配置信息,直接采用浏览器(通常是IE)的代理设置,这样用户只需在浏览器中设置是否采用代理就可以了。方法很简单,使用参数INTERNET_OPEN_TYPE_PRECONFIG即可。代码如下:

InternetOpen(_T(“Custom user agent”), INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);

4) 最后一种情况,不使用手动指定HTTP代理,也不使用浏览器设置,直连互联网。使用参数INTERNET_OPEN_TYPE_DIRECT。代码如下:

InternetOpen(_T(“Custom user agent”), INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);

以上,我们实现了几种不同的接入HTTP服务器的方法。有关WinINet库的详细使用方法请参阅MSDN文档。

另外,有关INTERNET_OPTION开头的几个选项是实现代理访问的关键,具体含义请直接在MSDN中查询InternetOpen函数的描述。

实战经验:使用WinINet库访问HTTP代理服务器

相关阅读

  • 你可能不知道的cookie-cookies设置

  • 上犹设置问题
  • cookies设置,大家都了解的cookie很多前端面试题都会考察cookie 大家一般都能答上的几个点:不能跨域存储空间有限,4KB通过document.cookieAPI进行get和setcookie与其他本地存储的区别大小不同,
关键词不能为空
极力推荐

电脑蓝屏_电脑怎么了_win7问题_win10问题_设置问题_文件问题_上犹电脑信息网

关于我们