从PAC文件获取数据

时间:2010-10-06 12:08:14

标签: c# .net web

是否可以从.Net Windows应用程序执行PAC文件中的Javascript以返回代理服务器?

1 个答案:

答案 0 :(得分:2)

由于proxy auto-config file只是一个JavaScript源文件,并且您需要在其中调用方法,因此您可以使用JScript .NET编译器(通过JScriptCodeProvider提供代码)和/或口译员(通过JScriptEvaluate)。

编译器:这是compile JScript .NET code to a class, and then call a method on that class的示例代码,可能非常适合您所寻找的内容。请注意,它使用Reflection,因此如果您处于像ASP.NET这样的部分信任环境中,它可能会给您带来麻烦。我不确定这种访问是否需要Reflection,或者它是否仅仅是一个实现细节;如果这对你来说是一个问题,你可以进一步研究它,或者你可以改用解释器。

口译员:这是interprets JScript code using Microsoft.JScript.Eval.JScriptEvaluate的一个例子。由于您的PAC文件正在定义一个或多个函数,因此它不会返回任何有用的内容。您需要在末尾添加一行,使用您想要的参数调用FindProxyForURL;那么你可以评估整个字符串并得到你的结果。或者你可以评估PAC文件,这将声明该函数,然后你可以评估对该函数的调用(我没有使用JScriptEvaluate所以我不知道全局变量是否从一个调用转移到下一个)。