PAC代理文件中myIpAddress()函数的使用

  • warning: call_user_func_array() expects parameter 1 to be a valid callback, function '_imagecache_menu_access_public_files' not found or invalid function name in /var/www/drupal-6.28/includes/menu.inc on line 454.
  • warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'views_access' not found or invalid function name in /var/www/drupal-6.28/includes/menu.inc on line 454.
  • warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'views_access' not found or invalid function name in /var/www/drupal-6.28/includes/menu.inc on line 454.
  • warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'views_access' not found or invalid function name in /var/www/drupal-6.28/includes/menu.inc on line 454.

Truevue在前面的博文中有详细介绍了PAC自动代理脚本的应用以及如何写PAC代理脚本。提到过函数myIpAddress(),可以根据IP地址的变化来自动使用代理。这样就方便使用VPN,或者使用笔记本电脑的,比如我在单位和家经常要切换代理。

myIpAddress函数可以得到自身的IP地址,然后我们可以根据IP地址在PAC文件中进行配置。

可以使用下面的匹配进行判断:

if(shExpMatch(myIpAddress(), "*135.36.*") ) {
  ......
} else {
 ......
}

建议不要使用isInNet(),因为myIpAddress()有肯能会返回的是IPv6格式的IP地址,就会使得匹配失败。