2010-10-06 58 views
3

是否可以通過.Net Windows應用程序在PAC文件中執行Javascript以返回代理服務器?從PAC文件獲取數據

+0

你是什麼意思返回代理服務器? – 2010-10-06 12:19:46

+0

糾正我,如果我錯了(這是非常可能的),但不PAC文件包含JavaScript函數,將返回類似這樣的:「PROXY proxy1.example.com:8080; PROXY proxy2.example.com: 8080" ? – Ben 2010-10-06 12:23:28

回答

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,所以我不知道全局變量是否從一個調用繼續到下一個調用)。