msxml4.0 sp4
Old news, but it matters to some. If you're using MSXML4 and you get this while doing a POST:
旧消息,但这对某些人很重要。 如果您使用的是MSXML4,并且在执行POST时得到此信息:
msxml4.dll error '80072efd' A connection with the server could not be established
msxml4.dll错误'80072efd' 无法建立与服务器的连接
It might be because of the tightened security around MSXML 4.0 SP2.
可能是由于围绕MSXML 4.0 SP2加强了安全性。
The docs say:
文档说:
"Security in the implementation of the MSXML 4.0 SP2 ServerXmlHttp object has been enhanced to check the Internet Explorer security policy setting for submitting non-encrypted form data. A security policy setting of "Disable" or "Prompt" for the "Submit nonencrypted form data" option will result in an "Access Denied" error message when attempting to post form data using the ServerXmlHttp object. This is a change that can potentially break existing code that uses earlier versions of the ServerXmlHttp object (such as prior released versions of both MSXML 3.0 and MSXML 4.0) to post form data when the Internet Explorer security policy setting for submitting non-encrypted form data is not enabled."
“已增强了MSXML 4.0 SP2 ServerXmlHttp对象的实现中的安全性,以检查Internet Explorer安全策略设置以提交未加密的表单数据。对于“提交未加密的表单数据,安全策略设置为”禁用”或“提示”尝试使用ServerXmlHttp对象发布表单数据时,“选项将导致”访问被拒绝“错误消息。此更改可能会破坏使用ServerXmlHttp对象的早期版本(例如两个MSXML的先前发行版本)的现有代码。 3.0和MSXML 4.0)在未启用用于提交未加密表单数据的Internet Explorer安全策略设置时发布表单数据。”
This might happen if you have an existing application running on, say, Windows 2000, then you upgrade the machine to Window 2003 and get the new MSXML "for free." Remember - know the application stack, the whole stack if you can. The OS is part of the stack, and in this case, XML is too.
如果您有一个运行在Windows 2000上的现有应用程序,则可能会发生这种情况,然后将计算机升级到Window 2003并“免费”获得新的MSXML。 记住-如果可以的话,了解应用程序堆栈,整个堆栈。 操作系统是堆栈的一部分,在这种情况下,XML也是。
翻译自: https://www.hanselman.com/blog/security-in-msxml4-and-80072efd
msxml4.0 sp4