我正在使用经典 asp 页面中的 Microsoft.XMLHTTP 将信息发布到另一个站点...
我希望能够检查 fiddler 的情况,为此我必须找到一种方法来配置 Microsoft.XMLHTTP 以使用代理...
是否可以? Microsoft.XMLHTTP 从哪里获取其配置?
多谢
最佳答案
我认为这里有些事情需要澄清。
ProgID“Microsoft.XMLHTTP”指向与“MSXML2.XMLHTTP”相同的类。此类使用 Internet Explorer 使用的 WinINET HTTP 协议(protocol)栈,因此将使用在 PC 的 Internet 设置中找到的任何代理配置。
因此,对于“Microsoft.XMLHTTP”,proxycfg 命令没有用。
XMLHTTP 的替代方法是“MSXML2.ServerXMLHTTP”。此类使用 WinHTTP HTTP 协议(protocol)栈,该协议(protocol)栈被设计为轻量级和服务器友好型。在 WinINET 不是的同一进程中,在多个线程中使用多个实例是安全的。由于这个原因,在服务器端 ASP 代码中应该使用 ServerXMLHTTP。
WinHTTP 不使用 WinINET 使用的 Internet 设置,因此要配置 ServerXMLHTTP 将使用的代理,您需要使用 proxycfg 命令。一个非常有用的命令是:-
proxycfg -u
它将当前 WinINET 代理设置复制到 WinHTTP 使用的设置,如果您使用 fiddler 之类的工具,这对于在 fiddler 启动后开始监视通过 WinHTTP 的流量很有用。 (请注意您使用
proxycfg -d
来删除代理设置)。ServerXMLHTTP 也有一个
setProxy
允许动态配置实际代理设置的方法是代码。
关于asp-classic - 如何使用 Microsoft.XMLHTTP 指定代理配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1041886/